MCP-Inscription Server

Interactúa con inscripciones de Ordinals y muestra contenido de transacciones.

Documentación

MseeP.ai Security Assessment Badge

MCP-Inscription Server

smithery badge

Resumen

Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los modelos de IA interactuar con Inscripciones Ordinals, permitiéndoles mostrar contenido de una transacción.

🎮 Demo

Demo de Goose Video
Goose screenshot

💼 Tabla de Contenidos

🔧 Características

  • Detección de Ordinals: Detecta y analiza automáticamente transacciones de Bitcoin en ordinals, soportando formatos de inscripción basados en texto, imágenes, json y más.

🦆 Integración con Goose

Goose es un framework de agentes de IA de código abierto de Block que soporta extensiones a través del Protocolo de Contexto de Modelo. Puedes integrar el servidor MCP-Inscription como una extensión de Goose para permitir que Goose interactúe con Inscripciones Ordinals. Goose soporta dos modos de integración para servidores MCP: ejecutar el servidor como un proceso local (STDIO) o conectarse a él como un servicio remoto a través de Eventos Enviados por el Servidor (SSE). A continuación se presentan las instrucciones para ambos métodos:

Usando STDIO (Extensión Local)

Este método ejecuta el servidor MCP-Inscription localmente como un subproceso de Goose, comunicándose a través de entrada/salida estándar.

  1. Clona y compila el repositorio MCP-Inscription (si aún no lo has hecho):

    git clone https://github.com/Laz1mov/mcp-inscription
    cd mcp-inscription
    npm install
    npm run build
    

    Ten en cuenta la ruta absoluta completa del repositorio, ya que la necesitarás en el siguiente paso.

  2. Agrega una nueva extensión en Goose: Abre la interfaz de configuración de Goose. Puedes hacerlo a través de la línea de comandos ejecutando goose configure, o en la aplicación Goose Desktop yendo a Configuración > Extensiones. Desde el menú, elige "Agregar Extensión." (Usando Extensiones | goose)

  3. Elige el tipo de extensión – Extensión de Línea de Comandos: Cuando se te solicite el tipo de extensión, selecciona Extensión de Línea de Comandos (en el menú CLI o en la interfaz) para que Goose sepa que debe lanzar un comando local (Usando Extensiones | goose) (a diferencia de una extensión integrada o remota).

  4. Ingresa los detalles de la extensión: Proporciona un nombre y comando para el servidor MCP-Inscription:

    • ID: mcp-inscription

    • Nombre: Puedes llamarlo "mcp-inscription", o cualquier identificador (así te referirás a la extensión).

    • Comando: Especifica la ruta completa al script CLI compilado. Por ejemplo:

      node /absolute/path/to/mcp-inscription/build/cli.js
      

      Reemplaza /absolute/path/to/mcp-inscription con la ruta real donde clonaste el repositorio.

    • Normalmente no necesitas agregar argumentos más allá de la ruta del script (a menos que tu servidor requiera banderas especiales).

  5. Finaliza y habilita: Completa la adición de la extensión. Goose agregará esta nueva extensión a su configuración (generalmente ~/.config/goose/config.yaml). Asegúrate de que la extensión esté habilitada (si usas el asistente CLI, debería estar habilitada por defecto una vez agregada; en la aplicación Goose Desktop, puedes revisar la lista de Extensiones y activarla si no lo está (Usando Extensiones | goose) (Usando Extensiones | goose)).

  6. Inicia una sesión de Goose con la nueva extensión: Ahora puedes usar la extensión en Goose. Si estás ejecutando Goose a través de CLI, inicia una sesión que incluya la extensión ejecutando:

    goose session --with-extension "mcp-inscription"
    

reemplazando "ordinals" con el nombre que le diste a la extensión (Usando Extensiones | goose). (Esto asegura que la sesión cargue la extensión. Alternativamente, si la extensión está habilitada globalmente, Goose Desktop o CLI la tendrán disponible automáticamente en todas las sesiones.)

Usando SSE (Extensión Remota)

