Koskamo

Zovo Chord Chart Maker MCP

Generates printable PDF chord diagrams for guitar, ukulele, and piano from chord lists or pasted sheets. Features include note-by-note shape verification, transposition, capo shapes, left-handed mirroring, and configurable page layouts.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Zovo Chord Chart Maker MCP logo, by ZovoCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-08Published by Zovo
MCP endpoint (Streamable HTTP)
https://chord-charts.zovo.one/mcp
Vendor documentation

What its tools do

2 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

2 of 2 have a description · 2 of 2 declare behavior hints · 2 of 2 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Generate printable guitar chord charts
  • Create ukulele chord diagrams
  • Produce piano keyboard chord visuals
  • Transpose songs and add capo shapes

Source and maintenance

Community listingRegistry 1.0.0

Protocol and capabilities

Server
chord-charts 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
2 advertised
Resources
1 advertised
Resource templates
1 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Zovo Chord Chart Maker makes printable chord diagram PDFs for guitar (standard tuning), ukulele (G C E A) and piano. Pass the chords as a list (convert a pasted song or a photo of a chord sheet into chord names); use chord_sheet only for raw pasted text. Optional transpose, capo (or capo "auto"), left-handed diagrams and 6, 12 or 24 diagrams per page. Guitar and ukulele shapes are checked note by note.

Tools

2 advertised

