# Connect your app Add the GrooveSheet MCP server to Claude, ChatGPT, Grok, Gemini, Claude Code, Cursor or VS Code. Start with the address that needs no sign-in: ``` https://api.groovesheet.net/mcp/public ``` It searches the library and returns sheet music, MIDI and stem links. To also transcribe your own songs and check your minutes, use `https://api.groovesheet.net/mcp` instead: the first time a tool needs your account, the app opens groovesheet.net, where you sign in and click **Allow**. ## Claude [#claude] Settings → Connectors → **Add custom connector**. Name it GrooveSheet, paste the address, then **Add**. Then ask: "Find drum sheet music for Dynamite by BTS." ## ChatGPT [#chatgpt] Settings → Apps → Advanced settings → turn on **Developer mode**. Create an app named GrooveSheet with the address. Authentication: **No authentication** for `/mcp/public`, **OAuth** for `/mcp`. ## Grok [#grok] [grok.com/connectors](https://grok.com/connectors) → New Connector → Custom. Paste the address. Needs a paid plan. ## Gemini CLI [#gemini-cli] In `settings.json`: ```json { "mcpServers": { "groovesheet": { "httpUrl": "https://api.groovesheet.net/mcp/public" } } } ``` ## Claude Code [#claude-code] ```bash claude mcp add --transport http groovesheet https://api.groovesheet.net/mcp/public ``` ## Cursor [#cursor] In `~/.cursor/mcp.json`: ```json { "mcpServers": { "groovesheet": { "url": "https://api.groovesheet.net/mcp/public" } } } ``` ## VS Code [#vs-code] In `.vscode/mcp.json`: ```json { "servers": { "groovesheet": { "type": "http", "url": "https://api.groovesheet.net/mcp/public" } } } ``` Swap in `https://api.groovesheet.net/mcp` in any of these to sign in and get every tool. ## Any other client [#any-other-client] Streamable HTTP. `/mcp/public` needs nothing else. `/mcp` uses OAuth 2.1 with dynamic client registration. Protected-resource metadata is at `https://api.groovesheet.net/.well-known/oauth-protected-resource`. # FAQ Sign-in, pricing, limits, privacy, the REST API and troubleshooting for the GrooveSheet MCP server. ## What can a connected app do? [#what-can-a-connected-app-do] Search the library, see your plan, minutes and transcriptions, and make upload links. It cannot spend minutes, buy anything, or change or delete your account. Remove the connector in the app to disconnect. ## What does it cost? [#what-does-it-cost] Connecting and the library are free. Your own songs use the same minutes as the site, only when you unlock a full song on groovesheet.net. See [pricing](/pricing). ## Are there limits? [#are-there-limits] Requests are rate-limited. If you hit a limit the tool says so; wait a minute and retry. ## What does GrooveSheet record? [#what-does-groovesheet-record] Which tool ran, which app called it, whether it worked and its arguments. Never your conversation. Details: [privacy policy](/privacy-policy), section 11. ## Is there a REST API? [#is-there-a-rest-api] In private beta. Email [support@groovesheet.net](mailto:support@groovesheet.net) with what you are building. ## My app cannot connect [#my-app-cannot-connect] Use exactly `https://api.groovesheet.net/mcp`, with no trailing slash. ## Only the library tools show up [#only-the-library-tools-show-up] You connected `/mcp/public`. Switch to `/mcp` and sign in. ## The upload link does not work [#the-upload-link-does-not-work] It was made in a different GrooveSheet account, or it was already used. Ask for a new one. # GrooveSheet MCP server Connect Claude, ChatGPT, Grok or any MCP client to GrooveSheet's sheet music library and to your account. GrooveSheet runs a remote [Model Context Protocol](https://modelcontextprotocol.io) server. Add it to an AI app and the app can find sheet music, MIDI and stems in the GrooveSheet library, and transcribe your own songs. ## Addresses [#addresses] | Address | Sign-in | Tools | | --- | --- | --- | | `https://api.groovesheet.net/mcp/public` | None | The 3 library tools | | `https://api.groovesheet.net/mcp` | Your GrooveSheet account (OAuth 2.1) | All 8 | Transport: Streamable HTTP. Registry name: `net.groovesheet/mcp` in the [official MCP Registry](https://registry.modelcontextprotocol.io). ## Quickstart [#quickstart] ```bash claude mcp add --transport http groovesheet https://api.groovesheet.net/mcp/public ``` No sign-in needed. Use `/mcp` instead to also transcribe your own songs. Then ask: "Find drum sheet music for Easy On Me by Adele." Other apps: see [Connect your app](/developers/docs/connect). ## Rules [#rules] - Connecting and the library are free. - No tool spends minutes or buys anything. Uploads and purchases happen on groovesheet.net, by the user. - Which parts of a song are scored varies by song. Always go by `get_song`. ## For agents [#for-agents] - Index of these docs: [/developers/docs/llms.txt](/developers/docs/llms.txt) - Every page in one file: [/developers/docs/llms-full.txt](/developers/docs/llms-full.txt) - Any page as Markdown: add `.md`, for example [/developers/docs/tools.md](/developers/docs/tools.md) # Tools The eight GrooveSheet MCP tools, their arguments and what they return. Every tool except `create_upload_link` is read-only. ## Library (no sign-in) [#library-no-sign-in] | Tool | Arguments | Returns | | --- | --- | --- | | `search_songs` | `query`, `instrument?`, `format?`, `page?` | Up to 10 songs: id, title, artist, parts, song page URL. `format` is `sheet`, `midi` or `stems`. | | `get_song` | `track_id` | Every part labelled `sheet_music`, `midi_only` or `audio_only`, with page links. | | `get_download_links` | `track_id`, `instrument` | Song page and sheet music page for one part. | ## Your account (sign-in) [#your-account-sign-in] | Tool | Arguments | Returns | | --- | --- | --- | | `get_account` | none | Plan and minutes left. | | `create_upload_link` | `task` | A one-time link to upload a song. See [Upload links](/developers/docs/uploads). | | `get_upload_status` | `code` | `waiting_for_upload`, `processing`, `preview_ready`, `completed`, `failed` or `expired`, plus the result link. | | `list_my_jobs` | `limit?` | Recent transcriptions, newest first. | | `get_job` | `job_id` | Status and result, PDF and Guitar Pro links. | ## Notation [#notation] Only `sheet_music` parts have a score, PDF and Guitar Pro file. Never call a `midi_only` part sheet music. Reading a score and playing the parts need no account. Every download (PDF, Guitar Pro, stems, MIDI, MusicXML) needs a free account on the song page. # Upload links How create_upload_link lets a user transcribe their own song, and the tasks it accepts. AI apps cannot pass audio files to tools, so uploads happen on groovesheet.net: 1. Call `create_upload_link` with a `task`. Give the user the returned `url`. 2. The user uploads there and gets a free preview. Only they can unlock the full song. 3. Call `get_upload_status` with the `code` until it is `preview_ready` or `completed`. Links work once, belong to the account that made them and expire after 24 hours. ## Tasks [#tasks] | `task` | Result | | --- | --- | | `drums` | Drum sheet music, MIDI and stem | | `piano` | Piano sheet music and MIDI | | `guitar` | Guitar sheet music with TAB, and MIDI | | `bass` | Bass sheet music and MIDI | | `chords` | Chord chart from the full mix | | `stems` | Every part as separate audio | | `drums_midi` | Drum MIDI only | | `piano_midi` | Piano MIDI only |