Bitcoin MCP Server

by AbdelStark
Verified
MIT License
103
18
  • Apple

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Enables interaction with the Bitcoin blockchain, providing tools for generating keys, validating addresses, decoding transactions, querying latest blocks, and retrieving transaction details.

Servidor MCP de Bitcoin y Lightning Network

Descripción general

Un servidor de Protocolo de Contexto de Modelo (MCP) que permite que los modelos de IA interactúen con Bitcoin y Lightning Network, lo que les permite generar claves, validar direcciones, decodificar transacciones, consultar la cadena de bloques y más.

🎮 Demostración

Vídeo de demostración de ClaudeVídeo de demostración de Goose

💼 Índice de contenidos

🔧 Características

  • Generación de claves : crea nuevos pares de claves de Bitcoin, incluida la dirección, la clave pública y la clave privada (WIF).
  • Validación de dirección : valida la exactitud de una dirección de Bitcoin.
  • Descodificación de transacciones : analiza una transacción de Bitcoin sin procesar y muestra sus detalles en un formato legible para humanos.
  • Consultas de blockchain :
    • Último bloque : recupera detalles sobre el bloque más reciente (hash, altura, marca de tiempo, recuento de transacciones, etc.).
    • Detalles de la transacción : obtiene información detallada sobre una transacción utilizando su TXID.
  • Red Lightning :
    • Descodificación de facturas : analiza una factura BOLT11 Lightning y muestra información legible para humanos.
    • Pago : Pague una factura Lightning directamente desde su billetera LNBits.

🔑 Integración de escritorio de Claude

Para utilizar el servidor Bitcoin MCP con Claude Desktop (la aplicación de escritorio de Anthropic para Claude), siga estos pasos:

  1. Descarga e instala Claude Desktop: Visita la página oficial de descargas de Claude Desktop y descarga la app para tu sistema operativo (MacOS o Windows) ( Instalación de Claude Desktop | Centro de ayuda de Anthropic ). Instala la app y asegúrate de usar la última versión (puedes buscar actualizaciones en el menú de la app).
  2. Configure Claude Desktop para usar el servidor MCP de Bitcoin: abra el archivo de configuración de Claude Desktop (se crea cuando edita por primera vez la configuración en Claude Desktop):
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Ventanas: %APPDATA%\Claude\claude_desktop_config.json
      Agregue una entrada para el servidor MCP de Bitcoin en esta configuración JSON, en la sección "mcpServers" . Por ejemplo:
    { "mcpServers": { "bitcoin-mcp": { "command": "npx", "args": ["-y", "bitcoin-mcp@latest"] } } }

    En el fragmento anterior, "bitcoin-mcp" es un identificador del servidor (puedes nombrarlo como quieras). El command está configurado para ejecutar el comando npx , y args apunta a la ruta del script del servidor Bitcoin MCP o al comando para ejecutar el servidor.

  3. Reiniciar Claude Desktop: Guarda el archivo claude_desktop_config.json y cierra y vuelve a abrir Claude Desktop . La próxima vez que lo inicies, Claude iniciará automáticamente el servidor Bitcoin MCP según su configuración. Si Claude Desktop estaba en ejecución, debes reiniciarlo para que los cambios surtan efecto.

Prueba de la integración de Claude Desktop

Una vez que se reinicie Claude Desktop, puede probar si el servidor Bitcoin MCP está funcionando correctamente:

  • Hazle a Claude una pregunta de ejemplo relacionada con Bitcoin. Por ejemplo, intenta preguntar: "¿Cuál es el último bloque en la red Bitcoin?". Si la integración es exitosa, la respuesta de Claude debería incluir el último bloque obtenido a través del servidor MCP, en lugar de un "No lo sé" o una respuesta genérica. También puedes probar otras consultas como "Indícame información sobre la transacción con TXID abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890". Claude debería usar las herramientas del servidor MCP para recuperar los datos y responder a tu consulta.
  • Verificar la respuesta: Claude debería devolver una respuesta detallada (por ejemplo, el último bloque en la red Bitcoin) sin errores. Si recibe un mensaje de error o ninguna respuesta útil, es posible que el servidor MCP no esté conectado correctamente.
  • Revisar los registros de Claude (si es necesario): Claude Desktop proporciona archivos de registro que pueden ayudar a depurar las integraciones de MCP. Si la herramienta no responde, revise los archivos de registro en:
    • macOS: ~/Library/Logs/Claude/
    • Ventanas: %APPDATA%\Claude\logs\
      Busque mcp.log para los mensajes generales de conexión de MCP y un archivo llamado mcp-server-bitcoin-mcp.log (o con el nombre que haya usado) para la salida/errores del servidor MCP. Estos registros mostrarán si el servidor se inició o si hubo algún error (como una ruta incorrecta o excepciones en el servidor). Si detecta errores, corrija la configuración o el entorno según sea necesario, reinicie Claude Desktop y vuelva a probar.