generate_chord_chart — Generate chord chart
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when the user wants a guitar chord chart printable, a ukulele chord chart, a piano chord chart, or chord diagrams for a song. Convert a pasted song or an uploaded photo of a chord sheet into the chords list (chord names like G, Em, F#m7, C/E); use chord_sheet only to pass raw pasted text. Draws one diagram per different chord as a print-ready PDF (US Letter or A4, 6, 12 or 24 per page) for guitar in standard tuning, ukulele (G C E A) or piano, with optional transpose, capo (or "auto"), and left-handed diagrams. Guitar and ukulele shapes are checked by their notes. Does not do alternate tunings, bass, tabs or notation.

generate_chord_chart input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "capo": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Guitar or ukulele capo fret 0-9, or \"auto\" to pick the capo with the easiest open shapes. Default 0. A \"Capo 2\" line in chord_sheet is read too."
    },
    "paper": {
      "type": "string",
      "maxLength": 20,
      "description": "letter (US Letter, default) or a4."
    },
    "title": {
      "type": "string",
      "maxLength": 120,
      "description": "Heading printed on the sheet, e.g. the song name \"Wonderwall\" or \"Beginner chords\". Default \"Chord chart\"."
    },
    "chords": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 40
      },
      "maxItems": 500,
      "description": "Chord names, one per item, e.g. [\"G\", \"Em\", \"C\", \"D7\", \"F#m7b5\", \"C/E\"]. Convert a pasted song or a photo of a chord sheet into this list of the chords it uses. Repeats are drawn once. Up to 64 different chords."
    },
    "to_key": {
      "type": "string",
      "maxLength": 12,
      "description": "Transpose to this key instead of giving semitones, e.g. G or Bbm. The original key is from_key, a Key: line in the sheet, or the first chord."
    },
    "from_key": {
      "type": "string",
      "maxLength": 12,
      "description": "The song's current key when to_key is used, e.g. E. Optional."
    },
    "per_page": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Diagrams per page: 6, 12 (default) or 24."
    },
    "capo_mode": {
      "type": "string",
      "maxLength": 20,
      "description": "How chord names relate to the capo: \"shapes\" (default with a capo number) means the names are the shapes you finger, as chord sheets that say \"Capo 2\" write them; each diagram says which chord sounds. \"sounding\" means the names are the chords that should sound, and the tool finds the shapes to play with the capo (used for capo \"auto\")."
    },
    "instrument": {
      "type": "string",
      "maxLength": 40,
      "description": "guitar (standard tuning E A D G B E, default), ukulele (G C E A) or piano (keyboard diagrams). Several, e.g. \"guitar and ukulele\", give one PDF with each instrument on its own pages."
    },
    "chord_sheet": {
      "type": "string",
      "maxLength": 20000,
      "description": "Fallback: a pasted chord sheet (chords over lyrics, or inline [Am] chords). Every chord in it is drawn once, in order of first use. Example: \"G      Em\\nHello my friend\\nC      D\\nHow are you\"."
    },
    "left_handed": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "maxLength": 10
        }
      ],
      "description": "true for mirrored left-handed diagrams (low string on the right). Default false."
    },
    "shapes_per_chord": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "How many positions to draw per chord, 1 (default) to 4, lowest on the neck first."
    },
    "show_finger_numbers": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "maxLength": 10
        }
      ],
      "description": "Print finger numbers in the dots (default true)."
    },
    "transpose_semitones": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Shift every chord up (positive) or down (negative) by this many semitones before drawing, e.g. 2 or -3. Default 0."
    }
  }
}
generate_chord_chart output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "title",
    "instrument",
    "tuning",
    "capo",
    "transpose_semitones",
    "left_handed",
    "per_page",
    "paper",
    "pages",
    "chord_count",
    "diagram_count",
    "diagrams",
    "skipped",
    "notes",
    "downloads"
  ],
  "properties": {
    "capo": {
      "type": "number"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "pages": {
      "type": "number"
    },
    "paper": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "tuning": {
      "type": "string"
    },
    "skipped": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "input",
          "reason"
        ],
        "properties": {
          "input": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "diagrams": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "verified"
        ],
        "properties": {
          "keys": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "frets": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "barres": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "fingers": {
            "type": "string"
          },
          "position": {
            "type": "number"
          },
          "shape_of": {
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          },
          "base_fret": {
            "type": "number"
          },
          "sounds_as": {
            "type": "string"
          },
          "instrument": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "per_page": {
      "type": "number"
    },
    "downloads": {
      "type": "object",
      "required": [
        "pdf"
      ],
      "properties": {
        "pdf": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "instrument": {
      "type": "string"
    },
    "chord_count": {
      "type": "number"
    },
    "left_handed": {
      "type": "boolean"
    },
    "diagram_count": {
      "type": "number"
    },
    "diagrams_shown": {
      "type": "object",
      "required": [
        "shown",
        "total"
      ],
      "properties": {
        "shown": {
          "type": "number"
        },
        "total": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "transpose_semitones": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
generate_chord_chart annotations
{
  "title": "Generate chord chart",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_chord_fingerings — Find chord fingerings
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when the user asks how to play a chord on guitar, ukulele or piano ("how do I play F#m7b5 on ukulele", "easier way to play F"). Pass the chord names in chords. Returns up to 4 positions per chord (default 3), lowest on the neck first, with the frets, finger numbers and the note on each string, checked note by note, plus a PDF of the diagrams. For a whole song sheet use generate_chord_chart. Does not do alternate tunings or bass.

find_chord_fingerings input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "capo": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Guitar or ukulele capo fret 0-9, or \"auto\" for the easiest open shapes. Default 0."
    },
    "paper": {
      "type": "string",
      "maxLength": 20,
      "description": "letter (US Letter, default) or a4."
    },
    "title": {
      "type": "string",
      "maxLength": 120,
      "description": "Heading printed on the sheet, e.g. the song name \"Wonderwall\" or \"Beginner chords\". Default \"Chord chart\"."
    },
    "chords": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 40
      },
      "maxItems": 500,
      "description": "Chord names, one per item, e.g. [\"G\", \"Em\", \"C\", \"D7\", \"F#m7b5\", \"C/E\"]. Convert a pasted song or a photo of a chord sheet into this list of the chords it uses. Repeats are drawn once. Up to 64 different chords."
    },
    "capo_mode": {
      "type": "string",
      "maxLength": 20,
      "description": "How chord names relate to the capo: \"shapes\" (default with a capo number) means the names are the shapes you finger, as chord sheets that say \"Capo 2\" write them; each diagram says which chord sounds. \"sounding\" means the names are the chords that should sound, and the tool finds the shapes to play with the capo (used for capo \"auto\")."
    },
    "instrument": {
      "type": "string",
      "maxLength": 40,
      "description": "guitar (standard tuning E A D G B E, default), ukulele (G C E A) or piano (keyboard diagrams). Several, e.g. \"guitar and ukulele\", give one PDF with each instrument on its own pages."
    },
    "left_handed": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "maxLength": 10
        }
      ],
      "description": "true for mirrored left-handed diagrams (low string on the right). Default false."
    },
    "shapes_per_chord": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Positions per chord, 1 to 4 (default 3)."
    }
  }
}
find_chord_fingerings output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "title",
    "instrument",
    "tuning",
    "capo",
    "transpose_semitones",
    "left_handed",
    "per_page",
    "paper",
    "pages",
    "chord_count",
    "diagram_count",
    "diagrams",
    "skipped",
    "notes",
    "downloads"
  ],
  "properties": {
    "capo": {
      "type": "number"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "pages": {
      "type": "number"
    },
    "paper": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "tuning": {
      "type": "string"
    },
    "skipped": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "input",
          "reason"
        ],
        "properties": {
          "input": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "diagrams": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "verified"
        ],
        "properties": {
          "keys": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "frets": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "barres": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "fingers": {
            "type": "string"
          },
          "position": {
            "type": "number"
          },
          "shape_of": {
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          },
          "base_fret": {
            "type": "number"
          },
          "sounds_as": {
            "type": "string"
          },
          "instrument": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "per_page": {
      "type": "number"
    },
    "downloads": {
      "type": "object",
      "required": [
        "pdf"
      ],
      "properties": {
        "pdf": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "instrument": {
      "type": "string"
    },
    "chord_count": {
      "type": "number"
    },
    "left_handed": {
      "type": "boolean"
    },
    "diagram_count": {
      "type": "number"
    },
    "diagrams_shown": {
      "type": "object",
      "required": [
        "shown",
        "total"
      ],
      "properties": {
        "shown": {
          "type": "number"
        },
        "total": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "transpose_semitones": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
find_chord_fingerings annotations
{
  "title": "Find chord fingerings",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

chord-charts-widget — Zovo Chord Chart Maker view

Advertised by the server during the last successful anonymous check.

Interactive view for Zovo Chord Chart Maker.

chord-charts-widget URI
ui://widget/chord-charts-v4-1.0.0-6a77bb6c5e3fb2902da45d952af2475c9de052bc43d7903c6b03d275e66e987d.html

MIME type: text/html;profile=mcp-app

chord-charts-widget-legacy — Zovo Chord Chart Maker view (previous versions)

Advertised by the server during the last successful anonymous check.

chord-charts-widget-legacy URI template
ui://widget/chord-charts-{version}.html

MIME type: text/html;profile=mcp-app

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
371 ms
95th percentile latency
371 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 371 ms · metadata changed · 2 tool(s), 1 resource(s), 1 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http zovo-chord-chart-maker-mcp https://chord-charts.zovo.one/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add zovo-chord-chart-maker-mcp --url https://chord-charts.zovo.one/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable zovo-chord-chart-maker-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "zovo-chord-chart-maker-mcp": {
      "url": "https://chord-charts.zovo.one/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "zovo-chord-chart-maker-mcp": {
      "type": "streamableHttp",
      "url": "https://chord-charts.zovo.one/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start zovo-chord-chart-maker-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "zovo-chord-chart-maker-mcp": {
      "type": "http",
      "url": "https://chord-charts.zovo.one/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http zovo-chord-chart-maker-mcp https://chord-charts.zovo.one/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://chord-charts.zovo.one/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "zovo-chord-chart-maker-mcp": {
      "serverUrl": "https://chord-charts.zovo.one/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Zovo Chord Chart Maker MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.