Guitar Practice Routine App — Chord Charts

Look up a guitar chord by name and get a text chord diagram. 12,708 standard-tuning names.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
90%
Integridad del esquema
100%
Calidad de los nombres
100%
Riesgo de envenenamiento
80%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainen get_chord_chart_by_name
  • LOWTool 'get_chord_of_the_day' description lacks action verben get_chord_of_the_day

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,491Tokens (definiciones de herramientas)
~4.4 KBTamaño de respuesta típico
Impacto moderado en la atención (1.16% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "gpra-chord-charts": {
      "command": "npx",
      "args": [
        "gpra-chord-charts-mcp"
      ]
    }
  }
}

Paquetes ejecutables

npmgpra-chord-charts-mcp0.1.0stdio

Puntos de conexión remotos

https://mcp.guitarpracticeroutine.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (3)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢get_chord_chart_by_name(name, format, context, llm_model)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "description": "A single chord name as written on a chart, e.g. \"Am7\" or \"D/F#\".",
      "type": "string",
      "maxLength": 64
    },
    "format": {
      "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.",
      "type": "string",
      "enum": [
        "both",
        "image",
        "text"
      ]
    },
    "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."
    }
  },
  "required": [
    "context",
    "llm_model"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_chord_chart_by_id(id, format, context, llm_model)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Numeric chord id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "format": {
      "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.",
      "type": "string",
      "enum": [
        "both",
        "image",
        "text"
      ]
    },
    "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."
    }
  },
  "required": [
    "context",
    "llm_model"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_chord_of_the_day(format, context, llm_model)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "format": {
      "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.",
      "type": "string",
      "enum": [
        "both",
        "image",
        "text"
      ]
    },
    "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."
    }
  },
  "required": [
    "context",
    "llm_model"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada3 herramientas
verificadoversión no registrada3 herramientas
verificadoversión no registrada3 herramientas