OneSource MCP
43 herramientas para consultas en vivo de blockchain en Ethereum, Sepolia y Avalanche, que incluyen saldos de tokens, metadatos de NFT, registros de eventos, detección de contratos, resolución de ENS y documentación de la API GraphQL.
Documentación
@one-source/mcp
Servidor MCP unificado para OneSource — 83 herramientas para datos de blockchain, consultas de cadena en vivo, datos de mercado Deepstate, The Standard Reserve y documentación de la API REST en un solo servidor.
¿Qué es MCP? El Protocolo de Contexto de Modelos permite que los asistentes de IA llamen herramientas y accedan a fuentes de datos. Este servidor expone tanto la API de blockchain de OneSource como su documentación como herramientas.
Inicio Rápido
Claude Code
claude mcp add onesource -- npx -y @one-source/mcp@latest
Claude Desktop / Cursor
Añade a tu configuración de MCP:
{
"mcpServers": {
"onesource": {
"command": "npx",
"args": ["-y", "@one-source/mcp@latest"]
}
}
}
Cualquier Cliente MCP (stdio)
npx -y @one-source/mcp@latest
Servidor HTTP (autoalojado)
npx -y @one-source/mcp@latest --http
npx -y @one-source/mcp@latest --http --port=8080
Luego conecta tu cliente MCP a http://localhost:3000/ (o tu valor de --port, p. ej. 8080 en el segundo ejemplo anterior).
Verificación de salud: GET http://localhost:3000/health (sustituye tu puerto).
Herramientas (86)
API de Blockchain — Cadena en Vivo (12 herramientas)
| Herramienta | Descripción |
|---|---|
1s_allowance_live | Verificación de allowance ERC20 |
1s_contract_info_live | Detección de tipo de contrato vía ERC165 |
1s_erc1155_balance_live | Saldo ERC1155 vía RPC |
1s_erc20_balance_live | Saldo ERC20 vía balanceOf |
1s_erc20_transfers_live | Registros de Transferencia ERC20 vía eth_getLogs |
1s_erc721_tokens_live | Enumeración de tokens ERC721 |
1s_events_live | Registros de eventos vía eth_getLogs |
1s_multi_balance_live | Saldos ETH + múltiples ERC20 |
1s_nft_metadata_live | Metadatos NFT vía tokenURI |
1s_nft_owner_live | Propietario NFT vía ownerOf |
1s_total_supply_live | Suministro total de tokens |
1s_tx_details_live | Transacción + recibo vía RPC |
API de Blockchain — Utilidades de Cadena (13 herramientas)
Solo RPC.
| Herramienta | Descripción |
|---|---|
1s_block_by_number | Detalles de bloque por número vía RPC |
1s_block_number | Número de bloque más reciente |
1s_chain_id | ID de cadena EIP-155 |
1s_contract_code | Bytecode de contrato |
1s_ens_resolve | Resolución de nombre/dirección ENS |
1s_estimate_gas | Estimación de gas |
1s_network_info | ID de cadena, número de bloque, precio de gas |
1s_nonce | Conteo de transacciones |
1s_pending_block | Bloque pendiente del mempool |
1s_proxy_detect | Detección de contrato proxy |
1s_simulate_call | Simular eth_call |
1s_storage_read | Leer slot de almacenamiento |
1s_tx_receipt | Recibo de transacción |
Pagos (2 herramientas)
| Herramienta | Descripción |
|---|---|
1s_payment_mode | Ver o cambiar el carril + esquema de pago en los cuatro modos: x402-exact / x402-batch (USDC en Base) y mpp-charge / mpp-session (USDC.e / pathUSD en Tempo). batch y session abren un canal que financia muchas llamadas. |
1s_refund | Reclamar el depósito no gastado de un canal de pago abierto bajo demanda — funciona tanto para un canal x402 batch (Base) como para un canal de vales MPP session (Tempo) |
Datos de Mercado Deepstate (10 herramientas)
Deepstate es un protocolo de libro de órdenes en cadena en Robinhood Chain (cadena 4663). Estas herramientas leen datos de mercado — libros de órdenes, operaciones, velas, estadísticas, análisis de creadores y análisis de gas/profundidad. Son herramientas ordinarias en la misma API y no toman parámetro network — siempre Robinhood Chain — y se pagan como cualquier otra herramienta: clave API, x402 o MPP. Desde la migración DGP-3 (2026-09-22), las recompensas de creadores son por mercado en lugar de un token fijo único — siempre verifica el reward_token de un mercado en 1s_ds_markets en lugar de asumir DEEP.
| Herramienta | Descripción |
|---|---|
1s_ds_markets | Lista los mercados Deepstate (libros de órdenes) que sirve esta API, con el slug de cada mercado, diseño de tokens, direcciones de pool/router, status y reward_token |
1s_ds_book | Instantánea del libro de órdenes para un mercado — ofertas descendentes, demandas ascendentes, con el tamaño en reposo de cada nivel de precio |
1s_ds_trades | Cinta de operaciones para un mercado, más recientes primero — precio, tamaño, lado y bloque de cada ejecución |
1s_ds_candles | Velas OHLCV para un mercado en un marco temporal dado |
1s_ds_stats | Volumen y cambio de precio móvil de 24h / 7d / 30d para un mercado, más el último precio operado |
1s_ds_makers | Analíticas por creador para un mercado — tiempo en la parte superior del libro, nocional en reposo, conteo/tasa de ejecuciones y recompensas de creador ganadas (el token de recompensa es por mercado — ver reward_token en 1s_ds_markets) |
1s_ds_cost_to_quote | Gas gastado en reposo y cancelación de órdenes en un mercado, agrupado en el tiempo |
1s_ds_depth_history | Mapa de calor de profundidad para un mercado — tamaño de órdenes en reposo por nivel de precio a lo largo del tiempo |
1s_ds_token_2deep | Suministro 2DEEP, tope, flotante, saldos de pool de recompensas y dotación, pasivos de migración y precio de pool — en vivo desde la cadena |
1s_ds_migration | Progreso de redención DEEP/STATE a 2DEEP desde DGP-3 (2026-09-22): totales, conteos, restantes y una serie diaria |
Cada herramienta Deepstate excepto 1s_ds_markets toma un parámetro book: el slug mayúsculo canónico del mercado (p. ej. NVDA-USDG) o su book_id de 32 bytes. Llama a 1s_ds_markets primero para la lista completa.
The Standard Reserve (38 herramientas)
The Standard Reserve es un protocolo de banco central en cadena en Robinhood Chain (id de cadena 4663). Estas herramientas leen el estado de los contratos desplegados según lo indexado y servido por OneSource, con basis, as_of_block y serving_state en cada respuesta. 1s_std_addresses y 1s_std_genesis_live son gratuitas; cada otra herramienta aquí se paga de la misma manera que el resto de esta API: clave API, x402 o MPP. Varias herramientas (1s_std_supply, _vaults, _pool, _exit_pressure, _backing, _policy_current) también toman un parámetro atBlock para leer ese estado a partir de un bloque pasado en lugar del más reciente.
| Herramienta | Descripción |
|---|---|
1s_std_addresses | Registro verificado de contratos TSR y pool, con estado de verificación por entrada. Gratuito, sin pago requerido. |
1s_std_auction_days | Historial diario de subasta para la subasta de licencia o charter: precio de apertura/cierre/suelo, vendido vs. ofrecido, tiempo hasta agotarse; los días de licencia añaden conteos de compra, charters distintos, promedio y total pagado, y un desglose de compras por transacción |
1s_std_auction_sales | Ventas recientes para la subasta de licencia o charter, más recientes primero: comprador, precio unitario, cantidad y bloque. Filtrar por tipo, paginar con before/limit |
1s_std_auctions_current | Estado actual de la subasta diaria de licencias y la subasta de charters: precio, suelo, vendido/restante hoy, fase y última venta |
1s_std_backing | Respaldo de reservas: saldos de ETH en bóvedas, tenencias de activos de reserva sin precio, y ratio de respaldo ETH-por-STANDARD (excluyendo e incluyendo liquidez propiedad del protocolo). Actual, historial, o a partir de un bloque pasado |
1s_std_branch_auction_live | Estado fresco de cabeza de la subasta de licencias Branch: fase, precio, conteos vendido/restante de hoy, y velocidad de venta reciente |
1s_std_branches_doi | Días de Emisión para la subasta de licencias Branch, más una tabla de comprar-ahora-vs-esperar |
1s_std_branches_summary | Resumen de las Branches activas de TSR: cantidad, emisión por Branch por día, y precio de licencia en días de emisión |
1s_std_buyback_readiness | Preparación del tick de recompra de la bóveda de contracción: capacidad ETH de este tick, restricción vinculante, enfriamiento, desviación TWAP, y ticks ejecutados recientes |
1s_std_candles | Velas de precio OHLC para el pool ETH/STANDARD en ETH por STANDARD, con conteos de swaps y volumen. Establece tf para el ancho de vela (1m a 1d) y from/to para la ventana |
1s_std_charter | Un charter por id, o charters filtrados por propietario: titular, conteo de branches, tipo de acuñación, producción adeudada, e historial de branches |
1s_std_decision_branch | Compuesto: ¿debería comprar una Branch/licencia ahora? Agrupa Días de Emisión, costo de licencia vs. la subasta de charters, historial reciente de subastas, perspectiva de políticas y cambios de gobernanza pendientes |
1s_std_decision_charter | Compuesto: ¿debería comprar un nuevo charter ahora? Agrupa estado de la subasta de charters, ruta más barata de costo de licencia, Días de Emisión, ratio de respaldo y concentración de titulares |
1s_std_decision_exit | Compuesto: ¿debería salir de las branches de un charter ahora? Agrupa la cotización de salida, curva de tarifas, pronóstico de tarifas, calendario de impuestos, estado del pool, perspectiva de políticas y cambios de gobernanza pendientes |
1s_std_decision_plan | Simula tres estrategias de compra de Branches (mantener, selectiva, agresiva) en un horizonte, basadas en precios en vivo, emisión y costo de licencia a menos que se anulen. Una herramienta de planificación, no un pronóstico: nunca nombra una estrategia ganadora |
1s_std_dormancy | Carteras más allá de su ventana de inactividad reportable, o la lista completa de carteras rastreadas |
1s_std_dormancy_bounties | Tablero de recompensas por inactividad: carteras ya más allá de su ventana reportable, clasificadas por recompensa estimada |
1s_std_epochs | Historial de épocas de TSR: flujo neto, señal, régimen, multiplicador y emisión por época. Paginar con before/limit |
1s_std_events | Eventos de protocolo decodificados en bruto, opcionalmente filtrados por contract_label, event_name, addresses, token_id, epoch, o cursor de bloque/log, y paginados con before/limit |
1s_std_exit_fee_curve | Cómo cambia la tarifa de salida con el tamaño del retiro: tasa de tarifa actual más una escalera al 1/5/10/25/50/100% de un retiro bruto |
1s_std_exit_fee_forecast | Proyección al ritmo actual de la tarifa de salida si no ocurren más retiros, día a día, más días hasta que la tarifa alcance su mínimo y el instante exacto en que cada día de retiro registrado sale de la ventana de tarifas |
1s_std_exit_pressure | Lectura de presión de salida y la tasa de tarifa de resolución resultante. Actual, historial, o a partir de un bloque pasado |
1s_std_exit_quote | Cotización de salida prorrateada para retirar las Branches abiertas de un charter, más una estimación de ETH realizable a partir de un bloque dado |
1s_std_flow_hourly | Flujo de ETH por hora hacia y desde el pool ETH/STANDARD, con conteos de swaps. Establece hours para cuánto mirar hacia atrás |
1s_std_genesis_live | Estadísticas frescas de cabeza para la acuñación holandesa de génesis: fase, acuñado, restante, precio y velocidad de venta. Gratuito. |
1s_std_governance_changes | Historial de gobernanza/cambios de parámetros en los 15 contratos rastreados de TSR, qué está actualmente en cola, estados de interruptor y estado de pausa del guardián |
1s_std_holders_concentration | Concentración de propiedad de Charter/Branch: distribución entre Charters, principales propietarios, una puntuación HHI (Índice Herfindahl-Hirschman) y la división de cohorte génesis-vs-subasta |
1s_std_issuance_runway | STANDARD acumulado emitido contra el presupuesto de emisión del Banco Central, tasa de flujo actual y una proyección de mismo estado de cuándo se agota el presupuesto |
1s_std_license_cost | Cuánto cuesta una licencia de Branch en ETH ahora mismo, y si la subasta de charters es un camino más barato al mismo resultado |
1s_std_license_headroom | Cuántas licencias de Branch más puede comprar un charter hoy, con una escalera de cotización por unidad en vivo |
1s_std_policy_current | Política monetaria de la época actual: régimen, multiplicador, flujo neto y la señal de dos épocas. Actual o a partir de un bloque pasado |
1s_std_policy_outlook | Proyección de mismo estado del multiplicador de política y tasa de emisión si el signo del flujo neto de la época actual se mantiene hasta el cierre |
1s_std_pool | Estado más reciente del pool Uniswap v4 ETH/STANDARD: precio, tick, liquidez, reservas e impuesto de lanzamiento restante. Actual o a partir de un bloque pasado |
1s_std_supply | Libro mayor de suministro de STANDARD: en circulación, acuñado acumulado, quemado acumulado por ruta y suministro máximo. Actual, historial, o a partir de un bloque pasado |
1s_std_tax_schedule | Calendario del gancho de impuesto de lanzamiento: impuesto de compra/venta actual, configuración de decaimiento y una proyección etiquetada mientras el calendario de lanzamiento está activo |
1s_std_vaults | Saldos de bóvedas de Expansión y Contracción: WETH y STANDARD mantenidos, liquidez propiedad del protocolo y capacidad de recompra. Actual, historial, o a partir de un bloque pasado |
1s_std_wallet | Posición TSR completa de una cartera en cada Charter que posee: adeudado pendiente, una cotización de salida resumida, estado de inactividad y margen de licencia |
Documentación (8 herramientas)
No se requiere autenticación. Estas responden desde un corpus de documentación incluido con el servidor, por lo que no cuestan nada y funcionan incluso antes de configurar un método de pago. Comparten sus nombres con el servidor independiente @one-source/docs-mcp, que sirve el mismo corpus.
| Herramienta | Descripción |
|---|---|
1s_search_docs | Búsqueda de palabras clave en la documentación para desarrolladores de OneSource |
1s_get_api_overview | Qué cubre la API REST — cantidad de operaciones, etiquetas, redes, protocolos de pago |
1s_list_endpoints | Cada endpoint REST con método, ruta, precio y resumen; filtrar por etiqueta |
1s_get_endpoint_reference | Un endpoint completo — parámetros, cuerpo de solicitud, respuesta de ejemplo, precio, curl |
1s_search_use_cases | Encuentra el endpoint correcto a partir de una descripción en lenguaje natural de la tarea |
1s_list_networks | Redes que enruta la API REST, según lo declarado por su especificación publicada |
1s_get_payment_info | Rango de precios, rieles de pago y dirección de pago; por endpoint cuando se proporciona uno |
1s_get_authentication_guide | Cómo autenticarse en la API REST y qué método elegir |
Configuración y Operaciones (3 herramientas)
No se requiere autenticación.
| Herramienta | Propósito | Cuándo usar |
|---|---|---|
1s_setup_check | Configuración interactiva y verificación de salud. Guía al usuario a través de cada opción de configuración para ambos rieles (método de autenticación, x402, MPP, modos de pago, preferencias de canal) una decisión a la vez — en cada ejecución, incluso cuando ya está configurado — más versión, estado de autenticación, estado de canal y conectividad | Lo primero a llamar — para configurar, cambiar configuración o solucionar problemas |
1s_batch_config | Ver o cambiar las preferencias del canal de pago (autonomía, umbral, multiplicador de depósito x402, límite de depósito de sesión MPP, modo predeterminado) y persistirlas entre reinicios — sin necesidad de editar configuración | Configurar el comportamiento del canal desde la sesión |
1s_report_bug | Reportar errores a Slack (o respaldo de GitHub Issues) | Cuando una herramienta falla o el usuario quiere reportar un problema |
Redes
Todas las herramientas de API blockchain aceptan un parámetro opcional network:
| Red | Descripción |
|---|---|
ethereum | Red principal de Ethereum (predeterminada) |
sepolia | Red de pruebas Sepolia de Ethereum |
robinhood | Robinhood Chain, cadena 4663 (Arbitrum Orbit L2) — solo RPC en vivo |
Autenticación
Las herramientas de API blockchain requieren autenticación. Hay tres opciones disponibles — si se establece una clave API junto con una clave de cartera, la clave API tiene prioridad y la cartera se ignora.
Consejo: la forma más rápida de configurar cualquiera de estas es la herramienta
1s_setup_check— te guía a través de cada opción de forma interactiva y te entrega un comando listo para ejecutar, para que nunca tengas que editar variables de entorno o archivos de configuración manualmente. Las instrucciones manuales a continuación son la referencia.
| Método | Variable | Descripción |
|---|---|---|
| Clave API | ONESOURCE_API_KEY | Llamadas ilimitadas, sin costo por llamada |
| Micropagos x402 | X402_PRIVATE_KEY | Pago por llamada vía USDC en Base, sin necesidad de cuenta |
| Micropagos MPP | MPP_PRIVATE_KEY | Pago por llamada vía USDC.e / pathUSD en Tempo, sin necesidad de cuenta |
Opción 1: Clave API
- Ve a app.onesource.io y crea una cuenta.
- Completa la suscripción de clave API a través del proceso de pago de Stripe.
- Navega a API Keys y genera una clave.
- Copia la clave — comienza con
sk_.
Claude Code
claude mcp add onesource -e ONESOURCE_API_KEY=<key> -- npx -y @one-source/mcp@latest
Claude Desktop / Cursor
Agrega el bloque env a tu configuración de MCP:
{
"mcpServers": {
"onesource": {
"command": "npx",
"args": ["-y", "@one-source/mcp@latest"],
"env": {
"ONESOURCE_API_KEY": "<key>"
}
}
}
}
Cualquier Cliente MCP (stdio)
ONESOURCE_API_KEY=<key> npx -y @one-source/mcp@latest
Después de agregarlo, recarga el servidor MCP y llama a 1s_setup_check — bajo Current configuration debería reportar Active auth method: API key (con los primeros 6 caracteres de tu clave).
Opción 2: Micropagos x402
Los endpoints de API blockchain tienen precio en USDC en Base vía x402. Cuando estableces X402_PRIVATE_KEY, el servidor maneja automáticamente los pagos — las llamadas a herramientas se pagan y reintentan de forma transparente sin trabajo adicional del agente.
- Obtén una clave privada EVM — exporta una desde MetaMask, Coinbase Wallet o cualquier billetera EVM, o genera una nueva. La clave es una cadena hexadecimal de 64 caracteres. El prefijo
0xes opcional — ambos formatos son aceptados. - Pasa la clave al servidor usando uno de los métodos a continuación.
- Recarga y encuentra la dirección de tu billetera — recarga el servidor MCP, luego llama a
1s_setup_check. Bajo Configuración actual se lista tu billetera x402 (Base) — la dirección derivada de tu clave. - Fondear esa dirección con USDC en Base — envía USDC a la dirección mostrada en
1s_setup_check, en la red Base. Unos pocos dólares ($1–5 USDC) son suficientes para cientos de llamadas. Si tu USDC está en Ethereum mainnet, haz un puente usando el Base Bridge. - Verifica — llama a
1s_network_infopara ethereum. Si devuelve datos de la cadena (número de bloque, precio del gas), los pagos x402 están funcionando de extremo a extremo.
Claude Code
claude mcp add onesource -e X402_PRIVATE_KEY=<key> -- npx -y @one-source/mcp@latest
Claude Desktop / Cursor
Agrega el bloque env a tu configuración MCP:
{
"mcpServers": {
"onesource": {
"command": "npx",
"args": ["-y", "@one-source/mcp@latest"],
"env": {
"X402_PRIVATE_KEY": "<key>"
}
}
}
}
Cualquier Cliente MCP (stdio)
X402_PRIVATE_KEY=<key> npx -y @one-source/mcp@latest
Opción 3: Micro pagos MPP (Tempo)
Los endpoints de API blockchain también se pueden pagar en la red Tempo vía MPP — una alternativa a x402 en Base. Cuando configuras MPP_PRIVATE_KEY, el servidor maneja los pagos automáticamente; las llamadas a herramientas se pagan y se reintentan de forma transparente.
- Obtén una clave privada EVM — mismo formato que x402 (hex de 64 caracteres,
0xopcional). Exporta una o genera una clave nueva. - Pasa la clave al servidor usando uno de los métodos a continuación.
- Recarga y encuentra la dirección de tu billetera — recarga el servidor MCP, luego llama a
1s_setup_check. Bajo Configuración actual se lista tu billetera MPP (Tempo) — la dirección derivada de tu clave. - Fondear esa dirección con USDC.e o pathUSD en Tempo — unos pocos dólares cubren cientos de llamadas.
- Verifica — llama a
1s_network_info. Si devuelve datos de la cadena, los pagos MPP están funcionando de extremo a extremo.
Claude Code
claude mcp add onesource -e MPP_PRIVATE_KEY=<key> -- npx -y @one-source/mcp@latest
Claude Desktop / Cursor
{
"mcpServers": {
"onesource": {
"command": "npx",
"args": ["-y", "@one-source/mcp@latest"],
"env": {
"MPP_PRIVATE_KEY": "<key>"
}
}
}
}
Cualquier Cliente MCP (stdio)
MPP_PRIVATE_KEY=<key> npx -y @one-source/mcp@latest
Por defecto, MPP paga por llamada (mpp-charge). Para una ráfaga de llamadas, cambia a un canal de voucher Tempo con 1s_payment_mode { "mode": "mpp-session" } (o configura MPP_PAYMENT_MODE=session) — un depósito fondeará muchas llamadas fuera de cadena; recupera el saldo no utilizado en cualquier momento con 1s_refund, o se liquida automáticamente al cerrar limpiamente.
Ubicaciones de Archivos de Configuración
Si prefieres editar el archivo de configuración directamente en lugar de usar comandos CLI:
| Cliente | Ruta del archivo de configuración |
|---|---|
| Claude Code | Ejecuta claude mcp get onesource para ver la ruta del archivo |
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Cursor (macOS) | ~/.cursor/mcp.json |
| Cursor (Windows) | %USERPROFILE%\.cursor\mcp.json |
Agrega la entrada onesource dentro de "mcpServers" usando el bloque JSON mostrado arriba.
Alternativa: Configurar como Variable de Entorno
En lugar del bloque de configuración env, puedes configurar cualquiera de estas variables como variable de entorno del shell o del sistema: export ONESOURCE_API_KEY=<key> (bash/zsh) o $env:ONESOURCE_API_KEY = "<key>" (PowerShell). Configúrala a nivel del sistema operativo para persistencia entre sesiones.
Canales de pago (opcional)
Por defecto, cada llamada pagada firma un pago por llamada (x402-exact en Base, mpp-charge en Tempo). Para una ráfaga de llamadas, abre un canal de pago — un depósito en cadena fondeará muchas llamadas fuera de cadena, liquidadas juntas — lo cual es más barato que pagar por llamada:
- x402 (Base): cambia a
x402-batchcon1s_payment_mode { "mode": "x402-batch" }(oX402_PAYMENT_MODE=batch). La primera llamada depositaprice × X402_DEPOSIT_MULTIPLIER(por defecto 10). - MPP (Tempo): cambia a
mpp-sessioncon1s_payment_mode { "mode": "mpp-session" }(oMPP_PAYMENT_MODE=session). La primera llamada deposita hastaMPP_MAX_DEPOSIT(por defecto 1).
Recupera el saldo no utilizado en cualquier momento con la herramienta 1s_refund (funciona para ambos rieles); el residual siempre es recuperable en cadena. Un canal x402 inactivo también se reembolsa automáticamente después de unas horas, y una sesión MPP se liquida automáticamente al cerrar limpiamente.
Al pagar a través de una billetera, el agente recibe orientación sobre canales en su prompt del sistema al inicio, para que pueda gestionar esto por ti en lugar de dejarlo como un paso manual: cuando anticipa una ráfaga de llamadas, ofrece cambiar al modo de canal para el riel activo y te recuerda ejecutar 1s_refund al terminar. Controla qué tan proactivo es con X402_BATCH_PROMPT (ask / auto / off) y X402_BATCH_THRESHOLD (cuántas llamadas anticipadas cuentan como ráfaga — compartido entre ambos rieles) — consulta Variables de Entorno. 1s_setup_check informa tu modo actual, si el canal está disponible y todos los ajustes.
Seguridad
Nunca comprometas claves en el control de versiones. Usa variables de entorno, un archivo .env (excluido de git) o un administrador de secretos.
Después de cualquier cambio de configuración: Ejecuta
/reload-pluginsen Claude Code, o reinicia Claude Desktop / Cursor. El servidor MCP debe recargarse para recoger nuevas variables de entorno.
Variables de Entorno
Requeridas
Configura una para acceder a las herramientas de API blockchain. Sin ninguna, solo funcionan las herramientas de Configuración y Operaciones sin autenticación. La clave API tiene prioridad cuando se configura junto con una clave de billetera.
| Variable | Predeterminado | Descripción |
|---|---|---|
ONESOURCE_API_KEY | — | Clave API de OneSource para autenticación Bearer token. Tiene prioridad sobre los rieles de billetera. |
X402_PRIVATE_KEY | — | Clave privada EVM (hex de 64 caracteres, prefijo 0x opcional) para pagos automáticos x402 USDC en Base. |
MPP_PRIVATE_KEY | — | Clave privada EVM para pagos automáticos MPP (USDC.e / pathUSD) en Tempo. |
Opcionales / Avanzadas
Todas tienen valores predeterminados sensatos — los modos de canal funcionan de fábrica. Configúralas solo para anular un endpoint, ajustar cómo se comportan los modos de canal o ajustar análisis. Los modos de pago también se pueden cambiar en tiempo de ejecución con la herramienta 1s_payment_mode. Los controles de canal a continuación (X402_PAYMENT_MODE, X402_DEPOSIT_MULTIPLIER, MPP_PAYMENT_MODE, MPP_MAX_DEPOSIT, X402_BATCH_PROMPT, X402_BATCH_THRESHOLD) se pueden configurar y persistir desde una sesión con la herramienta 1s_batch_config — sin editar configuración ni reiniciar; una configuración guardada tiene prioridad sobre estas variables de entorno.
| Variable | Predeterminado | Descripción |
|---|---|---|
ONESOURCE_BASE_URL | https://api.onesource.io | URL base de la API. |
X402_PAYMENT_MODE | exact | Esquema x402 inicial: exact (por llamada) o batch (canal de pago). Cambia en sesión con 1s_payment_mode. |
X402_RPC_URL | Predeterminado de Base | Endpoint RPC de Base usado para enviar depósitos de canal en modo lote. |
X402_DEPOSIT_MULTIPLIER | 10 | Modo lote: depósito = precio × este multiplicador, fondeará esa cantidad de llamadas por canal. El saldo no utilizado es recuperable vía 1s_refund. |
X402_CHANNEL_DIR | — | Directorio para persistir el estado del canal lote entre reinicios. Sin configurar = en memoria (canal perdido al reiniciar). |
X402_CHANNEL_SALT | cero | Modo lote: sal hex de 32 bytes para derivar el ID de canal inicial. El cliente rota automáticamente al siguiente sal cuando un canal se agota o se reembolsa. |
MPP_PAYMENT_MODE | charge | Esquema MPP inicial: charge (por llamada) o session (canal de voucher Tempo). Cambia en sesión con 1s_payment_mode. |
MPP_MAX_DEPOSIT | 1 | Modo sesión: máximo USDC.e / pathUSD bloqueado por canal de voucher Tempo. El saldo no utilizado es recuperable vía 1s_refund. |
MPP_RPC_URL | Predeterminado de Tempo | Endpoint RPC de Tempo usado para enviar depósitos de canal en modo sesión. |
X402_BATCH_PROMPT | ask | Cómo maneja el agente el cambio a un modo de canal (ambos rieles): ask (confirmar antes de cambiar), auto (cambiar por sí solo) o off (solo cambiar cuando se le pida explícitamente). |
X402_BATCH_THRESHOLD | 5 | Número de llamadas anticipadas en una sesión en/por encima del cual el agente considera un modo de canal (ambos rieles). Informativo — el agente estima el conteo de llamadas; no es un contador de tiempo de ejecución estricto. |
ONESOURCE_CONFIG_DIR | ~/.onesource | Directorio que contiene la configuración de canal gestionada por el servidor (batch-config.json) escrita por 1s_batch_config. |
ONESOURCE_ANALYTICS | true | Configúralo a false para deshabilitar análisis. |
ONESOURCE_ANALYTICS_URL | https://1s-analytics.vercel.app | Endpoint del panel para análisis. |
ONESOURCE_ANALYTICS_KEY | onesource-mcp | Clave API para análisis del panel. El alias heredado X402_ANALYTICS_KEY aún funciona pero está obsoleto. |
Solución de Problemas
1s_setup_check muestra "Active auth method: none" (herramientas blockchain bloqueadas)
Bajo Configuración actual, "Active auth method: none" significa que no hay autenticación configurada. Configura una de ONESOURCE_API_KEY (clave API), X402_PRIVATE_KEY (x402 en Base) o MPP_PRIVATE_KEY (MPP en Tempo) — o simplemente ejecuta 1s_setup_check y deja que te guíe. Recarga el servidor MCP después de configurar cualquier variable (consulta la nota anterior). Si la clave aún no llega al servidor, configúrala como variable de entorno del shell directamente.
Recibiendo 403 / clave incorrecta activa a pesar de configuración correcta
Una clave configurada en tu perfil de shell (por ejemplo, ~/.zshrc, ~/.bash_profile) es recogida por el proceso del servidor MCP incluso si no está en tu configuración MCP de Claude. Ejecuta echo $ONESOURCE_API_KEY en tu terminal para verificar. Si imprime un valor que no pretendías, desconfigúralo (unset ONESOURCE_API_KEY) o límpialo explícitamente al agregar el servidor: claude mcp add onesource -e ONESOURCE_API_KEY= -e X402_PRIVATE_KEY=<key> -- npx -y @one-source/mcp@latest. 1s_setup_check muestra los primeros 6 caracteres de la clave que esté activa para que puedas confirmar cuál está usando el servidor.
Las instrucciones muestran método de autenticación incorrecto después de reinstalar
/reload-plugins en Claude Code reconecta herramientas pero puede no actualizar el prompt del sistema que ve el LLM. Si cambias el método de autenticación (por ejemplo, clave API → x402), haz un reinicio completo de Claude Code para asegurar que las instrucciones reflejen la nueva autenticación.
Error "MCP server onesource already exists"
Ejecuta claude mcp remove onesource primero, luego vuelve a agregar con tu configuración actualizada.
Windows: npx requiere envoltorio cmd /c
El comando /doctor de Claude Code puede advertir sobre esto. Actualiza tu configuración MCP para usar "command": "cmd" con "args": ["/c", "npx", "-y", "@one-source/mcp@latest"].
**npx se cuelga sin salida
Eso es normal — el modo stdio espera entrada JSON-RPC en stdin. Usa --http si quieres un servidor HTTP que puedas consultar con curl.
Puerto ya en uso
Especifica un puerto diferente: npx -y @one-source/mcp@latest --http --port=8080
Publicación en el Registro
Este paquete está listado en el Registro MCP oficial bajo el espacio de nombres verificado io.onesource/mcp y en Glama. Al publicar una nueva versión, actualiza ambos registros.
Registro MCP
Configuración Inicial
1. Instalar Go
Descarga el instalador para tu plataforma desde go.dev/dl y ejecútalo. Verifica:
go version
2. Instalar mcp-publisher
go install github.com/modelcontextprotocol/registry/cmd/mcp-publisher@latest
Si la ruta del módulo Go ha cambiado y el comando falla, descarga el binario directamente desde la página de lanzamientos de mcp-publisher en GitHub en su lugar.
En Windows, agrega el directorio bin de Go a tu PATH si el comando no es reconocido:
$env:PATH += ";$env:USERPROFILE\go\bin"
Verifica:
mcp-publisher --help
3. Autenticación DNS (ya hecha)
El dominio onesource.io tiene un registro TXT DNS que prueba la propiedad del espacio de nombres io.onesource. Esto ya está configurado — no necesitas rehacerlo.
El registro está en el dominio raíz (onesource.io, no _mcp-registry.onesource.io):
v=MCPv1; k=ed25519; p=7D3U5rufgNXb/lH2MthTRZdDzEGeE7/Jvg8YkiArQc8=
Puedes verificar que resuelve:
nslookup -type=TXT onesource.io 8.8.8.8
4. Obtener la Clave Privada
La autenticación requiere la clave privada ed25519 en formato hexadecimal que corresponde a la clave pública en el registro DNS. Pide esta clave al líder del equipo: está almacenada en el administrador de contraseñas / bóveda del equipo.
Si necesitas regenerar el par de claves (esto invalida el registro DNS actual y requiere actualizarlo):
- Genera un nuevo par de claves ed25519 (p. ej.,
openssl genpkey -algorithm Ed25519 -out key.pem) - Extrae la semilla de clave privada cruda de 32 bytes y conviértela a hexadecimal:
openssl pkey -in key.pem -outform DER | tail -c 32 | xxd -p -c 32
- Extrae la clave pública en base64 para el registro DNS TXT:
openssl pkey -in key.pem -pubout -outform DER | tail -c 32 | base64
- Actualiza el registro DNS TXT en
onesource.iocon la nueva clave pública:
v=MCPv1; k=ed25519; p=<base64-public-key>
- Espera la propagación del DNS antes de intentar iniciar sesión.
Publicación de una Nueva Versión
Usa el script de lanzamiento. Los lanzamientos normalmente se ejecutan mediante el script de lanzamiento coordinado en el repositorio sre-services (
scripts/release-mcp.mjs— consultasre-services/RELEASING.md), que realiza todos los pasos siguientes en ambos@one-source/api-mcpy@one-source/mcpen el orden correcto, incluido el incremento deserver.jsonymcp-publisher publish. La Configuración Inicial anterior sigue siendo el requisito previo para el paso del registro. Los pasos manuales a continuación son el respaldo para correcciones solo del registro o cuando el script no puede ejecutarse.
Cada vez que publiques una nueva versión de npm, actualiza el Registro MCP:
- Publica en npm (el registro valida que el paquete existe, por lo que esto debe ocurrir primero):
npm run build
npm publish --access public
- Actualiza
server.json— establece ambos camposversionpara que coincidan con la nueva versión de npm:
{
"version": "x.y.z",
...
"packages": [{ "version": "x.y.z", ... }]
}
El campo mcpName en package.json debe ser "io.onesource/mcp" y debe coincidir con el campo name en server.json. Esto ya está configurado: no lo elimines.
3. Autentícate (los tokens caducan, así que hazlo cada vez):
mcp-publisher login dns --domain onesource.io --private-key <ed25519-hex-private-key>
- Publica en el registro:
mcp-publisher publish
- Verifica:
curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=onesource"
Glama
Glama se sincroniza automáticamente desde el repositorio de GitHub a diario. No se necesitan pasos manuales después de un lanzamiento — solo asegúrate de que los cambios se envíen a develop (la rama predeterminada). El archivo glama.json en la raíz del repositorio controla la propiedad. La resincronización manual está disponible desde el panel de administración de Glama después de reclamar el servidor.
Política de Privacidad
El uso de esta extensión se conecta a la API de OneSource. Consulta la Política de Privacidad de OneSource para obtener detalles sobre cómo se manejan los datos.
Licencia
Apache 2.0 — consulta LICENSE para obtener detalles.