🦆 Integración de Goose

Goose es un framework de agente de IA de código abierto de Block que admite extensiones mediante el Protocolo de Contexto de Modelo. Puedes integrar el servidor MCP de Bitcoin como una extensión de Goose para que Goose interactúe con la blockchain de Bitcoin. Goose admite dos modos de integración para servidores MCP: ejecutar el servidor como un proceso local (STDIO) o conectarse a él como un servicio remoto mediante Eventos Enviados por el Servidor (SSE). A continuación, se detallan las instrucciones para ambos métodos:

Uso de STDIO (extensión local)

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

  1. Añadir una nueva extensión en Goose: Abra la interfaz de configuración de Goose. Puede hacerlo mediante la línea de comandos ejecutando goose configure o en la aplicación Goose Desktop, en Configuración > Extensiones . En el menú, seleccione "Añadir extensión". ( Usar extensiones | goose )
  2. Elija el tipo de extensión: Extensión de línea de comandos: cuando se le solicite el tipo de extensión, seleccione Extensión de línea de comandos (en el menú CLI o UI) para que Goose sepa que debe iniciar un comando local ( Uso de extensiones | goose ) (en lugar de una extensión integrada o remota).
  3. Ingrese los detalles de la extensión: Proporcione un nombre y un comando para el servidor Bitcoin MCP:
    • Nombre: Puedes llamarlo "bitcoin", o cualquier identificador (así será como te referirás a la extensión).
    • Comando: Especifique cómo ejecutar el servidor MCP. Por ejemplo, si tiene el script de Python, introduzca el comando para ejecutarlo. En el configurador de la CLI, podría preguntar "¿Qué comando se debe ejecutar?". Introduzca:
      npx -y bitcoin-mcp@latest
      Esto le indica a Goose que inicie el servidor Bitcoin MCP ( GitHub - AbdelStark/bitcoin-mcp: Servidor Bitcoin MCP ). (Asegúrese de usar la ruta correcta al script del servidor o el comando correcto para ejecutarlo, como en la configuración de Claude).
    • Normalmente no es necesario añadir ningún argumento más allá de la ruta del script (a menos que su servidor requiera indicadores especiales). El comando anterior utiliza el transporte STDIO predeterminado, que Goose espera para una extensión de línea de comandos. (En el archivo de configuración de Goose, esto correspondería a una entrada con cmd: "npx" y args: ["-y", "bitcoin-mcp@latest"] , con type: stdio indicando el modo de E/S estándar ( Uso de extensiones | goose ).)
  4. Finalizar y habilitar: Complete la adición de la extensión. Goose añadirá esta nueva extensión a su configuración (normalmente ~/.config/goose/config.yaml ). Asegúrese de que la extensión esté habilitada (si usa el asistente de la CLI, debería estar habilitada por defecto una vez añadida; en la aplicación Goose Desktop, puede consultar la lista de extensiones y activarla si no lo está ya ( Usar extensiones | goose ) ( Usar extensiones | goose )).
  5. Iniciar una sesión de Goose con la nueva extensión: Ahora puede usar la extensión en Goose. Si ejecuta Goose mediante la CLI, inicie una sesión que incluya la extensión ejecutando:
    goose session --with-extension "bitcoin"

Reemplazar "bitcoin" por el nombre que le haya asignado a la extensión ( Uso de extensiones | goose ). (Esto garantiza 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).

Uso de SSE (extensión remota)

