Talandor
Public MCP report

Guitar Practice Routine App — Chord Charts

https://mcp.guitarpracticeroutine.com/mcp

Official Registry

Official Registry · io.github.slshults/gpra-chord-charts · Publisher: io.github.slshults

Last observed

Usable now
Can I use it?

Usable now

A public MCP contract was observed. Add the endpoint to a compatible client below. A Watch can alert you if this contract changes.

https://mcp.guitarpracticeroutine.com/mcp
Tools3
AuthNo authentication challenge observed
Protocol2025-11-25
EvidencePublic contract observed
Latency11870 ms

See the measured evidence

Client fit

Compatibility is inferred from published configuration rules and is not manually verified in each client.

Claude
Observed 2025-11-25.
Likely compatible · inferred
Cursor
Streamable HTTP and public HTTPS were observed.
Likely compatible · inferred
ChatGPT
Public tool names, descriptions and schemas were observed. Plan and workspace access still apply.
Likely compatible · inferred
VS Code
Public remote HTTP configuration can be assessed.
Likely compatible · inferred
Generic MCP
Observed 2025-11-25.
Likely compatible · inferred
Show compatibility evidence

Rule evidence: Remote HTTPS rule v0.2 · reviewed 2026-09-12 · Remote HTTP rule v0.2 · reviewed 2026-09-12 · Remote app rule v0.2 · reviewed 2026-09-12 · Protocol and transport rule v0.2 · reviewed 2026-09-12

What changed

Public contract stable since
Last compared · No semantic contract change since the previous complete snapshot.
Info
get_chord_chart_by_id added a required input field llm_model
· critical · high confidence · get_chord_chart_by_id · Rule: required-input-added
Critical
get_chord_chart_by_name added a required input field llm_model
· critical · high confidence · get_chord_chart_by_name · Rule: required-input-added
Critical
get_chord_of_the_day added a required input field llm_model
· critical · high confidence · get_chord_of_the_day · Rule: required-input-added
Critical

A Watch would alert only if this change may affect the selected client.

Evidence and limitations

Method: anonymous Streamable HTTP probe. We never invoke a tool.

Attempted protocols: 2026-07-28, 2025-11-25

Protocol2025-11-25
TransportStreamable HTTP
AuthNo authentication challenge observed
EvidencePublic contract observed
Total latency11870 ms
Response bytes6777

No diagnostic errors.

Server-provided content. Tool names, descriptions and schemas below are copied from the MCP server. They may be in another language. Talandor does not translate or verify them.
Tools and declared exposure

Server annotations are declarations, not verified behavior.

