Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
Search song lyrics on lyrics.com by word or by title, and fetch full lyrics. No API key required.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
LYRICSCOM_USER_AGENT, LYRICSCOM_MIN_INTERVAL_MS, LYRICSCOM_LOG_LEVELYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
claude mcp add lyricscom --env LYRICSCOM_USER_AGENT=your-value --env LYRICSCOM_MIN_INTERVAL_MS=your-value --env LYRICSCOM_LOG_LEVEL=your-value -- npx -y mcp-lyricscomFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"lyricscom": {
"command": "npx",
"args": [
"-y",
"mcp-lyricscom"
],
"env": {
"LYRICSCOM_USER_AGENT": "your-value",
"LYRICSCOM_MIN_INTERVAL_MS": "your-value",
"LYRICSCOM_LOG_LEVEL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"lyricscom": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-lyricscom"
],
"env": {
"LYRICSCOM_USER_AGENT": "your-value",
"LYRICSCOM_MIN_INTERVAL_MS": "your-value",
"LYRICSCOM_LOG_LEVEL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
LYRICSCOM_USER_AGENT envLYRICSCOM_MIN_INTERVAL_MS envLYRICSCOM_LOG_LEVEL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account smeet666, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (2.1.0) reached the registry 8 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js, MCPB on your computer.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
lyrics.com is a large public catalogue of song lyrics. It files a song under its title, its artist, the album it appeared on and the year, and it holds the words themselves. Its search reaches inside those words.
This server connects a chat client to that catalogue. You can search for a song by a line you remember, search by title and artist, and read the words of one song, a slice at a time, with the words you were looking for located in the text. It needs no API key and no account.
_Version française_
One-click install
Claude Code
claude mcp add lyricscom -- npx -y mcp-lyricscom
Claude Desktop, Cursor, and any client using the standard config format
{
"mcpServers": { "lyricscom": { "command": "npx", "args": ["-y", "mcp-lyricscom"] } } }
Node 24 or later is required, and no environment variable has to be set.
{
"mcpServers": { "lyricscom": { "command": "docker", "args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-lyricscom:2.1.0"] } } }
-i keeps stdin open, which is where the protocol travels, and -t is left out because a TTY rewrites the stream. The container needs outbound HTTPS to www.lyrics.com, and nothing else: no volume, no port, no credential.
Download mcp-lyricscom-2.1.0.mcpb from the latest release and open it. A client that supports MCP bundles installs it on its own, with no npm and no configuration file to edit. The bundle carries its dependencies, so nothing is fetched at install time.
The ordinary path runs from a search to a reading: a row carries an id, and get_lyrics takes that id.
| Tool | What it does |
|---|---|
search_lyrics | Finds a song from a line inside its words. |
search_songs | Finds songs by title, narrowed by artist. |
get_lyrics | Reads the words of one song, a slice at a time. |
search_lyricsFinds a song from words inside its lyrics. The site ranks loosely, so a match is checked before it is served.
| Argument | Type | Required | What it does |
|---|---|---|---|
query | string, 1 to 120 characters | yes | The line, or part of it, to look for. |
limit | integer, 1 to 50, default 10 | no | Rows to serve. |
page | integer, 1 to 20, default 1 | no | Which page of rows. |
verify | snippet, full or none, default snippet | no | How to confirm the words really appear. |
include_excerpt | boolean, default true | no | Carry the matching line with each row. |
verify decides what a row is worth. snippet checks the excerpt the site already returned and costs nothing. full fetches up to five song pages and checks the complete words, which is slow and can bring on rate limiting. none serves what the site ranked, unchecked.
In return: rows carrying id, which get_lyrics takes; title; artist; album and year, null where the catalogue states none; source_url; and excerpt, the matching line. raw_result_count is what the site returned and filtered_out how many rows the check removed, so the two together say how loose the ranking was. has_more and next_page continue.
search_songsFinds songs by title, narrowed by artist.
| Argument | Type | Required | What it does |
|---|---|---|---|
title | string, 1 to 120 characters | yes | The song title, or part of it. |
artist | string, up to 120 characters | no | Keep the songs credited to this artist. |
limit | integer, 1 to 50, default 10 | no | Rows to serve. |
page | integer, 1 to 20, default 1 | no | Which page of rows. |
match | loose or strict, default loose | no | How closely the artist has to match. |
In return: the rows search_lyrics returns, with artist_filter echoing what was asked for and filtered_out counting what the artist restriction removed. strict keeps the artists whose name matches as written; loose accepts a name written differently.
get_lyricsReads the words of one song. Long lyrics are served a slice at a time.
| Argument | Type | Required | What it does |
|---|---|---|---|
id | string | one of two | The song id a search row carries. |
url | a lyrics.com URL | one of two | The address of the song page. |
max_chars | integer, 200 to 20000, default 6000 | no | Characters of text to serve in this call. |
offset | integer, 0 or more, default 0 | no | Character offset to resume from. |
highlight | string, up to 120 characters | no | Words to locate inside the text. |
In return: status, reading ok or no_lyrics for a page the site holds without words; title, artist and source_url; and lyrics, the slice itself. The reading is described by total_chars, returned_chars, offset, next_offset and truncated: pass next_offset back to read on, and null there means the end. line_count counts the lines of the slice, and highlight answers for each word whether it was found and on which line_number, which is null when it was not.
Every variable is optional. Set them in the env block of your client config.
| Variable | Default | What it does |
|---|---|---|
LYRICSCOM_USER_AGENT | the project identity | Names your application to the site, with an address where a person can be reached. |
LYRICSCOM_MIN_INTERVAL_MS | 1100 | Gap between two requests, from 500 to 60000. |
LYRICSCOM_TIMEOUT_MS | 15000 | Deadline for one request, from 1000 to 120000. |
LYRICSCOM_MAX_RETRIES | 3 | Attempts after a transient failure, from 0 to 10. |
LYRICSCOM_CACHE_TTL_MS | 900000 | How long an answer stays in memory, from 0 to 86400000. |
LYRICSCOM_CACHE_MAX_ENTRIES | 200 | Answers held in memory at once, from 0 to 10000. |
LYRICSCOM_LOG_LEVEL | error | silent, error, info or debug, written to stderr. |
A value outside its range falls back to the default, and the reason is written to stderr.
On the User-Agent. This server names the project and links to its repository, and the site serves that. It does refuse some generic tool agents outright: a plain curl gets a 403. A blocked_user_agent error means the identity was refused, and LYRICSCOM_USER_AGENT lets you set one of your choosing. What you put there is your call and your responsibility.
Every failure carries one of these codes, a message, and where it helps a hint naming the next move.
| Code | What happened | What to do |
|---|---|---|
not_found | The site answered, and holds no such song. | Check the id with search_songs. |
invalid_input | The arguments were refused before any request went out. | Read the message, which names the argument. |
throttled | The site asked this client to slow down. | Wait, then call again with the same arguments. The song is still there. |
blocked_user_agent | The site refused the identity this client sent. | Set LYRICSCOM_USER_AGENT. |
parse_failure | The page loaded and the expected content was absent. | Report it at the issue tracker. |
network_error | The request did not complete. | Try again shortly. |
timeout | The request passed its deadline. | Raise LYRICSCOM_TIMEOUT_MS, or ask for a smaller max_chars. |
throttled and
Only the beginning is shown; read the rest in the repo