Bitcoin SV MCP Server
Servidor MCP de Bitcoin SV
⚠️ AVISO: Trabajo experimental en progreso
Este proyecto se encuentra en una fase experimental inicial. Las características pueden cambiar y la API aún no es estable. ¡Agradecemos sus contribuciones, comentarios e informes de errores! No dude en abrir incidencias o enviar solicitudes de incorporación de cambios.
Una colección de herramientas de Bitcoin SV (BSV) para el marco del Protocolo de Contexto de Modelo (MCP). Esta biblioteca proporciona funciones de billetera, ordinales y utilidades para la interacción con la blockchain de BSV.
Instalación y configuración
Usar pan (opcional pero recomendado)
Este proyecto se creó con Bun , un entorno de ejecución rápido de JavaScript y gestor de paquetes. Si bien se recomienda Bun para un rendimiento óptimo, el servidor también puede ejecutarse con Node.js y npm, ya que Bun está diseñado para ser retrocompatible con Node.
Instalación de Bun
macOS (usando Homebrew):
brew install oven-sh/bun/bunmacOS/Linux/WSL (usando el script de instalación):
curl -fsSL https://bun.sh/install | bashWindows: los usuarios de Windows deben usar WSL (Subsistema de Windows para Linux) o Docker para ejecutar Bun.
Node.js y npm también funcionarán, pero es posible que no ofrezcan los mismos beneficios de rendimiento.
Related MCP server: MNEE MCP Server
Conexión a clientes MCP
Este servidor implementa el Protocolo de Contexto de Modelo (MCP), lo que permite a los asistentes de IA utilizar las funcionalidades de Bitcoin SV. Puede conectar este servidor a varios clientes compatibles con MCP.