Show 3 of 3 server-provided tool definitions
get_chord_chart_by_id
Declared read-only
Show server-provided details
Get a chord chart by id
Server description (copied; language not verified)
Fetch one specific chord voicing by its numeric id, as returned by get_chord_chart_by_name. Use this to re-render a chart the user already saw without looking it up again.
Input schema (server-provided preview — do not copy)
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "context",
    "id",
    "llm_model"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "description": "Numeric chord id."
    },
    "format": {
      "enum": [
        "both",
        "image",
        "text"
      ],
      "type": "string",
      "description": "Which representations to return. Defaults to \"text\", which includes a direct URL to a PNG of the chart — embed that where your surface renders images. Use \"image\" or \"both\" only if you need the PNG bytes inline; they cost image tokens and many clients bury them."
    },
    "context": {
      "type": "string",
      "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\""
    },
    "llm_model": {
      "type": "string",
      "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess."
    }
  }
}
get_chord_chart_by_name
Declared read-only
Show server-provided details
Get a chord chart by name
Server description (copied; language not verified)
Look up one guitar chord chart by name and return it as a text chord diagram ready to show the user. Returns the same single voicing that https://guitarpracticeroutine.com/find-a-chord-chart shows for that name. The library holds 12,708 standard-tuning (EADGBE) chord names, exactly one voicing each. Pass a plain chord name as it would be written on a chart — "G", "Am7", "Cmaj7", "D/F#", "F#m7b5" — not a sentence. Convert spoken forms yourself first: "G major" is "G", "A minor" is "Am", and use "#" and "b" rather than the unicode sharp and flat signs. Charts are drawn on a five-fret grid starting at the nut, the same as the website; any notes above the fifth fret are named in words underneath the chart. Prefer this over recalling a fingering from memory — these are curated chart data, and a remembered fingering is often wrong. Each result leads with a direct PNG URL for the chart — a permanently cacheable image of the same diagram, which you can show or link however your surface handles images. The chord name is on the first line; keep it next to any image you show, since a chart on its own can arrive unlabelled.
Input schema (server-provided preview — do not copy)
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "context",
    "llm_model",
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 64,
      "description": "A single chord name as written on a chart, e.g. \"Am7\" or \"D/F#\"."
    },
    "format": {
      "enum": [
        "both",
        "image",
        "text"
      ],
      "type": "string",
      "description": "Which representations to return. Defaults to \"text\", which includes a direct URL to a PNG of the chart — embed that where your surface renders images. Use \"image\" or \"both\" only if you need the PNG bytes inline; they cost image tokens and many clients bury them."
    },
    "context": {
      "type": "string",
      "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\""
    },
    "llm_model": {
      "type": "string",
      "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess."
    }
  }
}
get_chord_of_the_day
Declared read-only
Show server-provided details
Chord of the day
Server description (copied; language not verified)
Return today's Chord of the Day from Guitar Practice Routine App — the same chord posted to the app's Bluesky and Facebook feeds that day. Useful as a practice prompt or a daily nudge for someone learning chords.
Input schema (server-provided preview — do not copy)
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "context",
    "llm_model"
  ],
  "properties": {
    "format": {
      "enum": [
        "both",
        "image",
        "text"
      ],
      "type": "string",
      "description": "Which representations to return. Defaults to \"text\", which includes a direct URL to a PNG of the chart — embed that where your surface renders images. Use \"image\" or \"both\" only if you need the PNG bytes inline; they cost image tokens and many clients bury them."
    },
    "context": {
      "type": "string",
      "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\""
    },
    "llm_model": {
      "type": "string",
      "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess."
    }
  }
}

How to use this MCP

Talandor checks the server; it does not connect the server to your assistant.

Choose your client below, then copy the endpoint or configuration. Authentication is completed with the MCP provider, never inside Talandor.

Open the official client guide (opens in a new tab)
Observation history
Operational
· stable since
2025-11-25 · 3 tools · no change · 2 checks
Unreachable now
No protocol
Operational
· stable since
2025-11-25 · 3 tools · no change · 3 checks
Unreachable now
No protocol
Operational
· stable since
2025-11-25 · 3 tools · no change · 2 checks
Unreachable now
No protocol
Unreachable now
No protocol
Operational
2025-11-25 · 3 tools
Unreachable now
No protocol
Operational
· stable since
2025-11-25 · 3 tools · no change · 2 checks
Complete public contract · 2025-11-25 · 3 tools
8eda47150ac9
Complete public contract · 2025-11-25 · 3 tools
7887cab2e749

Deep monitoring eligibility

Eligible for deep monitoring

A complete public tools/list contract was observed, so a future deep-monitoring baseline can be compared safely.

Personal Watch is not open yet. This report does not start a Watch or a payment.

See public monitoring
Watch · 9 €/month

Watch this MCP

Your agent depends on this MCP. We tell you before a change breaks it.

  • Know when it goes downWe confirm an outage before we alert you, so a single failed check is not treated as a lasting outage.
  • Know when its contract changesWe compare complete public tool catalogs and authentication surfaces over time.
  • Know what changed and what to fixAn alert names the change and the next step for the client you selected.

Full public-contract coverage: Availability, protocol, auth and public tool contract changes can be compared.

Full WatchAvailability, protocol, auth and public tool contract changes
Surface WatchAvailability, TLS, protocol and auth surface — no private tool diff

When Watch is open, you will be able to add, pause, resume, replace, or remove up to five endpoints. Watch checkout is not open. This page does not start a payment. You can sign in from the header; that creates an account, not a Watch. Opening date: not announced yet. Hosted checkout remains closed.

See Watch price, terms and refunds