GistPad MCP

Gestiona y comparte conocimiento personal, notas diarias y prompts reutilizables usando GitHub Gists.

Documentación

📓 GistPad MCP

Un servidor MCP para gestionar y compartir tu conocimiento personal, notas diarias y prompts reutilizables a través de GitHub Gists. Es un complemento de la extensión de VS Code de GistPad y de GistPad.dev (para web/móvil), que te permite acceder y editar tus gists desde cualquier producto de IA habilitado para MCP (por ejemplo, GitHub Copilot, Claude Desktop).

🏃 Primeros pasos

  1. ¿Usas VS Code?

    1. Instala la extensión de GistPad y luego recarga VS Code

      Nota: Esto requiere VS Code 1.101.0+, así que si estás en una versión anterior, ¡es hora de actualizar!

    2. Abre la pestaña GistPad e inicia sesión con tu cuenta de GitHub. Después de eso, puedes comenzar a usar GistPad desde el chat de Copilot (en modo Agent) sin hacer ninguna configuración adicional ni gestión de tokens 💪

  2. Otros clientes MCP...

    1. Genera un token de acceso personal que incluya solo el alcance gist: https://github.com/settings/tokens/new

    2. Añade el equivalente de lo siguiente al archivo de configuración MCP de tu cliente (o mediante una GUI/TUI de "Agregar servidor MCP"):

      {
        "mcpServers": {
          "gistpad": {
            "command": "npx",
            "args": ["-y", "gistpad-mcp"],
            "env": {
              "GITHUB_TOKEN": "<YOUR_PAT>"
            }
          }
        }
      }
      

Una vez que tu cliente esté configurado, ¡puedes empezar a divertirte con gists + MCP! 🥳 Por ejemplo, prueba cosas como...

  1. Explorar contenido

    • How many gists have I edited this month?
    • What's the summary of my <foo> gist?
  2. Crear contenido

    • Create a new gist about <foo>
    • Update my <foo> gist to call out <bar>
  3. Tareas diarias

    • What are my unfinished todos for today?
    • Add a new todo for <foo>
  4. Colaboración

    • Add a comment to the <foo> gist saying <bar>
    • Give me a share URL for the <foo> gist
    • View my starred gists
  5. Organización de gists

    • Archive my gist about <foo>
    • Add a new <foo> file to the <bar> gist and migrate the <baz> content into it
  6. Prompts reutilizables

    • Create a new prompt that searches the web ofor a specified manga series and then provides a summary about it
    • Delete my prompt about <foo>

🛠️ Herramientas incluidas

Gestión de gists

  • list_gists - Lista todos tus gists (excluyendo notas diarias y gists archivados).
  • get_gist - Obtén el contenido de un gist por ID.
  • create_gist - Crea un nuevo gist con una descripción especificada y contenido inicial de archivos.
  • delete_gist - Elimina un gist por ID.
  • update_gist_description - Actualiza la descripción de un gist por ID.
  • duplicate_gist - Crea una copia de un gist existente con todos sus archivos.
  • refresh_gists - Recarga tus listas de gists, ignorando cualquier dato en caché.

Gestión de archivos

  • update_gist_file - Actualiza el contenido de un archivo específico en un gist.
  • add_gist_file - Añade un nuevo archivo a un gist existente.
  • delete_gist_file - Elimina un archivo de un gist.
  • rename_gist_file - Renombra un archivo existente dentro de un gist.
  • edit_gist_file - Realiza ediciones específicas de buscar y reemplazar en un archivo de gist.

Comentarios

  • list_gist_comments - Lista todos los comentarios de un gist especificado.
  • add_gist_comment - Añade un nuevo comentario a un gist.
  • edit_gist_comment - Actualiza el contenido de un comentario existente.
  • delete_gist_comment - Elimina un comentario de un gist.

🛠️ Herramientas opcionales

Los siguientes conjuntos de herramientas están deshabilitados por defecto para mantener la superficie de herramientas mínima. Actívalos pasando la bandera de CLI correspondiente.