Nota: La variable de entorno
PRIVATE_KEY_WIFahora es opcional. Sin ella, el servidor funciona en modo limitado, con recursos educativos y herramientas que no son de billetera disponibles. Las operaciones con billeteras y tokens MNEE requieren una clave privada válida. También puede configurar la variable de entornoIDENTITY_KEY_WIFpara habilitar la firma con protocolo sigma de inscripciones de ordinales para autenticación, curación y web de confianza.
Cursor
Para utilizar el servidor BSV MCP con Cursor :
Instala Cursor si aún no lo has hecho
Abra Cursor y navegue a Configuración → Extensiones → Protocolo de contexto de modelo
Haga clic en "Agregar un nuevo servidor MCP global"
Introduzca la siguiente configuración en formato JSON:
{
"mcpServers": {
"Bitcoin SV": {
"command": "bunx",
"args": [
"bsv-mcp@latest"
],
"env": {
"PRIVATE_KEY_WIF": "<your_private_key_wif>",
"IDENTITY_KEY_WIF": "<your_identity_key_wif>"
}
}
}
}Reemplaza
<your_private_key_wif>con tu clave privada WIF (¡mantenla segura!). Si no tienes una, puedes omitirla por ahora, pero no podrás usar herramientas que requieran una billetera.<your_identity_key_wif>también es opcional. Firmará los ordinales 1Sat con el protocolo Sigma usando la clave de identidad proporcionada.Haga clic en "Guardar"
Las herramientas BSV ahora estarán disponibles para el asistente de inteligencia artificial de Cursor bajo el espacio de nombres "Bitcoin SV".
Alternativa para usuarios de npm
Si prefieres usar npm en lugar de Bun:
{
"mcpServers": {
"Bitcoin SV": {
"command": "npx",
"args": [
"bsv-mcp@latest"
],
"env": {
"PRIVATE_KEY_WIF": "<your_private_key_wif>",
"IDENTITY_KEY_WIF": "<your_identity_key_wif>"
}
}
}
}Claude para escritorio
Para conectar este servidor a Claude for Desktop:
Abra Claude para escritorio y vaya a Claude > Configuración > Desarrollador
Haga clic en "Editar configuración".
Abra el archivo JSON de configuración de Claude en su editor de texto favorito. Si prefiere hacerlo desde la CLI:
# macOS/Linux
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Windows
code %APPDATA%\Claude\claude_desktop_config.jsonAgregue el servidor BSV MCP a su configuración:
{ "mcpServers": { "Bitcoin SV": { "command": "bun", "args": [ "run", "bsv-mcp@latest" ], "env": { "PRIVATE_KEY_WIF": "<your_private_key_wif>", "IDENTITY_KEY_WIF": "<your_identity_key_wif>" } } } }Reemplace
<your_private_key_wif>con su clave privada WIF realGuarde el archivo y reinicie Claude for Desktop
Las herramientas BSV aparecerán cuando haga clic en el ícono de herramientas (martillo) en Claude para escritorio
Alternativa para usuarios de npm (Claude)
Si prefiere utilizar npm en lugar de Bun, reemplace el campo "comando" con "npx".
Herramientas disponibles
El kit de herramientas está organizado en varias categorías:
Herramientas de billetera
Las herramientas de billetera proporcionan la funcionalidad principal de la billetera BSV:
Nombre de la herramienta | Descripción | Ejemplo de salida |
| Recupera una clave pública para un protocolo y un ID de clave específicos |
|
| Crea una firma criptográfica para los datos proporcionados |
|
| Verifica una firma criptográfica con los datos proporcionados |
|
| Herramienta combinada para cifrar y descifrar datos mediante las claves criptográficas de la billetera. Ejemplos: 1. Cifrar texto: | Cifrar: |
| Devuelve una dirección BSV para la billetera actual o una ruta derivada |
|
| Envía BSV a una dirección específica (admite montos en BSV o USD) |
|
| Compra NFT o tokens BSV-20/BSV-21 de los listados del mercado |
|
| Crea e inscribe ordinales en la cadena de bloques BSV |
|
Herramientas BSV
Herramientas para interactuar con la cadena de bloques y la red BSV:
Nombre de la herramienta | Descripción | Ejemplo de salida |
| Obtiene el precio actual de BSV desde una API de intercambio |
|
| Decodifica una transacción BSV y devuelve información detallada |
|
| Herramienta integral de exploración de blockchain que accede a los puntos finales de la API de WhatsOnChain |
|
Herramientas de ordinales
Herramientas para trabajar con ordinales (NFT) en BSV:
Nombre de la herramienta | Descripción | Ejemplo de salida |
| Recupera información detallada sobre una inscripción específica |
|
| Búsquedas de inscripciones basadas en diversos criterios |
|
| Recupera listados de mercado para tokens NFT, BSV-20 y BSV-21 con una interfaz unificada |
|
| Obtiene información sobre las ventas en el mercado de tokens BSV-20 y BSV-21 |
|
| Recupera detalles sobre un token BSV20 específico por ID |
|
Herramientas de utilidad
Funciones de utilidad de propósito general:
Nombre de la herramienta | Descripción | Ejemplo de salida |
| Convierte datos entre diferentes formatos de codificación (utf8, hex, base64, binario). Parámetros: - |
|
Herramientas MNEE
Herramientas para trabajar con tokens MNEE:
Nombre de la herramienta | Descripción | Ejemplo de salida |
| Recupera el saldo actual del token MNEE para la billetera |
|
| Envía tokens MNEE a una dirección específica. Admite cantidades de MNEE y USD. |
|
| Analice una transacción MNEE para obtener información detallada sobre sus operaciones y montos. Todos los montos se expresan en unidades atómicas con una precisión de 5 decimales (p. ej., 1000 unidades atómicas = 0,01 MNEE). |
|
Uso de las herramientas con MCP
Una vez conectado, podrá interactuar con Bitcoin SV en lenguaje natural a través de su asistente de IA. Aquí tiene algunos ejemplos:
Operaciones de billetera
Obtener mi dirección de Bitcoin SV
"Enviar 0,01 BSV a 1ExampleBsvAddressXXXXXXXXXXXXXXXXXX"
"Envía BSV por valor de $5 USD a 1ExampleBsvAddressXXXXXXXXXXXXXXXXXX"
"Enviar 0,01 MNEE a 1ExampleBsvAddressXXXXXXXXXXXXXXXXXX"
Consultar mi saldo de MNEE
Analizar esta transacción MNEE: txid
"Cifrar este mensaje con las claves de mi billetera"
"Descifrar estos datos que previamente fueron cifrados para mí"
Compra este NFT: txid_vout
Compre este token BSV-20: txid_vout
Ordinales (NFT)
Muéstrame información sobre el NFT con el punto de salida 6a89047af2cfac96da17d51ae8eb62c5f1d982be2bc4ba0d0cd2084b7ffed325_0
Búsqueda de NFT de Pixel Zoide
"Muéstrame las listas actuales de NFT de BSV en el mercado"
Muéstrame listados de tokens BSV-20 para el ticker PEPE.
Consulta las ventas recientes de tokens BSV-20.
Operaciones de blockchain
"¿Cuál es el precio actual del BSV?"
"Decodificar esta transacción BSV: (código hexadecimal o ID de la transacción)"
Obtén la información más reciente sobre la cadena Bitcoin SV.
"Muéstrame los detalles del bloque para la altura 800000"
Explorar el historial de transacciones de la dirección 1ExampleBsvAddressXXXX
"Verificar las salidas no gastadas (UTXO) de mi dirección de billetera"
Obtener detalles de la transacción con hash a1b2c3d4e5f6
Conversión de datos
Convertir "Hola Mundo" de UTF-8 a formato hexadecimal
Indicaciones y recursos de MCP
El servidor MCP de BSV ofrece indicaciones y recursos especializados que proporcionan información detallada y contexto sobre las tecnologías de Bitcoin SV. Los modelos de IA pueden acceder a ellos para mejorar su comprensión y capacidades.
Indicaciones disponibles
El servidor proporciona las siguientes indicaciones educativas a las que se puede acceder directamente a través del protocolo MCP:
Indicación de ordinales
Identificador :
bitcoin_sv_ordinalsDescripción : Información completa sobre los ordinales de Bitcoin SV, incluyendo qué son, cómo funcionan y cómo usarlos.
Uso : Pregunte al asistente sobre "Ordinales de Bitcoin SV" u "Ordinales 1Sat" para acceder a esta información.
Indicaciones del SDK de BSV
Una colección de indicaciones que brindan información detallada sobre el SDK de Bitcoin SV:
Descripción general
Identificador :
bitcoin_sv_sdk_overviewDescripción : Descripción general del SDK de Bitcoin SV, incluido su propósito y componentes principales.
Uso : "Cuéntame sobre el SDK de BSV" o "¿Qué es el SDK de Bitcoin SV?"
Operaciones de billetera
Identificador :
bitcoin_sv_sdk_walletDescripción : Información sobre las operaciones de billetera en el SDK de BSV.
Uso : "¿Cómo funcionan las operaciones de billetera en el SDK de BSV?"
Edificio de transacciones
Identificador :
bitcoin_sv_sdk_transactionDescripción : Detalles sobre la creación y manipulación de transacciones.
Uso : "Explique la creación de transacciones con BSV SDK" o "¿Cómo creo transacciones con BSV SDK?"
Autenticación
Identificador :
bitcoin_sv_sdk_authDescripción : Protocolos de autenticación e identidad en BSV SDK.
Uso : "¿Cómo funciona la autenticación con BSV SDK?"
Criptografía
Identificador :
bitcoin_sv_sdk_cryptographyDescripción : Funcionalidad de firma, cifrado y verificación.
Uso : "Explicar las funciones criptográficas del SDK de BSV"
Scripting
Identificador :
bitcoin_sv_sdk_scriptDescripción : Capacidades de creación de scripts y contratos de Bitcoin.
Uso : "¿Cómo trabajo con scripts de Bitcoin usando el SDK BSV?"
Primitivos
Identificador :
bitcoin_sv_sdk_primitivesDescripción : Tipos de datos y estructuras principales en el SDK de BSV.
Uso : "¿Qué primitivas están disponibles en el SDK de BSV?"
Recursos disponibles
El servidor también proporciona acceso a las especificaciones y documentación de la Solicitud de comentarios (BRC) de Bitcoin:
Recurso del registro de cambios
Identificador :
bsv-mcp-changelogDescripción : Historial de versiones y registro de cambios del servidor BSV MCP.
Uso : "Muéstrame el registro de cambios de BSV MCP" o "¿Qué hay de nuevo en la última versión?"
Recursos de BRC
Descripción general de los BRC
Identificador :
brcs_readmeDescripción : Descripción general de todas las especificaciones del protocolo Bitcoin SV en el repositorio BRC.
Uso : "Muéstrame la descripción general de los BRC de Bitcoin SV"
Resumen de BRC
Identificador :
brcs_summaryDescripción : Tabla de contenidos de todos los BRC de Bitcoin SV.
Uso : "Dame un resumen de los BRC de Bitcoin SV"
Especificaciones específicas de BRC
Identificador :
brc_specDescripción : Acceda a especificaciones BRC específicas por categoría y número.
Uso : "Muéstrame BRC 8 en los sobres de transacción" o "¿Qué especifica BRC 1?"
Categorías BRC
Las especificaciones BRC están organizadas en las siguientes categorías:
Billetera
Actas
Guiones
Fichas
Superposiciones
Pagos
De igual a igual
Derivación de claves
Puntos de salida
Opiniones
Máquinas de estados
Aplicaciones
Uso de indicaciones y recursos
Los modelos de IA pueden usar estas indicaciones y recursos para proporcionar respuestas más precisas y detalladas sobre las tecnologías de Bitcoin SV. Como usuario, puedes:
Pregunte sobre un tema específico : "Cuénteme sobre los ordinales de Bitcoin SV" o "Explique la creación de transacciones del SDK de BSV".
Solicitar detalles específicos del BRC : "¿Qué especifica el BRC 8?" o "Muéstrame el BRC al crear la transacción".
Obtenga descripciones generales : "¿Qué es el SDK de BSV?" o "Muéstrame un resumen de todos los BRC".
Estas indicaciones y recursos mejoran la base de conocimientos de la IA, lo que permite respuestas más técnicas y precisas incluso para temas complejos de Bitcoin SV.
Cómo funciona MCP
Cuando interactúas con un asistente de IA habilitado para MCP:
La IA analiza tu solicitud y decide qué herramientas utilizar
Con su aprobación, llama a la herramienta BSV MCP adecuada
El servidor ejecuta la operación solicitada en la cadena de bloques de Bitcoin SV
Los resultados se devuelven al asistente de IA.
El asistente presenta la información de forma natural y conversacional.
Opciones de personalización
El servidor BSV MCP se puede personalizar mediante variables de entorno para habilitar o deshabilitar componentes específicos:
Configuración de componentes
Variable de entorno | Por defecto | Descripción |
|
| Establezca en |
|
| Establezca como |
|
| Establezca en |
Configuración específica de la herramienta
Variable de entorno | Por defecto | Descripción |
|
| Establezca en |
|
| Establezca en |
|
| Establezca en |
|
| Establezca en |
|
| Establezca en |
|
| WIF opcional para clave de identidad; si se configura, las inscripciones de ordinales se firmarán con el protocolo sigma para autenticación, curación y web de confianza. |
|
| Establezca en |
Ejemplos
Ejecute únicamente con recursos y estímulos educativos, sin herramientas:
DISABLE_TOOLS=true bunx bsv-mcp@latestEjecute solo con herramientas BSV, sin billetera ni otra funcionalidad:
DISABLE_PROMPTS=true DISABLE_RESOURCES=true DISABLE_WALLET_TOOLS=true DISABLE_MNEE_TOOLS=true DISABLE_ORDINALS_TOOLS=true DISABLE_UTILS_TOOLS=true bunx bsv-mcp@latestUtilice todas las herramientas excepto las operaciones de billetera:
DISABLE_WALLET_TOOLS=true bunx bsv-mcp@latestCrear transacciones sin difundirlas (modo de prueba):
DISABLE_BROADCASTING=true bunx bsv-mcp@latestSolución de problemas
Si tiene problemas con el servidor BSV MCP:
Problemas de conexión
Asegúrese de que Bun o Node.js esté instalado en su sistema
Verifique que su clave privada WIF esté configurada correctamente en el entorno
Compruebe que su cliente sea compatible con MCP y esté configurado correctamente
Busque mensajes de error en la salida de la consola del cliente
Manteniendo a Bun actualizado
Es importante mantener Bun actualizado a la última versión para garantizar la compatibilidad:
# Update Bun to the latest version
bun upgradePara verificar su versión actual de Bun:
bun --versionRegistro y depuración
Para Claude for Desktop, consulte los registros en:
# macOS/Linux
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
# Windows
type %APPDATA%\Claude\Logs\mcp*.logPara Cursor, verifique los registros de MCP de Cursor en Configuración → Extensiones → Protocolo de contexto de modelo.
Actualizaciones recientes
Control de transmisión de transacciones : se agregó la variable de entorno
DISABLE_BROADCASTINGpara evitar que las transacciones se transmitan a la redBlockchain Explorer : Se agregó la herramienta
bsv_explorepara el acceso a la API de WhatsOnChain con compatibilidad con mainnet/testnetHerramientas unificadas :
wallet_encryptywallet_decryptse fusionaron en una única herramientawallet_encryptionMercado mejorado : compatibilidad con NFT y tokens BSV-20/21 en listados, ventas y compras
Rendimiento : Se agregó almacenamiento en caché de precios y se optimizó la estructura del punto final de la API.
Validación mejorada : mejor manejo de errores para claves privadas y parámetros
Explorador de cadenas de bloques de Bitcoin SV
La herramienta bsv_explore proporciona acceso completo a la blockchain de Bitcoin SV a través de la API WhatsOnChain. Esta potente herramienta de exploración permite consultar diversos aspectos de la blockchain, incluyendo datos de la cadena, bloques, transacciones e información de direcciones.
Puntos finales disponibles
La herramienta admite las siguientes categorías de puntos finales y puntos finales específicos:
Datos de la cadena
Punto final | Descripción | Parámetros requeridos | Ejemplo de respuesta |
| Estadísticas de red, dificultad y trabajo en cadena | Ninguno |
|
| Consejos actuales sobre la cadena, incluidas alturas y estados | Ninguno |
|
| Suministro circulante actual de BSV | Ninguno |
|
| Estadísticas de pares conectados | Ninguno |
|
Bloquear datos
Punto final | Descripción | Parámetros requeridos | Ejemplo de respuesta |
| Datos de bloque completos mediante hash |
|
|
| Datos de bloque completos por altura |
|
|
| Estadísticas sobre el recuento de etiquetas para un bloque específico |
|
|
| Recupera los últimos 10 encabezados de bloque | Ninguno |
|
| Recupera páginas de ID de transacciones para bloques grandes |
|
|
Datos estadísticos
Punto final | Descripción | Parámetros requeridos | Ejemplo de respuesta |
| Estadísticas de bloque para una altura específica |
|
|
| Estadísticas de minería de bloques durante un período de tiempo | opcional: |
|
| Resumen de las estadísticas mineras | opcional: |
|
Datos de la transacción
Punto final | Descripción | Parámetros requeridos | Ejemplo de respuesta |
| Datos detallados de las transacciones |
|
|
| Datos hexadecimales de transacciones sin procesar |
|
|
| Recibo de transacción |
|
|
| Recuperar múltiples transacciones en una sola solicitud |
|
|
Datos de dirección
Punto final | Descripción | Parámetros requeridos | Ejemplo de respuesta |
| Historial de transacciones de la dirección |
|
|
| Salidas no utilizadas para la dirección |
|
|
Red
Punto final | Descripción | Parámetros requeridos | Ejemplo de respuesta |
| Comprobación del estado de la API | Ninguno |
|
Ejemplos de uso
La herramienta bsv_explore se puede utilizar con indicaciones en lenguaje natural como:
"Get the current Bitcoin SV blockchain information"
"Show me block #800000 details"
"Get tag count statistics for block #800000"
"Fetch transaction history for address 1ExampleBsvAddressXXXXXXXX"
"Get unspent outputs for my wallet address"
"Check transaction details for txid a1b2c3d4e5f6..."
"What is the current BSV circulating supply?"
"Show me the latest block headers"
"Get transaction IDs for page 2 of a large block"
"Show me block statistics for height 800000"
"What are the mining statistics for the last 14 days?"
"Get a summary of mining activity over the past 30 days"
"Retrieve details for multiple transactions in a single query"Bajo el capó, la herramienta acepta parámetros para especificar qué datos recuperar:
endpoint: el punto final específico de WhatsOnChain para consultar (por ejemplo,chain_info,tx_by_hash)network: La red BSV a utilizar (mainotest)Parámetros adicionales según lo requiera el punto final específico:
blockHash: para puntos finales block_by_hash y block_pagesblockHeight: para los puntos finales block_by_height, tag_count_by_height y block_stats_by_heightpageNumber: Para el punto final block_pages (paginación)days: para los puntos finales block_miner_stats y miner_summary_stats (el valor predeterminado es 7)txHash: para puntos finales relacionados con transacciones (tx_by_hash, tx_raw, tx_receipt)txids: para el punto final bulk_tx_details (matriz de ID de transacción)address: para puntos finales relacionados con la direcciónlimit: límite de paginación opcional para address_history
Opciones de red
La herramienta es compatible tanto con la red principal como con la red de prueba:
main: red principal de Bitcoin SV (predeterminada)test: red de pruebas de Bitcoin SV
Desarrollo
Configuración del proyecto
Si quieres contribuir al proyecto o ejecutarlo localmente:
Clonar el repositorio:
git clone https://github.com/b-open-io/bsv-mcp.git cd bsv-mcpInstalar dependencias:
bun install # or with npm npm install
Ejecución del servidor
bun run index.ts
# or with npm
npm run startEjecución de pruebas
bun test
# or with npm
npm testLicencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
Available Tools
9 toolsbsv_decodeTransactionA
Decodes and analyzes Bitcoin SV transactions to provide detailed insights. This powerful tool accepts either a transaction ID or raw transaction data and returns comprehensive information including inputs, outputs, fee calculations, script details, and blockchain context. Supports both hex and base64 encoded transactions and automatically fetches additional on-chain data when available.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses behavioral traits such as supporting hex/base64 encoding, fetching on-chain data, and returning detailed insights, but lacks information on error handling, rate limits, or authentication needs, which are important for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core purpose. Every sentence adds value, such as input formats and output details, but it could be slightly more streamlined by avoiding redundant phrases like 'powerful tool'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (1 parameter with nested objects, no output schema, and no annotations), the description is somewhat complete but lacks details on return values, error cases, or performance considerations. It covers input semantics well but falls short in fully compensating for the missing structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema, which has 0% coverage. It explains that 'tx' can be a transaction ID or raw data and clarifies encoding options, effectively compensating for the schema's lack of descriptions. However, it doesn't detail the structure of 'args' or provide examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('decodes and analyzes') and resource ('Bitcoin SV transactions'), distinguishing it from siblings like price checking or ordinal tools. It specifies the comprehensive insights returned, making the function unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by mentioning it accepts transaction IDs or raw data, but does not explicitly state when to use this tool versus alternatives like bsv_explore or other Bitcoin-related tools. No exclusions or clear alternatives are provided, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bsv_exploreA
Explore Bitcoin SV blockchain data using the WhatsOnChain API. Access multiple data types:
CHAIN DATA:
chain_info: Network stats, difficulty, and chain work
chain_tips: Current chain tips including heights and states
circulating_supply: Current BSV circulating supply
peer_info: Connected peer statistics
BLOCK DATA:
block_by_hash: Complete block data via hash (requires blockHash parameter)
block_by_height: Complete block data via height (requires blockHeight parameter)
tag_count_by_height: Stats on tag count for a specific block via height (requires blockHeight parameter)
block_headers: Retrieves the last 10 block headers
block_pages: Retrieves pages of transaction IDs for large blocks (requires blockHash and optional pageNumber)
STATS DATA:
block_stats_by_height: Block statistics for a specific height (requires blockHeight parameter)
block_miner_stats: Block mining statistics for a time period (optional days parameter, default 7)
miner_summary_stats: Summary of mining statistics (optional days parameter, default 7)
TRANSACTION DATA:
tx_by_hash: Detailed transaction data (requires txHash parameter)
tx_raw: Raw transaction hex data (requires txHash parameter)
tx_receipt: Transaction receipt (requires txHash parameter)
bulk_tx_details: Bulk transaction details (requires txids parameter as array of transaction hashes)
ADDRESS DATA:
address_history: Transaction history for address (requires address parameter, optional limit)
address_utxos: Unspent outputs for address (requires address parameter)
NETWORK:
health: API health check
Use the appropriate parameters for each endpoint type and specify 'main' or 'test' network.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description lists endpoint functionalities but lacks critical behavioral details: it doesn't specify whether operations are read-only or mutative, rate limits, authentication requirements, error handling, or response formats. While it mentions 'API health check' and parameter requirements, it fails to provide comprehensive behavioral context needed for safe and effective tool invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with categorized sections (CHAIN DATA, BLOCK DATA, etc.) and bullet points for each endpoint, making it easy to scan. It is appropriately sized for a tool with 19 endpoints, though some redundancy exists (e.g., repeating 'requires X parameter' could be streamlined). Every sentence adds value by clarifying endpoint purposes and parameter mappings, with no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (19 endpoints, no annotations, no output schema, and nested input schema), the description is partially complete. It excels in documenting endpoints and parameter mappings but lacks behavioral details (e.g., read/write nature, rate limits) and output information. Without annotations or output schema, the description should ideally cover more behavioral aspects to fully guide the agent, leaving gaps in operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema, which has 0% schema description coverage. It explicitly maps each endpoint to required parameters (e.g., 'block_by_hash: Complete block data via hash (requires blockHash parameter)'), provides optional parameters with defaults (e.g., 'days parameter, default 7'), and clarifies parameter usage across endpoints. This compensates fully for the schema's lack of descriptions, making parameter semantics clear and actionable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Explore Bitcoin SV blockchain data using the WhatsOnChain API. Access multiple data types:' followed by a comprehensive categorization of endpoints (CHAIN DATA, BLOCK DATA, etc.). It specifies the verb 'explore' and resource 'Bitcoin SV blockchain data', distinguishing it from sibling tools like bsv_decodeTransaction (decodes transactions) or bsv_getPrice (gets price data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: for exploring Bitcoin SV blockchain data via the WhatsOnChain API, with a list of specific endpoint types. It explicitly states 'Use the appropriate parameters for each endpoint type and specify 'main' or 'test' network.' However, it does not explicitly mention when not to use it or name alternatives among sibling tools (e.g., using bsv_decodeTransaction for transaction decoding instead of this tool's tx_by_hash).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bsv_getPriceA
Retrieves the current price of Bitcoin SV (BSV) in USD from a reliable exchange API. This tool provides real-time market data that can be used for calculating transaction values, monitoring market conditions, or converting between BSV and fiat currencies.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | No parameters required - simply returns the current BSV price in USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the tool fetches 'real-time market data' and mentions the source ('reliable exchange API'), which adds useful context. However, it doesn't mention potential limitations like rate limits, authentication requirements, error conditions, or data freshness guarantees that would be important for a price API tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with two sentences: the first states the core functionality, and the second provides usage context. Every sentence adds value without redundancy, and it's appropriately front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple price retrieval tool with no annotations and no output schema, the description provides adequate purpose and usage context. However, it lacks details about the return format (e.g., numeric value, timestamp, currency pair), error handling, or data source specifics that would be helpful given the absence of structured output documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100% and clearly states 'No parameters required - simply returns the current BSV price in USD'. The description reinforces this by not mentioning any parameters, which is appropriate for a zero-parameter tool. The baseline for 0 parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Retrieves'), resource ('current price of Bitcoin SV (BSV) in USD'), and data source ('from a reliable exchange API'). It distinguishes itself from siblings by focusing on real-time price data rather than transaction decoding, exploration, or ordinal-related functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('calculating transaction values, monitoring market conditions, or converting between BSV and fiat currencies'). However, it doesn't explicitly state when not to use it or name specific alternatives among the sibling tools for similar price data needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ordinals_getInscriptionA
Retrieves detailed information about a specific ordinal inscription by its outpoint. Returns complete inscription data including content type, file information, inscription origin, and current status. Useful for verifying NFT authenticity or retrieving metadata about digital artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return data ('complete inscription data including content type, file information, inscription origin, and current status'), which is helpful. However, it lacks details on error handling, rate limits, authentication needs, or performance characteristics, leaving gaps for a mutation-free but data-rich tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by return details and usage context in two efficient sentences. Every sentence adds value without redundancy, making it appropriately sized and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (data retrieval with detailed output), no annotations, and no output schema, the description is moderately complete. It outlines the purpose and return data but lacks specifics on output structure, error cases, or operational constraints, which are important for a tool with rich data returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning by specifying the parameter as 'outpoint' and implying its critical role in identifying the inscription, though it does not detail the format beyond what the schema provides ('Outpoint in format 'txid_vout''). For a single parameter tool, this provides adequate context, but not exhaustive detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('retrieves detailed information') and resource ('about a specific ordinal inscription by its outpoint'), distinguishing it from siblings like ordinals_searchInscriptions (searching) or ordinals_getTokenByIdOrTicker (tokens). It provides a precise verb+resource combination that leaves no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('useful for verifying NFT authenticity or retrieving metadata about digital artifacts'), providing clear context. However, it does not specify when NOT to use it or name alternatives (e.g., ordinals_searchInscriptions for broader searches), which prevents a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ordinals_getTokenByIdOrTickerB
Retrieves detailed information about a specific BSV-20 token by its ID or ticker symbol. Returns complete token data including ticker symbol, supply information, decimals, and current status. This tool is useful for verifying token authenticity or checking supply metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool retrieves detailed information and returns complete token data, which implies a read-only operation, but doesn't explicitly state whether it's safe, requires authentication, has rate limits, or what happens on errors. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: the first states the purpose and parameters, and the second provides usage context. It's front-loaded with the core functionality, and every sentence adds value without redundancy. However, it could be slightly more structured by explicitly listing return fields or constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (1 parameter with nested objects, no output schema, no annotations), the description is moderately complete. It covers the purpose, parameters, and usage context but lacks details on return values, error handling, or behavioral traits. Without an output schema, it should ideally explain what 'complete token data' includes, but it doesn't. It's adequate for basic use but has clear gaps for full agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning by specifying that the tool retrieves information 'by its ID or ticker symbol,' which aligns with the two properties in the input schema (id and tick). However, with 0% schema description coverage, the schema provides no descriptions for these parameters. The description compensates somewhat by indicating what the parameters represent, but it doesn't detail formats (e.g., ID as outpoint) or usage rules (e.g., exclusive OR). Baseline is 3 as it adds some value but doesn't fully compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving detailed information about a specific BSV-20 token by ID or ticker symbol. It specifies the resource (BSV-20 token) and action (retrieving detailed information), and distinguishes it from siblings like ordinals_getInscription or ordinals_marketListings by focusing on token data rather than inscriptions or market listings. However, it doesn't explicitly differentiate from all siblings (e.g., bsv_explore might also retrieve data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by stating it's 'useful for verifying token authenticity or checking supply metrics,' which suggests when to use it. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like bsv_explore or ordinals_searchInscriptions, nor does it specify prerequisites or exclusions. The guidance is present but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ordinals_marketListingsC
Retrieves current marketplace listings for Bitcoin SV ordinals with flexible filtering. Supports multiple asset types (NFTs, BSV-20 tokens, BSV-21 tokens) through a unified interface. Results include listing prices, details about the assets, and seller information.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool 'retrieves' listings and includes details like prices and seller info, but fails to describe critical behaviors such as pagination handling (implied by 'offset' and 'limit' parameters), rate limits, authentication requirements, error conditions, or the structure of returned results. For a tool with 14 parameters and no output schema, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized at three sentences, front-loaded with the core purpose. Each sentence adds value: the first states the action and scope, the second details asset types, and the third specifies result contents. There's no redundant information, and it's structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (14 parameters, nested objects, no annotations, no output schema), the description is incomplete. It covers the purpose and result types but lacks essential context such as behavioral traits (e.g., pagination, errors), detailed parameter guidance, and differentiation from siblings. Without an output schema, the description should ideally explain return values, but it only mentions them superficially ('listing prices, details about the assets, and seller information').
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning all 14 parameters lack descriptions in the schema. The description compensates partially by mentioning 'flexible filtering' and listing the types of results included (prices, asset details, seller information), which hints at parameters like 'minPrice', 'maxPrice', and 'tokenType'. However, it doesn't explain the semantics of most parameters (e.g., 'id', 'origin', 'pending'), leaving many undocumented. Baseline is 3 due to some compensation but incomplete coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Retrieves current marketplace listings for Bitcoin SV ordinals with flexible filtering.' It specifies the resource (marketplace listings) and the action (retrieves), and mentions support for multiple asset types. However, it doesn't explicitly differentiate from sibling tools like 'ordinals_marketSales' or 'ordinals_searchInscriptions', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions 'flexible filtering' but doesn't specify scenarios where this tool is preferred over siblings like 'ordinals_marketSales' (which might retrieve sales history) or 'ordinals_searchInscriptions' (which might search inscriptions without marketplace context). No explicit when/when-not instructions or named alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ordinals_marketSalesB
Retrieves recent sales data for BSV-20 and BSV-21 tokens on the ordinals marketplace. This tool provides insights into market activity, including sale prices, transaction details, and token information. Supports filtering by token ID, ticker symbol, or seller address to help analyze market trends and track specific token sales.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool 'retrieves recent sales data' and 'provides insights into market activity,' which implies a read-only operation, but doesn't explicitly state this is a query tool with no side effects. It also doesn't disclose rate limits, authentication requirements, data freshness, or pagination behavior (though pagination parameters exist in the schema). The description adds some behavioral context about what data is returned but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences that each add value: first states core purpose, second explains what insights are provided, third describes filtering capabilities and use cases. It's front-loaded with the main purpose and avoids unnecessary repetition. Some minor wordiness exists ('to help analyze market trends and track specific token sales' could be tighter).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (8 parameters in a nested structure, no output schema, no annotations), the description provides basic purpose and filtering context but is incomplete. It doesn't explain the return format, pagination behavior, default tokenType, or what 'recent' means temporally. For a sales data retrieval tool with rich filtering options, more contextual information would be helpful despite the lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions filtering 'by token ID, ticker symbol, or seller address' which maps to three of the eight parameters (id, tick, address). However, with 0% schema description coverage, the description doesn't compensate for the undocumented parameters (dir, limit, offset, pending, tokenType). The description adds some semantic value for three parameters but leaves five completely undocumented beyond the schema structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'retrieves recent sales data for BSV-20 and BSV-21 tokens on the ordinals marketplace' with specific verbs ('retrieves', 'provides insights') and resources ('sales data', 'BSV-20 and BSV-21 tokens'). It distinguishes from siblings like ordinals_marketListings (which likely shows current listings rather than completed sales) and ordinals_getTokenByIdOrTicker (which retrieves token metadata rather than sales data), though the differentiation could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by stating it 'helps analyze market trends and track specific token sales' and mentions filtering capabilities, but doesn't explicitly state when to use this tool versus alternatives like ordinals_marketListings or bsv_getPrice. It provides some guidance through the filtering mention but lacks explicit when/when-not instructions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ordinals_searchInscriptionsB
Searches for Bitcoin SV ordinal inscriptions using flexible criteria. This powerful search tool supports filtering by address, inscription content, MIME type, MAP fields, and other parameters. Results include detailed information about each matched inscription. Ideal for discovering NFTs and exploring the ordinals ecosystem.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral disclosure. It mentions 'results include detailed information' but doesn't specify what that includes, format, or any limitations. No information about rate limits, authentication needs, error conditions, or pagination behavior beyond what's implied in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with zero waste - first states purpose, second enumerates capabilities, third provides usage context. Well-structured and appropriately sized for a search tool with multiple parameters. Could be slightly more front-loaded with explicit sibling differentiation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex search tool with 9 nested parameters, 0% schema coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain return format, error handling, performance characteristics, or provide examples. The 'detailed information' claim is too vague for an agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates by listing supported filter criteria: 'address, inscription content, MIME type, MAP fields, and other parameters.' This provides meaningful context about what the args object contains, though it doesn't explain individual parameter purposes or relationships. The description adds value beyond the bare schema but doesn't fully document all 9 nested parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'searches for Bitcoin SV ordinal inscriptions using flexible criteria' with specific verb+resource. It distinguishes from siblings like ordinals_getInscription (specific retrieval) and ordinals_marketListings (market-focused), though not explicitly named. However, it doesn't fully differentiate from potential general search tools like bsv_explore.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('ideal for discovering NFTs and exploring the ordinals ecosystem') but doesn't explicitly state when to use this tool versus alternatives. It mentions 'powerful search tool' but provides no guidance on when to choose it over other search or retrieval tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
utils_convertDataA
Converts data between different encodings (utf8, hex, base64, binary). Useful for transforming data formats when working with blockchain data, encryption, or file processing.
Parameters:
data (required): The string to convert
from (required): Source encoding format (utf8, hex, base64, or binary)
to (required): Target encoding format (utf8, hex, base64, or binary)
Example usage:
UTF-8 to hex: {"data": "hello world", "from": "utf8", "to": "hex"} → 68656c6c6f20776f726c64
UTF-8 to base64: {"data": "Hello World", "from": "utf8", "to": "base64"} → SGVsbG8gV29ybGQ=
base64 to UTF-8: {"data": "SGVsbG8gV29ybGQ=", "from": "base64", "to": "utf8"} → Hello World
hex to base64: {"data": "68656c6c6f20776f726c64", "from": "hex", "to": "base64"} → aGVsbG8gd29ybGQ=
Notes:
All parameters are required
The tool returns the converted data as a string
For binary conversion, data is represented as an array of byte values
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: all parameters are required, returns converted data as a string, and explains binary representation. It doesn't mention error handling, performance characteristics, or side effects, but covers essential operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and appropriately sized. It starts with a clear purpose statement, provides usage context, documents parameters with examples, and adds important notes. Every sentence adds value, and the information is front-loaded with the most important details first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a data conversion tool with no annotations and no output schema, the description does an excellent job covering purpose, parameters, and basic behavior. The examples are particularly helpful. It could be more complete by mentioning error cases or performance considerations, but it provides sufficient context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0% (no parameter descriptions in schema), so the description fully compensates. It clearly documents all three parameters, their required status, valid values for 'from' and 'to' (utf8, hex, base64, binary), and provides multiple examples showing exactly how to use them together.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Converts') and resource ('data between different encodings'), and distinguishes it from sibling tools by focusing on data format transformation rather than blockchain or ordinal operations. The examples further clarify the exact functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use the tool ('useful for transforming data formats when working with blockchain data, encryption, or file processing'), but doesn't explicitly state when NOT to use it or name specific alternatives among sibling tools. The guidance is helpful but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
v1.0.0- First observed
bsv_decodeTransaction - First observed
bsv_explore - First observed
bsv_getPrice - First observed
ordinals_getInscription - First observed
ordinals_getTokenByIdOrTicker - First observed
ordinals_marketListings - First observed
ordinals_marketSales - First observed
ordinals_searchInscriptions - First observed
utils_convertData
TDQS
Scored across 9 tools
The tools have clear domains (BSV blockchain, ordinals, utilities), but within the bsv_explore tool, many sub-endpoints (e.g., block_by_hash, address_history) are bundled under one tool, which could cause confusion as they represent distinct operations. Other tools like ordinals_getInscription and ordinals_searchInscriptions have overlapping purposes but are differentiated by specific vs. search functionality.
Most tools follow a consistent prefix_snake_case pattern (e.g., bsv_decodeTransaction, ordinals_getInscription, utils_convertData), with clear domain prefixes. However, bsv_explore is an outlier as it groups multiple operations under one name, deviating from the single-action-per-tool convention seen elsewhere.
With 9 tools, the count is reasonable for covering Bitcoin SV blockchain, ordinals, and utilities. However, the bsv_explore tool effectively bundles many sub-operations, making the actual functionality count higher than 9, which could be seen as slightly heavy but still manageable.
The toolset covers key areas: transaction decoding, blockchain exploration, price data, ordinals (inscriptions, tokens, marketplace), and data conversion. Minor gaps include lack of tools for creating or broadcasting transactions, and deeper wallet or smart contract operations, but core read-only and analysis functions are well-represented for the domain.
Maintenance
Related MCP Connectors
OpenAI-compatible LLM MCP (7 tools); chat via balance key or x402 USDC on Base
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Bitcoin and YouTube video intelligence for AI agents. Pay-per-call via x402 USDC on Base.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that extends AI capabilities by providing tools to interact with the Solana blockchain, enabling operations like transactions, account queries, and wallet management.1Apache 2.0
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI agents to interact with MNEE stablecoin on Bitcoin SV, including checking balances, transferring tokens, and querying transaction history in both sandbox and production environments.-

aibtc-mcp-serverofficial
AlicenseNot gradedqualityAmaintenanceA Bitcoin-native MCP server for AI agents that provides 150+ tools for BTC and Stacks operations. Supports wallets, DeFi yield, sBTC peg, NFTs, and x402 payments.470 npm10MIT- AlicenseCqualityDmaintenanceEnables AI applications to interact with the Bitcoin Network, manage wallets, check balances, convert prices, and send transactions.435 npm6MIT