Flat MCP server
Using ChatGPT or Claude?
You do not need this page. Follow the step-by-step guides in the help center: ChatGPT, Claude, or what your assistant can do with Flat.
Flat runs a remote Model Context Protocol (MCP) server, so AI assistants and agents can work with the sheet music in a Flat account: search the customer's scores and collections, read their details and notation, and create new scores.
https://mcp.flat.io/mcpAdd this URL to your assistant. The first time it connects, it sends you to Flat to sign in and approve the access.
Connect your assistant
Claude and ChatGPT
- Claude (claude.ai and the desktop app): open Settings > Connectors, click Add then Add custom connector, and paste the URL. Keep the detected sign-in options and click Add, then Connect. Step-by-step guide with screenshots.
- ChatGPT: open chatgpt.com/plugins, click Add then Add custom MCP server, paste the URL and choose OAuth. Works on every ChatGPT plan, including the free one. Step-by-step guide with screenshots.
Coding assistants and editors
Run the command or add the configuration below. The client opens Flat's sign-in page in your browser the first time it connects.
bash
claude mcp add --transport http flat https://mcp.flat.io/mcpbash
codex mcp add flat --url https://mcp.flat.io/mcp
codex mcp login flatbash
gemini mcp add --transport http --scope user flat https://mcp.flat.io/mcpjsonc
// ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project)
{
"mcpServers": {
"flat": {
"url": "https://mcp.flat.io/mcp"
}
}
}jsonc
// .vscode/mcp.json, or "MCP: Open User Configuration" for every project
{
"servers": {
"flat": {
"type": "http",
"url": "https://mcp.flat.io/mcp"
}
}
}Any other client that supports remote MCP servers with OAuth works the same way: give it the URL.
At a glance
- Endpoint:
https://mcp.flat.io/mcp - Transport: Streamable HTTP, stateless (no SSE endpoint)
- Authorization: OAuth 2.1 with PKCE (
S256), single scopemcp. See Authorization - Client registration: Client ID Metadata Documents (preferred) or Dynamic Client Registration
- Tools:
search,score_get,score_export,score_create. See Tools - Who can connect: Flat accounts with an active Flat Power subscription
There is no API key or personal token for the MCP server: every connection goes through Flat's OAuth consent screen, where the customer approves the client by name.
Requirements
- Remote MCP over HTTP. Clients connect to
https://mcp.flat.io/mcpdirectly; there is nothing to install. - OAuth sign-in. The client must support the MCP authorization flow (protected resource metadata, PKCE). Clients that only accept a static token or a password cannot connect.
- An eligible Flat account. Connecting requires an active Flat Power subscription. Flat for Education accounts cannot connect yet. Eligibility is checked at consent and again on every request, so a lapsed subscription stops access on the next call.
What a connected client can do
| Tool | Access | What it does |
|---|---|---|
search | Read | Search the customer's own scores and collections |
score_get | Read | Get one score's metadata: title, composer, instruments, duration, link |
score_export | Read | Get a score's notation as MusicXML, compressed MusicXML or MIDI |
score_create | Write | Create a new private score from MusicXML, MIDI, ABC, MuseScore or Guitar Pro |
The server never edits or deletes an existing score, and never makes a score public: transposing or arranging produces a new score. Scores outside the customer's account are not reachable. Full schemas are on the Tools page.
Recognized clients
Flat recognizes ChatGPT, Claude and Visual Studio Code. The consent screen shows them with their name and logo, marked as recognized by Flat. Any other client is shown with the name it declares and how much Flat could verify about it; see Consent screen.
You stay in control
- You approve each assistant once, in Flat. The consent screen names the app asking for access and the single permission it needs. Nothing is shared until you click Allow access.
- Your assistant reads and creates, nothing more. It cannot edit or delete an existing score, publish or share one, or change your account.
- You can revoke access at any time from your account settings, under Link external accounts and apps. Revoking deletes every token Flat issued to that assistant, and its next request fails.
Support
Questions or problems with the MCP server: developers@flat.io.