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.
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.comestá 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:
- El agente llama a
get_fee_recommendation. - La respuesta da una recomendación clara de enviar ahora o esperar con tarifas en sat/vB.
- Si el backend no está disponible, configura un nodo local o establece
SATOSHI_API_URLantes 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:
- Configuración RPC local de Bitcoin Core/Knots:
BITCOIN_RPC_HOST,BITCOIN_RPC_PORTy credenciales opcionales o datadir - API remota compatible:
SATOSHI_API_URLy, cuando sea necesario,SATOSHI_API_KEY - Fuente de la API de Satoshi y referencia de integración: https://github.com/Bortlesboat/bitcoin-api/blob/master/docs/AGENT_INTEGRATION.md
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ón | Qué 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
| Herramienta | Descripción |
|---|---|
get_fee_recommendation | Tarifa óptima con niveles de urgencia y consejos de ahorro |
get_fee_estimates | Estimaciones de tarifas en todos los objetivos de confirmación |
estimate_smart_fee | Estimación de tarifa para un objetivo de confirmación específico |
compare_fee_estimates | Comparación lado a lado de fuentes de tarifas |
estimate_transaction_cost | Estimación de costo exacto para una transacción antes de enviar |
Bloques y transacciones
| Herramienta | Descripción |
|---|---|
analyze_block | Análisis profundo de cualquier bloque por altura o hash |
get_block_stats | Desglose estadístico de un bloque |
get_block_count | Altura actual de la cadena |
compare_blocks | Compara dos bloques lado a lado |
search_blocks | Busca un rango de bloques |
analyze_transaction | Análisis completo de transacciones con detección de inscripciones |
decode_raw_transaction | Decodifica un hex de transacción sin procesar |
send_raw_transaction | Transmite una transacción firmada |
check_utxo | Verifica si un UTXO está gastado o no gastado |
Mempool
| Herramienta | Descripción |
|---|---|
analyze_mempool | Análisis completo del mempool: profundidad, tarifas, congestión |
get_mempool_info | Tamaño del mempool, bytes, piso de tarifas |
get_mempool_entry | Detalles de una transacción no confirmada específica |
get_mempool_ancestors | Cadena de ancestros para una transacción del mempool |
Minería
| Herramienta | Descripción |
|---|---|
get_mining_info | Dificultad de minería actual, hashrate, recompensa de bloque |
analyze_next_block | Vista previa de la plantilla del próximo bloque |
get_mining_pool_rankings | Principales pools de minería por bloques recientes |
get_difficulty_adjustment | Tiempo y porcentaje del próximo cambio de dificultad |
get_halving_countdown | Bloques y tiempo estimado hasta el próximo halving |
Red y estado
| Herramienta | Descripción |
|---|---|
get_blockchain_info | Estado de la cadena, progreso de verificación, estado de softfork |
get_network_info | Versión del nodo, conexiones, información de retransmisión |
get_node_status | Estado de conexión y salud del nodo |
get_peer_info | Detalles de pares conectados |
get_chain_tips | Puntas de cadena activas y obsoletas |
get_chain_tx_stats | Rendimiento de transacciones en N bloques |
get_utxo_set_info | Tamaño del conjunto UTXO y suministro total |
get_supply_info | Suministro circulante, tasa de inflación, porcentaje minado |
get_situation_summary | Resumen agregado: precio, tarifas, mempool, minería |
get_btc_price | Precio actual de BTC/USD |
get_market_sentiment | Índice de miedo/avaricia e indicadores de mercado |
Dirección y UTXO
| Herramienta | Descripción |
|---|---|
get_address_utxos | UTXOs de una dirección |
validate_address | Valida y clasifica una dirección de Bitcoin |
Dirección indexada (requiere indexador de blockchain)
| Herramienta | Descripción |
|---|---|
get_address_balance | Total recibido/enviado/saldo, recuento de transacciones, primera/última vista |
get_address_history | Historial de transacciones paginado con cambio de valor neto |
get_address_transactions | Historial de transacciones con detalles de valor por transacción |
get_indexed_transaction | Transacción enriquecida con direcciones de entrada resueltas + estado de gasto |
get_indexer_status | Progreso de sincronización, ETA, bloques/segundo |
Seguridad
| Herramienta | Descripción |
|---|---|
analyze_psbt_security | Análisis de seguridad de una transacción de Bitcoin parcialmente firmada |
explain_inscription_listing_security | Guía de seguridad para listados de inscripciones ordinales |
Utilidad
| Herramienta | Descripción |
|---|---|
search_blockchain | Búsqueda universal: dirección, txid, hash de bloque o altura |
generate_keypair | Genera un nuevo par de claves de Bitcoin |
explain_script | Decodifica y explica un script de Bitcoin |
decode_bolt11_invoice | Decodifica una factura BOLT11 de Lightning Network |
describe_rpc_command | Texto de ayuda para cualquier comando RPC de Bitcoin Core |
list_rpc_commands | Lista todos los comandos RPC disponibles |
decode_xpub | Decodifica 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:
| Bandera | Valores | Predeterminado | Descripción |
|---|---|---|---|
--transport | stdio, sse, streamable-http | stdio | Transporte MCP para ejecutar |
--host | nombre de host / IP | 127.0.0.1 para transportes HTTP | Host de enlace para sse y streamable-http |
--port | entero | 8000 para transportes HTTP | Puerto de enlace para sse y streamable-http |
--log-level | DEBUG, INFO, WARNING, ERROR | INFO | Verbosidad de registro del servidor |
Ejemplo:
bitcoin-mcp --transport sse --host 127.0.0.1 --port 8000 --log-level DEBUG
| Variable | Descripción | Predeterminado |
|---|---|---|
BITCOIN_RPC_HOST | Host RPC de Bitcoin Core | 127.0.0.1 |
BITCOIN_RPC_PORT | Puerto RPC de Bitcoin Core | Automático por red |
BITCOIN_NETWORK | mainnet, testnet, signet o regtest | mainnet |
SATOSHI_API_URL | URL base de API de Satoshi compatible | Ninguna |
SATOSHI_API_KEY | Clave API para acceso autenticado | Ninguna |
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
- Fuente de la API de Satoshi — implementación de backend compatible opcional (servicio público alojado actualmente en pausa)
- Registro MCP —
io.github.Bortlesboat/bitcoin-mcp - PyPI
- GitHub
- Documentación completa de herramientas
Ejemplos
Consulta la carpeta examples/ para ver patrones de uso documentados:
- Análisis de tarifas — encuentra el momento óptimo de envío
- Monitor de mempool — rastrea la congestión
- Investigación de transacciones — decodifica y analiza transacciones
- Análisis de bloques — inspecciona y compara bloques
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