Bitcoin MCP

49 herramientas de Bitcoin para agentes: tarifas, mempool, bloques, minería, precio y transacciones.

Documentación

bitcoin-mcp

Dale a cualquier agente de IA superpoderes de Bitcoin: inteligencia de tarifas, análisis de mempool y 50 herramientas respaldadas por tu nodo de Bitcoin o una API compatible.

PyPI Downloads Tests License: MIT Python 3.10+ GitHub Sponsors

50 herramientas estándar · 6 indicaciones · 8 recursos · Bitcoin Core o backend de API compatible · Licencia MIT

Si bitcoin-mcp te resulta útil, considera darle una estrella: ayuda a que otros descubran el proyecto.

pip install "bitcoin-mcp>=0.5.2"

bitcoin-mcp necesita un backend de datos de Bitcoin. Detecta automáticamente un nodo local de Bitcoin Core/Knots a partir de su cookie o configuración RPC. Sin un nodo local, configura SATOSHI_API_URL a una implementación compatible.

Estado del servicio: la API pública de Satoshi anteriormente alojada en bitcoinsapi.com está en pausa y no debe tratarse como un valor predeterminado funcional. Usa un nodo local o una API compatible configurada explícitamente.

Estado de instalación

La versión 0.5.2 incluye la restricción de compatibilidad con MCP SDK 1.x y la selección explícita de backend. Actualiza las instalaciones antiguas para recibir estas correcciones.

Inicio rápido

Claude Desktop

Agrega a tu claude_desktop_config.json:

{
  "mcpServers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["--from", "bitcoin-mcp>=0.5.2", "bitcoin-mcp"]
    }
  }
}

Claude Code

claude mcp add bitcoin -- uvx --from "bitcoin-mcp>=0.5.2" bitcoin-mcp

Cursor

Agrega a .cursor/mcp.json:

{
  "mcpServers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["--from", "bitcoin-mcp>=0.5.2", "bitcoin-mcp"]
    }
  }
}

VS Code

Agrega a .vscode/mcp.json:

{
  "servers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["--from", "bitcoin-mcp>=0.5.2", "bitcoin-mcp"]
    }
  }
}

Zed

Agrega a tu settings.json de Zed bajo context_servers:

{
  "context_servers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["--from", "bitcoin-mcp>=0.5.2", "bitcoin-mcp"]
    }
  }
}

Consulta la documentación de MCP de Zed para conocer la ubicación actual de la configuración y el flujo de servidor personalizado.

Docker

docker build -t bitcoin-mcp .
docker run -i bitcoin-mcp

O con docker compose:

docker compose up

Pasa variables de entorno para conectarte a un nodo local de Bitcoin Core o a una API compatible:

docker run -i -e BITCOIN_RPC_HOST=host.docker.internal -e BITCOIN_RPC_PORT=8332 bitcoin-mcp
# or
docker run -i -e SATOSHI_API_URL=https://your-api.example bitcoin-mcp

Pregunta si enviar Bitcoin ahora

Usa esto como la primera ruta de activación útil después de la instalación:

"Necesito enviar una transacción de Bitcoin hoy. Usa bitcoin-mcp para decidir si enviar ahora o esperar, y muestra la tarifa que usaste."

Ruta esperada:

  1. El agente llama a get_fee_recommendation.
  2. La respuesta da una recomendación clara de enviar ahora o esperar con tarifas en sat/vB.
  3. Si el backend no está disponible, configura un nodo local o establece SATOSHI_API_URL antes de reintentar.

Después de que funcione, dale una estrella a este repositorio y comparte una breve demostración con la indicación, la llamada a la herramienta y el resultado para que otros creadores de agentes de Bitcoin puedan ver la ruta.

Integración de agentes

Para repositorios que necesiten herramientas de Bitcoin, agrega bitcoin-mcp a la configuración MCP del agente y configura uno de sus backends compatibles:

Los ejemplos HTTP generados deben usar rutas canónicas de la API de Satoshi /api/v1.

¿Por qué bitcoin-mcp?

  • Inteligencia de tarifas que ahorra dinero real: conoce el momento más barato para enviar, compara niveles de tarifas, estima costos exactos antes de transmitir
  • Elección de backend: usa tu propio nodo de Bitcoin Core/Knots o una API compatible configurada explícitamente
  • Herramientas MCP de código abierto: definiciones de herramientas, pruebas y ejemplos de configuración de cliente están disponibles en este repositorio