Este método conecta Goose a un servidor MCP ya en ejecución a través de un flujo SSE HTTP. Úsalo si quieres ejecutar el servidor MCP-Inscription como un servicio independiente (posiblemente en otra máquina o simplemente independiente de Goose).

  1. Lanza el servidor MCP como un servicio independiente: Ejecuta el servidor MCP-Inscription en modo SSE para escuchar conexiones:

    # Navigate to your mcp-inscription directory
    cd /path/to/mcp-inscription
    
    # If you havent built it yet
    npm install
    npm run build
    
    # Run in SSE mode on port 3000 (default)
    SERVER_MODE=sse node build/cli.js
    
    # Alternatively, specify a different port
    SERVER_MODE=sse PORT=9000 node build/cli.js
    

    Esto iniciará el servidor en modo SSE, haciéndolo disponible en http://localhost:3000 (o tu puerto especificado).

  2. Agrega una nueva extensión en Goose (Remota): Como antes, ejecuta goose configure o usa la interfaz de Goose para Agregar Extensión (Usando Extensiones | goose). Esta vez, elige Extensión Remota cuando se te pregunte por el tipo de extensión (Usando Extensiones | goose). Esto le dice a Goose que se conectará a un servidor externo a través de SSE.

  3. Ingresa los detalles de la extensión remota: Dale un nombre a la extensión (por ejemplo, "ordinals") y proporciona la URL del servidor. Para la URL, ingresa la dirección base donde se está ejecutando el servidor MCP. Por ejemplo, si tu servidor está escuchando en el puerto 9000 en tu máquina local, podrías ingresar http://localhost:9000. Goose intentará conectarse al endpoint SSE del servidor MCP en esa dirección. (Goose usa la ruta SSE estándar de MCP, que por convención está bajo la ruta /mcp/sse en el servidor; generalmente solo necesitas proporcionar el host y el puerto, y Goose se encarga del resto.)

  4. Habilita la extensión: Después de agregar la extensión remota, asegúrate de que esté habilitada en la configuración de Goose (igual que en el caso STDIO). Solo una de las extensiones STDIO o SSE (con las mismas herramientas) necesita estar habilitada – si accidentalmente habilitas tanto una versión local como remota del mismo servidor, es posible que quieras deshabilitar una para evitar confusión.

Usando la extensión MCP-Inscription en Goose: Una vez que la extensión esté configurada (mediante cualquiera de los métodos anteriores) y habilitada, puedes interactuar con Goose y consultar datos ord a través de ella. En un nuevo chat o sesión de Goose, simplemente haz preguntas como lo harías normalmente. Goose reconocerá cuándo usar las herramientas de MCP-Inscription para cumplir tu solicitud. Por ejemplo:

  • "Muéstrame Ordinals: 0169d12c4edf2026a67e219c10207438a080eb82d8f21860f6784dd66f281389?"

Cuando hagas estas preguntas, Goose invocará las herramientas del servidor MCP-Inscription y devolverá la respuesta (por ejemplo, la información del bloque de Bitcoin más reciente). Deberías ver a Goose respondiendo con información actualizada extraída de la blockchain de Bitcoin a través del servidor MCP-Inscription.

Si Goose no parece usar la extensión (por ejemplo, si responde que no puede encontrar la información), asegúrate de que la extensión esté habilitada y que el servidor esté ejecutándose (en modo SSE para remoto). También puedes ejecutar el CLI de Goose con registro verboso para ver si intentó llamar a la extensión. Generalmente, si está configurado correctamente, Goose descubrirá automáticamente las capacidades del servidor MCP-Inscription y las usará cuando sea relevante.

Recursos Adicionales: Para más detalles sobre las extensiones de Goose y el MCP, consulta la documentación oficial de Goose (Usando Extensiones | goose). Los documentos incluyen una lista de extensiones integradas y de la comunidad y explican cómo los servidores MCP se integran en Goose. También puedes encontrar un directorio de servidores MCP disponibles y consejos adicionales de configuración en los documentos de Goose y en la documentación del Protocolo de Contexto de Modelo. Esto puede ayudar si quieres explorar más extensiones o desarrollar las tuyas propias.

🔑 Integración con Claude Desktop