Notas diarias (--daily)

  • get_todays_note - Obtén o crea la nota diaria de hoy.
  • update_todays_note - Actualiza el contenido de la nota diaria de hoy.
  • list_daily_notes - Lista todas tus notas diarias.
  • get_daily_note - Obtén el contenido de una nota diaria específica por fecha.
  • delete_daily_note - Elimina una nota diaria específica por fecha.

Favoritos (--starred)

  • list_starred_gists - Lista todos tus gists destacados.
  • star_gist - Destaca un gist específico por ID.
  • unstar_gist - Quita el destacado de un gist destacado por ID.

Archivado (--archived)

  • list_archived_gists - Lista todos tus gists archivados.
  • archive_gist - Archiva uno de tus gists.
  • unarchive_gist - Desarchiva un gist archivado.

Prompts (--prompts)

  • list_gist_prompts - Lista los prompts en tu colección de prompts.
  • add_gist_prompt - Añade un nuevo prompt a tu colección de prompts.
  • delete_gist_prompt - Elimina un prompt de tu colección.

📁 Recursos incluidos

Además de las herramientas anteriores, el servidor MCP de GistPad también expone tus gists como recursos (usando el esquema de URI gist:///), lo que permite a los clientes leerlos sin requerir la ejecución de herramientas.

Cuando agregas/eliminas/duplicas un gist, o cambias la descripción de un gist, se proporcionará una notificación a los clientes MCP, indicando que la lista de recursos ha cambiado. Y si tu cliente MCP admite suscripciones a recursos, puedes suscribirte a un gist específico y recibir notificaciones cuando se actualice.

Además, para clientes MCP que admiten plantillas de recursos, GistPad también expone un recurso en gist:///{gistId}/comments, que permite consultar los comentarios de un gist (sin necesidad de ejecutar la herramienta list_gist_comments).

Configuración de recursos

Si deseas exponer tus gists archivados, gists destacados y/o notas diarias como recursos, simplemente actualiza la configuración de tu servidor MCP para pasar las banderas --archived, --starred y/o --daily al CLI gistpad-mcp.

💬 Prompts reutilizables

GistPad te permite crear y gestionar prompts parametrizados/reutilizables que se almacenan como archivos markdown en un gist. Puedes gestionar prompts usando la herramienta add_prompt y delete_prompt, simplemente pidiendo a tu cliente MCP que cree/elimine un prompt, con el contenido/argumentos que desees.

Detrás de escena, los prompts se almacenan como archivos markdown en un gist llamado 💬 Prompts (que se crea automáticamente mediante la herramienta add_prompt). Los archivos de prompt incluyen su prompt como cuerpo y, opcionalmente, una descripción y argumentos usando front-matter. Y si el prompt utiliza argumentos, el cuerpo del prompt debe incluir marcadores de posición {{argument}}, que se reemplazarán cuando el cliente MCP lo recupere.

💻 Referencia de CLI

El CLI gistpad-mcp acepta las siguientes banderas opcionales:

  • --archived - Habilita las herramientas de archivado e incluye gists archivados en los recursos
  • --starred - Habilita las herramientas de destacados e incluye gists destacados en los recursos
  • --daily - Habilita las herramientas de notas diarias e incluye notas diarias en los recursos
  • --prompts - Habilita las herramientas de prompts y los manejadores de prompts de MCP
  • --markdown - Filtra gists para incluir solo aquellos compuestos de archivos Markdown

🧰 Solución de problemas

  • ¿No ves un gist en tu lista? El servidor MCP de GistPad almacena en caché tu lista de gists y la actualiza 1) cada vez que realizas un cambio a través del servidor MCP, o 2) cada hora. Sin embargo, si agregas/editas/eliminas un gist usando un cliente externo, es posible que debas indicarle a GistPad MCP que se actualice (asumiendo que aún no ha realizado su actualización horaria). Puedes hacer esto activando la herramienta refresh_gists (por ejemplo, ejecutando #refresh_gists en el chat de Copilot de VS Code).