Casos de uso principales

Pregunta a tu agente de IA:

IndicaciónQué hace
"¿Cuál es el momento más barato para enviar Bitcoin hoy?"Recomendación de tarifa con desglose de ahorro
"Analiza la congestión actual del mempool"Profundidad del mempool en tiempo real, niveles de tarifas, recuento de transacciones pendientes
"¿Cuánto ahorraría esperando 6 bloques en lugar del próximo bloque?"Comparación de tarifas lado a lado entre objetivos de confirmación
"Busca esta transacción: abc123..."Decodificación completa de transacciones con detección de inscripciones
"Dame un resumen de la situación de Bitcoin ahora mismo"Precio, tarifas, mempool, minería, dificultad: en una sola llamada

Referencia completa de herramientas

Las 50 herramientas estándar por categoría

Inteligencia de tarifas

HerramientaDescripción
get_fee_recommendationTarifa óptima con niveles de urgencia y consejos de ahorro
get_fee_estimatesEstimaciones de tarifas en todos los objetivos de confirmación
estimate_smart_feeEstimación de tarifa para un objetivo de confirmación específico
compare_fee_estimatesComparación lado a lado de fuentes de tarifas
estimate_transaction_costEstimación de costo exacto para una transacción antes de enviar

Bloques y transacciones

HerramientaDescripción
analyze_blockAnálisis profundo de cualquier bloque por altura o hash
get_block_statsDesglose estadístico de un bloque
get_block_countAltura actual de la cadena
compare_blocksCompara dos bloques lado a lado
search_blocksBusca un rango de bloques
analyze_transactionAnálisis completo de transacciones con detección de inscripciones
decode_raw_transactionDecodifica un hex de transacción sin procesar
send_raw_transactionTransmite una transacción firmada
check_utxoVerifica si un UTXO está gastado o no gastado

Mempool

HerramientaDescripción
analyze_mempoolAnálisis completo del mempool: profundidad, tarifas, congestión
get_mempool_infoTamaño del mempool, bytes, piso de tarifas
get_mempool_entryDetalles de una transacción no confirmada específica
get_mempool_ancestorsCadena de ancestros para una transacción del mempool

Minería

HerramientaDescripción
get_mining_infoDificultad de minería actual, hashrate, recompensa de bloque
analyze_next_blockVista previa de la plantilla del próximo bloque
get_mining_pool_rankingsPrincipales pools de minería por bloques recientes
get_difficulty_adjustmentTiempo y porcentaje del próximo cambio de dificultad
get_halving_countdownBloques y tiempo estimado hasta el próximo halving

Red y estado

HerramientaDescripción
get_blockchain_infoEstado de la cadena, progreso de verificación, estado de softfork
get_network_infoVersión del nodo, conexiones, información de retransmisión
get_node_statusEstado de conexión y salud del nodo
get_peer_infoDetalles de pares conectados
get_chain_tipsPuntas de cadena activas y obsoletas
get_chain_tx_statsRendimiento de transacciones en N bloques
get_utxo_set_infoTamaño del conjunto UTXO y suministro total
get_supply_infoSuministro circulante, tasa de inflación, porcentaje minado
get_situation_summaryResumen agregado: precio, tarifas, mempool, minería
get_btc_pricePrecio actual de BTC/USD
get_market_sentimentÍndice de miedo/avaricia e indicadores de mercado

Dirección y UTXO

HerramientaDescripción
get_address_utxosUTXOs de una dirección
validate_addressValida y clasifica una dirección de Bitcoin

Dirección indexada (requiere indexador de blockchain)

HerramientaDescripción
get_address_balanceTotal recibido/enviado/saldo, recuento de transacciones, primera/última vista
get_address_historyHistorial de transacciones paginado con cambio de valor neto
get_address_transactionsHistorial de transacciones con detalles de valor por transacción
get_indexed_transactionTransacción enriquecida con direcciones de entrada resueltas + estado de gasto
get_indexer_statusProgreso de sincronización, ETA, bloques/segundo

Seguridad

HerramientaDescripción
analyze_psbt_securityAnálisis de seguridad de una transacción de Bitcoin parcialmente firmada
explain_inscription_listing_securityGuía de seguridad para listados de inscripciones ordinales