Para usar el servidor MCP-Inscription con Claude Desktop (la aplicación de escritorio de Anthropic para Claude), sigue estos pasos:

  1. Descarga e instala Claude Desktop: Visita la página oficial de descargas de Claude Desktop y obtén la aplicación para tu sistema operativo (macOS o Windows) (Instalando Claude para Desktop | Centro de Ayuda de Anthropic). Instala la aplicación y asegúrate de usar la versión más reciente (puedes buscar actualizaciones en el menú de la aplicación).

  2. Clona y compila el repositorio MCP-Inscription:

    git clone https://github.com/Laz1mov/mcp-inscription
    cd mcp-inscription
    npm install
    npm run build
    
  3. Configura Claude Desktop para usar el servidor MCP-Inscription: Abre el archivo de configuración de Claude Desktop (se crea cuando editas la configuración por primera vez en Claude Desktop):

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
      Agrega una entrada para el servidor MCP-Inscription en esta configuración JSON bajo la sección "mcpServers". Por ejemplo:
    {
      "mcpServers": {
        "mcp-inscription": {
          "command": "node",
          "args": ["/absolute/path/to/mcp-inscription/build/cli.js"]
        }
      }
    }
    

    En el fragmento anterior, "mcp-inscription" es un identificador para el servidor (puedes nombrarlo como quieras). Reemplaza /absolute/path/to/mcp-inscription con la ruta completa real donde clonaste el repositorio.

  4. Reinicia Claude Desktop: Guarda el archivo claude_desktop_config.json y luego cierra y vuelve a abrir Claude Desktop. En el siguiente inicio, Claude iniciará automáticamente el servidor MCP-Inscription según lo configurado. Si Claude Desktop estaba ejecutándose, necesitas reiniciarlo para que los cambios surtan efecto.

Probando la Integración con Claude Desktop

Una vez que Claude Desktop se reinicie, puedes probar si el servidor MCP-Inscription está funcionando correctamente:

  • Verifica la respuesta: Claude debería devolver una respuesta detallada (por ejemplo, la inscripción en sí o información de runas) sin errores. Si recibes un mensaje de error o ninguna respuesta útil, el servidor MCP podría no estar conectado correctamente.

  • Revisa los registros de Claude (si es necesario): Claude Desktop proporciona archivos de registro que pueden ayudar a depurar integraciones MCP. Si la herramienta no responde, revisa los archivos de registro en:

    • macOS: ~/Library/Logs/Claude/
    • Windows: %APPDATA%\Claude\logs\
      Busca mcp.log para mensajes generales de conexión MCP, y un archivo llamado mcp-server-mcp-inscription.log (o con el nombre que hayas usado) para la salida/errores del servidor MCP. Estos registros mostrarán si el servidor se inició o si hubo errores (como una ruta incorrecta o excepciones en el servidor). Si ves errores, corrige la configuración o el entorno según sea necesario, luego reinicia Claude Desktop y prueba nuevamente.

Instalación vía Smithery

Para instalar Inscription Server para Claude Desktop automáticamente a través de Smithery:

npx -y @smithery/cli install @Laz1mov/mcp-inscription --client claude

📂 Estructura del Proyecto

mcp-inscription/
├── src/
│   ├── ordinals_client.ts      # Bitcoin ordinals and runestone utility functions
│   ├── servers/
│   │   ├── index.ts            # Server exports and factory functions
│   │   ├── sse.ts              # Server implementation using SSE transport
│   │   ├── stdio.ts            # Server implementation using STDIO transport
│   │   └── base.ts             # Base server implementation with shared functionality
│   ├── index.ts                # Main entry point
│   ├── cli.ts                  # CLI launcher
│   ├── mcp_inscription_types.ts # Shared types and schemas for the MCP-Inscription server
│   └── utils/
│       ├── logger.ts           # Logger setup
│       ├── cache.ts            # Caching implementation
│       ├── error_handlers.ts   # Error handling utilities
│       ├── json_utils.ts       # JSON processing utilities
│       ├── img_utils.ts        # Image processing and conversion utilities
│       └── version.ts          # Version information
├── .env.example                # Example environment configuration file
├── package.json
├── tsconfig.json
└── README.md

📦 Herramientas Disponibles

show_ordinals

Descripción:
Decodifica datos de inscripción Ordinal de los datos de testigo de una transacción.

Esquema de Entrada:

{
  "txid": "string"
}

Ejemplo de Entrada:

{
  "txid": "0169d12c4edf2026a67e219c10207438a080eb82d8f21860f6784dd66f281389"
}

Salida:
Devuelve el contenido de inscripción decodificado, que puede ser texto, JSON, HTML u otros formatos.

🚨 Manejo de Errores

El servidor emplea tipos de error personalizados para manejar operaciones de Bitcoin y consultas de blockchain. Los mensajes de error detallados se registran usando Pino y se incluyen en las respuestas al cliente para facilitar la depuración.

🤝 Contribuciones

¡Las contribuciones y solicitudes de funciones son bienvenidas! No dudes en enviar solicitudes de extracción o abrir problemas en GitHub.

📝 Licencia

Este proyecto está licenciado bajo la Licencia MIT.