Este método conecta Goose a un servidor MCP ya en ejecución mediante una secuencia HTTP SSE. Úselo si desea ejecutar el servidor MCP de Bitcoin como un servicio independiente (posiblemente en otra máquina o de forma independiente de Goose).

  1. Iniciar el servidor MCP como servicio independiente: Ejecutar el servidor MCP de Bitcoin para que escuche conexiones. En la práctica, esto significa que el servidor debe iniciarse en un modo que sirva un punto final HTTP para MCP. Por ejemplo, se puede ejecutar el servidor con un comando u opción específica para escuchar en un puerto (como usar las funciones de servidor web integradas de una biblioteca MCP o ejecutarlo bajo un framework web). Asegúrese de que el servidor sea accesible en una URL conocida (p. ej., http://localhost:9000 ) y que sea compatible con el protocolo MCP a través de SSE.
  2. Añadir una nueva extensión en Goose (Remoto): Como antes, ejecute goose configure o use la interfaz de usuario de Goose para añadir una extensión ( Uso de extensiones | goose ). Esta vez, seleccione Extensión remota cuando se le solicite el tipo de extensión ( Uso de extensiones | goose ). Esto indica a Goose que se conectará a un servidor externo mediante SSE.
  3. Introduce los datos de la extensión remota: Asígnale un nombre a la extensión (p. ej., "bitcoin") y proporciona la URL del servidor. En la URL , introduce la dirección base donde se ejecuta el servidor MCP. Por ejemplo, si tu servidor escucha en el puerto 9000 de tu equipo local, podrías introducir http://localhost:9000 . Goose intentará conectarse al punto final SSE del servidor MCP en esa dirección. (Goose utiliza la ruta SSE estándar de MCP, que por convención se encuentra en la ruta /mcp/sse del servidor; normalmente, solo necesitas proporcionar el host y el puerto, y Goose se encarga del resto).
  4. Habilitar la extensión: Después de agregar la extensión remota, asegúrese de que esté habilitada en la configuración de Goose (igual que en el caso de STDIO). Solo es necesario habilitar una de las extensiones, STDIO o SSE (con las mismas herramientas). Si habilita accidentalmente una versión local y otra remota del mismo servidor, le recomendamos deshabilitar una para evitar confusiones.

Uso de la extensión Bitcoin MCP en Goose: Una vez configurada y habilitada la extensión (mediante cualquiera de los métodos anteriores), podrá interactuar con Goose y consultar datos de Bitcoin a través de ella. En un nuevo chat o sesión de Goose, simplemente haga preguntas como lo haría normalmente. Goose reconocerá cuándo usar las herramientas Bitcoin MCP para atender su solicitud. Por ejemplo:

  • "¿Cuál es el último bloque de Bitcoin?"
  • "Dame información sobre la transacción con TXID abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890."

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

Si Goose no parece usar la extensión (por ejemplo, si indica que no encuentra la información), asegúrese de que esté habilitada y de que el servidor esté ejecutándose (en modo SSE para acceso remoto). También puede ejecutar la CLI de Goose con registro detallado para comprobar si intentó llamar a la extensión. Generalmente, si se configura correctamente, Goose detectará automáticamente las capacidades del servidor MCP y las usará cuando sea necesario.

Recursos adicionales: Para más detalles sobre las extensiones de Goose y el MCP, consulte la documentación oficial de Goose ( Uso de extensiones | goose ). La documentación incluye una lista de extensiones integradas y de la comunidad, y explica cómo se integran los servidores MCP en Goose. También puede encontrar un directorio de servidores MCP disponibles y consejos de configuración adicionales en la documentación de Goose y la documentación del Protocolo de Contexto de Modelo. Esto puede ser útil si desea explorar más extensiones o desarrollar las suyas propias.

Configuración del desarrollo

Encuentre las instrucciones de configuración en la guía de configuración de desarrollo .

Configuración de la red Lightning (opcional)

Para usar las funciones de Lightning Network, deberá configurar los detalles de conexión de LNBits. Estos son opcionales y solo son necesarios si planea usar las herramientas de Lightning Network.

{ "lnbitsUrl": "https://demo.lnbits.com", "lnbitsAdminKey": "your_admin_key", // Required for making payments "lnbitsReadKey": "your_read_key" // Required for wallet information }

Puedes obtener estos valores:

  1. Crear una cuenta en LNBits
  2. Creando una nueva billetera
  3. Vaya a la información de API para encontrar sus claves de API

📦 Herramientas disponibles

Encuentre las herramientas disponibles en la guía de referencia de API .

🚨 Manejo de errores

El servidor utiliza tipos de error personalizados para gestionar las operaciones de Bitcoin y las consultas de blockchain. Los mensajes de error detallados se registran mediante Pino y se incluyen en las respuestas del cliente para facilitar la depuración.

🤝 Contribuyendo

¡Agradecemos sus contribuciones y solicitudes de funcionalidad! No dude en enviar solicitudes de incorporación de cambios o abrir incidencias en GitHub.

📝 Licencia

Este proyecto está licenciado bajo la licencia MIT .

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Facilita la interacción con la red Bitcoin a través del Protocolo de Contexto de Modelo, lo que permite la generación de claves, la validación de direcciones, la decodificación de transacciones y la recuperación de datos de blockchain.

  1. Overview
    1. 🎮 Demo
      1. 💼 Table of Contents
        1. 🔧 Features
          1. 🔑 Claude Desktop Integration
            1. Testing the Claude Desktop Integration
          2. 🦆 Goose Integration
            1. Using STDIO (Local Extension)
          3. 📦 Development Setup
            1. Lightning Network Configuration (Optional)
          4. 📦 Available Tools
            1. 🚨 Error Handling
              1. 🤝 Contributing
                1. 📝 License
                  ID: y42jsc8cig