Utilidad

HerramientaDescripción
search_blockchainBúsqueda universal: dirección, txid, hash de bloque o altura
generate_keypairGenera un nuevo par de claves de Bitcoin
explain_scriptDecodifica y explica un script de Bitcoin
decode_bolt11_invoiceDecodifica una factura BOLT11 de Lightning Network
describe_rpc_commandTexto de ayuda para cualquier comando RPC de Bitcoin Core
list_rpc_commandsLista todos los comandos RPC disponibles
decode_xpubDecodifica e inspecciona una clave pública extendida

Herramienta opcional de API remota

query_remote_api se registra solo cuando SATOSHI_API_URL está configurado y el extra l402 está instalado. Consulta rutas canónicas de /api/v1 en ese endpoint configurado explícitamente.

Configuración

Configura un nodo local de Bitcoin Core/Knots o una API remota compatible. Si ninguno está disponible, bitcoin-mcp sale de su verificación de conexión con un error de configuración en lugar de seleccionar silenciosamente un servicio público no disponible.

Banderas de CLI

bitcoin-mcp admite las siguientes banderas de tiempo de ejecución:

BanderaValoresPredeterminadoDescripción
--transportstdio, sse, streamable-httpstdioTransporte MCP para ejecutar
--hostnombre de host / IP127.0.0.1 para transportes HTTPHost de enlace para sse y streamable-http
--portentero8000 para transportes HTTPPuerto de enlace para sse y streamable-http
--log-levelDEBUG, INFO, WARNING, ERRORINFOVerbosidad de registro del servidor

Ejemplo:

bitcoin-mcp --transport sse --host 127.0.0.1 --port 8000 --log-level DEBUG
VariableDescripciónPredeterminado
BITCOIN_RPC_HOSTHost RPC de Bitcoin Core127.0.0.1
BITCOIN_RPC_PORTPuerto RPC de Bitcoin CoreAutomático por red
BITCOIN_NETWORKmainnet, testnet, signet o regtestmainnet
SATOSHI_API_URLURL base de API de Satoshi compatibleNinguna
SATOSHI_API_KEYClave API para acceso autenticadoNinguna

Para conectarte a un nodo local de Bitcoin Core:

{
  "mcpServers": {
    "bitcoin": {
      "command": "uvx",
      "args": ["--from", "bitcoin-mcp>=0.5.2", "bitcoin-mcp"],
      "env": {
        "BITCOIN_RPC_HOST": "127.0.0.1",
        "BITCOIN_RPC_PORT": "8332"
      }
    }
  }
}

Indicaciones y recursos

6 indicaciones integradas para flujos de trabajo comunes: analyze_fee_environment, investigate_transaction, monitor_mempool_fees, taproot_adoption_report, network_health_report, track_transaction

8 recursos para inyección de contexto: bitcoin://connection/status, bitcoin://node/status, bitcoin://fees/current, bitcoin://fees/history, bitcoin://mempool/snapshot, bitcoin://protocol/script-opcodes, bitcoin://protocol/address-types, bitcoin://protocol/sighash-types

Enlaces

Ejemplos

Consulta la carpeta examples/ para ver patrones de uso documentados:

Apoya este proyecto

bitcoin-mcp es infraestructura de Bitcoin gratuita y de código abierto. Apoya el desarrollo a través de GitHub Sponsors, informes de problemas reproducibles, mejoras de documentación y parches probados.

Contribuciones

Las contribuciones son bienvenidas. Consulta CONTRIBUTING.md para conocer las pautas, incluido cómo agregar nuevas herramientas y la lista de verificación de PR.

Informa vulnerabilidades de seguridad de forma privada: consulta SECURITY.md.

Acerca de

bitcoin-mcp es creado y mantenido por Andrew Barnes, conectando agentes de IA e infraestructura de Bitcoin a través del Protocolo de Contexto de Modelo.

Proyectos relacionados:

  • Satoshi API — API de inteligencia de tarifas de Bitcoin, 108 endpoints, utilizable como backend compatible autoalojado
  • ChainPulse — CLI de inteligencia de red de Bitcoin impulsada por IA
  • BAIP-1 — Protocolo de identidad de agentes de Bitcoin
  • bitcoin-fee-observatory — Panel de análisis del mercado de tarifas

Licencia

MIT