OneSource MCP
43 ferramentas para consultas ao vivo em blockchain nos Ethereum, Sepolia e Avalanche — incluindo saldos de tokens, metadados de NFTs, logs de eventos, detecção de contratos, resolução de ENS e documentação da API GraphQL.
Documentação
@one-source/mcp
Servidor MCP unificado para OneSource — 83 ferramentas para dados de blockchain, consultas de chain em tempo real, dados de mercado Deepstate, The Standard Reserve e documentação da API REST em um único servidor.
O que é MCP? O Model Context Protocol permite que assistentes de IA chamem ferramentas e acessem fontes de dados. Este servidor expõe tanto a API blockchain da OneSource quanto sua documentação como ferramentas.
Início Rápido
Claude Code
claude mcp add onesource -- npx -y @one-source/mcp@latest
Claude Desktop / Cursor
Adicione à sua configuração MCP:
{
"mcpServers": {
"onesource": {
"command": "npx",
"args": ["-y", "@one-source/mcp@latest"]
}
}
}
Qualquer Cliente MCP (stdio)
npx -y @one-source/mcp@latest
Servidor HTTP (self-hosted)
npx -y @one-source/mcp@latest --http
npx -y @one-source/mcp@latest --http --port=8080
Em seguida, conecte seu cliente MCP a http://localhost:3000/ (ou ao seu valor de --port, ex.: 8080 no segundo exemplo acima).
Verificação de saúde: GET http://localhost:3000/health (substitua pela sua porta).
Ferramentas (86)
API Blockchain — Chain em Tempo Real (12 ferramentas)
| Ferramenta | Descrição |
|---|---|
1s_allowance_live | Verificação de allowance ERC20 |
1s_contract_info_live | Detecção de tipo de contrato via ERC165 |
1s_erc1155_balance_live | Saldo ERC1155 via RPC |
1s_erc20_balance_live | Saldo ERC20 via balanceOf |
1s_erc20_transfers_live | Logs de Transfer ERC20 via eth_getLogs |
1s_erc721_tokens_live | Enumeração de tokens ERC721 |
1s_events_live | Logs de eventos via eth_getLogs |
1s_multi_balance_live | Saldos ETH + múltiplos ERC20 |
1s_nft_metadata_live | Metadados NFT via tokenURI |
1s_nft_owner_live | Proprietário NFT via ownerOf |
1s_total_supply_live | Fornecimento total de tokens |
1s_tx_details_live | Transação + recibo via RPC |
API Blockchain — Utilitários de Chain (13 ferramentas)
Somente RPC.
| Ferramenta | Descrição |
|---|---|
1s_block_by_number | Detalhes do bloco por número via RPC |
1s_block_number | Número do bloco mais recente |
1s_chain_id | Chain ID EIP-155 |
1s_contract_code | Bytecode do contrato |
1s_ens_resolve | Resolução de nome/endereço ENS |
1s_estimate_gas | Estimativa de gas |
1s_network_info | Chain ID, número do bloco, preço do gas |
1s_nonce | Contagem de transações |
1s_pending_block | Bloco pendente do mempool |
1s_proxy_detect | Detecção de contrato proxy |
1s_simulate_call | Simular eth_call |
1s_storage_read | Ler slot de armazenamento |
1s_tx_receipt | Recibo de transação |
Pagamentos (2 ferramentas)
| Ferramenta | Descrição |
|---|---|
1s_payment_mode | Visualizar ou alternar o trilho + esquema de pagamento em todos os quatro modos: x402-exact / x402-batch (USDC na Base) e mpp-charge / mpp-session (USDC.e / pathUSD na Tempo). batch e session abrem um canal que financia muitas chamadas. |
1s_refund | Recuperar o depósito não utilizado de um canal de pagamento aberto sob demanda — funciona tanto para um canal x402 batch (Base) quanto para um canal de voucher MPP session (Tempo) |
Dados de Mercado Deepstate (10 ferramentas)
Deepstate é um protocolo de livro de ordens on-chain na Robinhood Chain (chain 4663). Essas ferramentas leem dados de mercado — livros de ordens, negociações, candles, estatísticas, análises de makers e análises de gas/profundidade. São ferramentas comuns na mesma API e não recebem parâmetro network — sempre Robinhood Chain — e são pagas como qualquer outra ferramenta: chave de API, x402 ou MPP. Desde a migração DGP-3 (2026-09-22), as recompensas de maker são por mercado, em vez de um único token fixo — sempre verifique o reward_token de um mercado em 1s_ds_markets em vez de assumir DEEP.
| Ferramenta | Descrição |
|---|---|
1s_ds_markets | Listar os mercados Deepstate (livros de ordens) que esta API atende, com o slug de cada mercado, layout de tokens, endereços de pool/router, status e reward_token |
1s_ds_book | Snapshot do livro de ordens para um mercado — bids em ordem decrescente, asks em ordem crescente, com o tamanho de repouso de cada nível de preço |
1s_ds_trades | Fita de negociações para um mercado, mais recentes primeiro — preço, tamanho, lado e bloco de cada execução |
1s_ds_candles | Candles OHLCV para um mercado em um determinado período de tempo |
1s_ds_stats | Volume e variação de preço contínuos de 24h / 7d / 30d para um mercado, além do último preço negociado |
1s_ds_makers | Análises por maker para um mercado — tempo no topo do livro, notional em repouso, contagem/taxa de execuções e recompensas de maker ganhas (o token de recompensa é por mercado — veja reward_token em 1s_ds_markets) |
1s_ds_cost_to_quote | Gas gasto em ordens em repouso e cancelamento em um mercado, agrupado ao longo do tempo |
1s_ds_depth_history | Mapa de calor de profundidade para um mercado — tamanho de ordens em repouso por nível de preço ao longo do tempo |
1s_ds_token_2deep | Fornecimento de 2DEEP, teto, float, saldos de pool de recompensas e endowment, passivos de migração e preço do pool — ao vivo da chain |
1s_ds_migration | Progresso do resgate DEEP/STATE para 2DEEP desde o DGP-3 (2026-09-22): totais, contagens, restantes e uma série diária |
Toda ferramenta Deepstate, exceto 1s_ds_markets, recebe um parâmetro book: o slug canônico em maiúsculas do mercado (ex.: NVDA-USDG) ou seu book_id de 32 bytes. Chame 1s_ds_markets primeiro para a lista completa.
The Standard Reserve (38 ferramentas)
The Standard Reserve é um protocolo de banco central on-chain na Robinhood Chain (chain id 4663). Essas ferramentas leem o estado dos contratos implantados, indexados e servidos pela OneSource, com basis, as_of_block e serving_state em cada resposta. 1s_std_addresses e 1s_std_genesis_live são gratuitas; todas as outras ferramentas aqui são pagas da mesma forma que o restante desta API: chave de API, x402 ou MPP. Várias ferramentas (1s_std_supply, _vaults, _pool, _exit_pressure, _backing, _policy_current) também aceitam um parâmetro atBlock para ler esse estado a partir de um bloco passado, em vez do mais recente.
| Ferramenta | Descrição |
|---|---|
1s_std_addresses | Registro verificado de contratos TSR e pool, com status de verificação por entrada. Gratuito, sem pagamento necessário. |
1s_std_auction_days | Histórico diário do leilão de licenças ou cartas: preço de abertura/piso/fechamento, vendido vs. ofertado, tempo para esgotar; dias de licença adicionam contagens de compra, cartas distintas, média e total pago, e um detalhamento de compras por transação |
1s_std_auction_sales | Vendas recentes do leilão de licenças ou cartas, mais recentes primeiro: comprador, preço unitário, quantidade e bloco. Filtre por tipo, pagine com before/limit |
1s_std_auctions_current | Estado atual do leilão diário de licenças e do leilão de cartas: preço, piso, vendido/restante hoje, fase e última venda |
1s_std_backing | Reserva de lastro: saldos de ETH no cofre, participações em ativos de reserva sem preço, e índice de lastro ETH-por-STANDARD (excluindo e incluindo liquidez de propriedade do protocolo). Atual, histórico ou a partir de um bloco passado |
1s_std_branch_auction_live | Estado bruto e atualizado do leilão de licenças Branch: fase, preço, contagens de vendido/restante de hoje e velocidade de vendas recentes |
1s_std_branches_doi | Dias de Emissão para o leilão de licenças Branch, além de uma tabela de comprar-agora-vs-esperar |
1s_std_branches_summary | Resumo das Branches ativas do TSR: contagem, emissão por Branch por dia e preço de licença em dias de emissão |
1s_std_buyback_readiness | Prontidão do tick de recompra do cofre de contração: capacidade de ETH deste tick, restrição vinculante, tempo de espera, desvio TWAP e ticks executados recentemente |
1s_std_candles | Velas de preço OHLC para o pool ETH/STANDARD em ETH por STANDARD, com contagens de swap e volume. Defina tf para largura da vela (1m a 1d) e from/to para a janela |
1s_std_charter | Uma carta por id, ou cartas filtradas por proprietário: titular, contagem de branches, tipo de cunhagem, produção devida e histórico de branches |
1s_std_decision_branch | Composto: devo comprar uma Branch/licença agora. Agrupa Dias de Emissão, custo da licença vs. leilão de cartas, histórico recente do leilão, perspectiva de política e mudanças de governança pendentes |
1s_std_decision_charter | Composto: devo comprar uma nova carta agora. Agrupa estado do leilão de cartas, caminho mais barato de custo de licença, Dias de Emissão, índice de lastro e concentração de titulares |
1s_std_decision_exit | Composto: devo sair das branches de uma carta agora. Agrupa cotação de saída, curva de taxas, previsão de taxas, cronograma de impostos, estado do pool, perspectiva de política e mudanças de governança pendentes |
1s_std_decision_plan | Simule três estratégias de compra de Branch (manter, seletiva, agressiva) ao longo de um horizonte, com base em preços ao vivo, emissão e custo de licença, a menos que substituídos. Uma ferramenta de planejamento, não uma previsão: nunca nomeia uma estratégia vencedora |
1s_std_dormancy | Carteiras além da janela de dormência reportável, ou a lista completa de carteiras rastreadas |
1s_std_dormancy_bounties | Quadro de recompensas por dormência: carteiras já além da janela reportável, classificadas por recompensa estimada |
1s_std_epochs | Histórico de épocas do TSR: fluxo líquido, sinal, regime, multiplicador e emissão por época. Pagine com before/limit |
1s_std_events | Eventos brutos decodificados do protocolo, opcionalmente filtrados por contract_label, event_name, addresses, token_id, epoch, ou cursor de bloco/log, e paginados com before/limit |
1s_std_exit_fee_curve | Como a taxa de saída muda com o tamanho do saque: taxa atual mais uma escada em 1/5/10/25/50/100% de um saque bruto |
1s_std_exit_fee_forecast | Projeção no ritmo atual da taxa de saída se nenhum saque adicional ocorrer, dia a dia, além de dias até a taxa atingir o piso e o instante exato em que cada dia de saque registrado sai da janela de taxas |
1s_std_exit_pressure | Leitura da pressão de saída e a taxa de resolução resultante. Atual, histórico ou a partir de um bloco passado |
1s_std_exit_quote | Cotação de saída pro-rata para encerrar as Branches abertas de uma carta, além de uma estimativa de ETH realizável a partir de um bloco dado |
1s_std_flow_hourly | Fluxo horário de ETH para dentro e fora do pool ETH/STANDARD, com contagens de swap. Defina hours para o período a analisar |
1s_std_genesis_live | Estatísticas atualizadas do leilão holandês de gênese: fase, cunhado, restante, preço e velocidade de vendas. Gratuito. |
1s_std_governance_changes | Histórico de governança/alterações de parâmetros nos 15 contratos rastreados do TSR, o que está atualmente na fila, estados de alternância e estado de pausa do guardião |
1s_std_holders_concentration | Concentração de propriedade de Cartas/Branches: distribuição entre Cartas, principais proprietários, pontuação HHI (Índice Herfindahl-Hirschman) e divisão de coorte gênese-vs-leilão |
1s_std_issuance_runway | STANDARD cumulativo emitido contra o orçamento de emissão do Banco Central, taxa atual do fluxo e uma projeção de mesmo estado de quando o orçamento se esgota |
1s_std_license_cost | Quanto custa uma licença de Branch em ETH agora e se o leilão de cartas é um caminho mais barato para o mesmo resultado |
1s_std_license_headroom | Quantas licenças de Branch adicionais uma carta ainda pode comprar hoje, com uma escada de cotação por unidade ao vivo |
1s_std_policy_current | Política monetária da época atual: regime, multiplicador, fluxo líquido e o sinal de duas épocas. Atual ou a partir de um bloco passado |
1s_std_policy_outlook | Projeção de mesmo estado do multiplicador de política e taxa de emissão se o sinal de fluxo líquido da época atual se mantiver até o fechamento |
1s_std_pool | Estado mais recente do pool Uniswap v4 ETH/STANDARD: preço, tick, liquidez, reservas e imposto de lançamento restante. Atual ou a partir de um bloco passado |
1s_std_supply | Registro de fornecimento de STANDARD: em circulação, cunhado cumulativo, queimado cumulativo por caminho e fornecimento máximo. Atual, histórico ou a partir de um bloco passado |
1s_std_tax_schedule | Cronograma do gancho de imposto de lançamento: imposto atual de compra/venda, configuração de decaimento e uma projeção rotulada enquanto o cronograma de lançamento estiver ativo |
1s_std_vaults | Saldos dos cofres de Expansão e Contração: WETH e STANDARD mantidos, liquidez de propriedade do protocolo e capacidade de recompra. Atual, histórico ou a partir de um bloco passado |
1s_std_wallet | Posição TSR completa de uma carteira em cada Carta que ela detém: pendências devidas, cotação de saída resumida, status de dormência e margem de licença |
Documentação (8 ferramentas)
Nenhuma autenticação necessária. Elas respondem a partir de um corpus de documentação incluído no servidor, então não custam nada e funcionam mesmo antes de um método de pagamento ser configurado. Elas compartilham seus nomes com o servidor @one-source/docs-mcp independente, que serve o mesmo corpus.
| Ferramenta | Descrição |
|---|---|
1s_search_docs | Pesquisa por palavras-chave na documentação de desenvolvedor da OneSource |
1s_get_api_overview | O que a API REST cobre — contagem de operações, tags, redes, protocolos de pagamento |
1s_list_endpoints | Cada endpoint REST com método, caminho, preço e resumo; filtre por tag |
1s_get_endpoint_reference | Um endpoint completo — parâmetros, corpo da solicitação, exemplo de resposta, preço, curl |
1s_search_use_cases | Encontre o endpoint certo a partir de uma descrição em linguagem simples da tarefa |
1s_list_networks | Redes que a API REST roteia, conforme declarado em sua especificação publicada |
1s_get_payment_info | Faixa de preço, trilhos de pagamento e endereço de pagamento; por endpoint quando fornecido |
1s_get_authentication_guide | Como autenticar na API REST e qual método escolher |
Configuração e Operações (3 ferramentas)
Nenhuma autenticação necessária.
| Ferramenta | Propósito | Quando usar |
|---|---|---|
1s_setup_check | Configuração interativa e verificação de saúde. Guia o usuário por cada escolha de configuração para ambos os trilhos (método de autenticação, x402, MPP, modos de pagamento, preferências de canal) uma decisão por vez — a cada execução, mesmo quando já configurado — além de versão, status de autenticação, status de canal e conectividade | Primeira coisa a chamar — para configurar, alterar configuração ou solucionar problemas |
1s_batch_config | Visualizar ou alterar preferências de canal de pagamento (autonomia, limite, multiplicador de depósito x402, teto de depósito de sessão MPP, modo padrão) e persistir entre reinicializações — sem necessidade de editar configuração | Configurar o comportamento do canal a partir da sessão |
1s_report_bug | Reportar bugs ao Slack (ou fallback para GitHub Issues) | Quando uma ferramenta apresenta erro ou o usuário deseja reportar um problema |
Redes
Todas as ferramentas de API blockchain aceitam um parâmetro opcional network:
| Rede | Descrição |
|---|---|
ethereum | Ethereum mainnet (padrão) |
sepolia | Ethereum Sepolia testnet |
robinhood | Robinhood Chain, cadeia 4663 (Arbitrum Orbit L2) — somente RPC ao vivo |
Autenticação
As ferramentas de API blockchain exigem autenticação. Três opções estão disponíveis — se uma chave de API for definida junto com uma chave de carteira, a chave de API tem prioridade e a carteira é ignorada.
Dica: a maneira mais rápida de configurar qualquer uma delas é a ferramenta
1s_setup_check— ela guia você por cada opção interativamente e entrega um comando pronto para executar, então você nunca precisa editar variáveis de ambiente ou arquivos de configuração manualmente. As instruções manuais abaixo são a referência.
| Método | Variável | Descrição |
|---|---|---|
| Chave de API | ONESOURCE_API_KEY | Chamadas ilimitadas, sem custo por chamada |
| Micropagamentos x402 | X402_PRIVATE_KEY | Pague por chamada via USDC na Base, sem necessidade de conta |
| Micropagamentos MPP | MPP_PRIVATE_KEY | Pague por chamada via USDC.e / pathUSD na Tempo, sem necessidade de conta |
Opção 1: Chave de API
- Vá para app.onesource.io e crie uma conta.
- Complete a assinatura da chave de API pelo checkout do Stripe.
- Navegue até API Keys e gere uma chave.
- Copie a chave — ela começa com
sk_.
Claude Code
claude mcp add onesource -e ONESOURCE_API_KEY=<key> -- npx -y @one-source/mcp@latest
Claude Desktop / Cursor
Adicione o bloco env à sua configuração MCP:
{
"mcpServers": {
"onesource": {
"command": "npx",
"args": ["-y", "@one-source/mcp@latest"],
"env": {
"ONESOURCE_API_KEY": "<key>"
}
}
}
}
Qualquer Cliente MCP (stdio)
ONESOURCE_API_KEY=<key> npx -y @one-source/mcp@latest
Após adicionar, recarregue o servidor MCP e chame 1s_setup_check — em Current configuration, ele deve reportar Active auth method: API key (com os primeiros 6 caracteres da sua chave).
Opção 2: Micropagamentos x402
Os endpoints da API blockchain são precificados em USDC na Base via x402. Quando você define X402_PRIVATE_KEY, o servidor lida automaticamente com os pagamentos — chamadas de ferramentas são pagas e repetidas de forma transparente, sem nenhum trabalho extra do agente.
- Obtenha uma chave privada EVM — exporte uma do MetaMask, Coinbase Wallet ou qualquer carteira EVM, ou gere uma nova. A chave é uma string hexadecimal de 64 caracteres. O prefixo
0xé opcional — ambos os formatos são aceitos. - Passe a chave para o servidor usando um dos métodos abaixo.
- Recarregue e encontre o endereço da sua carteira — recarregue o servidor MCP e chame
1s_setup_check. Em Configuração atual, ele lista sua carteira x402 (Base) — o endereço derivado da sua chave. - Financie esse endereço com USDC na Base — envie USDC para o endereço mostrado em
1s_setup_check, na rede Base. Alguns dólares ($1–5 USDC) são suficientes para centenas de chamadas. Se seu USDC estiver na mainnet da Ethereum, faça a ponte usando a Base Bridge. - Verifique — chame
1s_network_infopara ethereum. Se retornar dados da cadeia (número do bloco, preço do gás), os pagamentos x402 estão funcionando de ponta a ponta.
Claude Code
claude mcp add onesource -e X402_PRIVATE_KEY=<key> -- npx -y @one-source/mcp@latest
Claude Desktop / Cursor
Adicione o bloco env à sua configuração MCP:
{
"mcpServers": {
"onesource": {
"command": "npx",
"args": ["-y", "@one-source/mcp@latest"],
"env": {
"X402_PRIVATE_KEY": "<key>"
}
}
}
}
Qualquer Cliente MCP (stdio)
X402_PRIVATE_KEY=<key> npx -y @one-source/mcp@latest
Opção 3: Micropagamentos MPP (Tempo)
Os endpoints da API blockchain também podem ser pagos na rede Tempo via MPP — uma alternativa ao x402 na Base. Quando você define MPP_PRIVATE_KEY, o servidor lida com os pagamentos automaticamente; as chamadas de ferramentas são pagas e repetidas de forma transparente.
- Obtenha uma chave privada EVM — mesmo formato do x402 (hex de 64 caracteres,
0xopcional). Exporte uma ou gere uma nova chave. - Passe a chave para o servidor usando um dos métodos abaixo.
- Recarregue e encontre o endereço da sua carteira — recarregue o servidor MCP e chame
1s_setup_check. Em Configuração atual, ele lista sua carteira MPP (Tempo) — o endereço derivado da sua chave. - Financie esse endereço com USDC.e ou pathUSD na Tempo — alguns dólares cobrem centenas de chamadas.
- Verifique — chame
1s_network_info. Se retornar dados da cadeia, os pagamentos MPP estão funcionando de ponta a ponta.
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>"
}
}
}
}
Qualquer Cliente MCP (stdio)
MPP_PRIVATE_KEY=<key> npx -y @one-source/mcp@latest
Por padrão, o MPP paga por chamada (mpp-charge). Para uma rajada de chamadas, mude para um canal de voucher Tempo com 1s_payment_mode { "mode": "mpp-session" } (ou defina MPP_PAYMENT_MODE=session) — um único depósito financia muitas chamadas fora da cadeia; recupere o saldo não utilizado a qualquer momento com 1s_refund, ou ele é liquidado automaticamente no encerramento limpo.
Locais dos Arquivos de Configuração
Se você preferir editar o arquivo de configuração diretamente em vez de usar comandos CLI:
| Cliente | Caminho do arquivo de configuração |
|---|---|
| Claude Code | Execute claude mcp get onesource para ver o caminho do arquivo |
| 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 |
Adicione a entrada onesource dentro de "mcpServers" usando o bloco JSON mostrado acima.
Alternativa: Definir como Variável de Ambiente
Em vez do bloco de configuração env, você pode definir qualquer uma dessas variáveis como uma variável de ambiente do shell ou do sistema: export ONESOURCE_API_KEY=<key> (bash/zsh) ou $env:ONESOURCE_API_KEY = "<key>" (PowerShell). Defina-a no nível do sistema operacional para persistência entre sessões.
Canais de pagamento (opcional)
Por padrão, cada chamada paga assina um pagamento por chamada (x402-exact na Base, mpp-charge na Tempo). Para uma rajada de chamadas, abra um canal de pagamento — um único depósito on-chain financia muitas chamadas off-chain, liquidadas em conjunto — o que é mais barato do que pagar por chamada:
- x402 (Base): mude para
x402-batchcom1s_payment_mode { "mode": "x402-batch" }(ouX402_PAYMENT_MODE=batch). A primeira chamada depositaprice × X402_DEPOSIT_MULTIPLIER(padrão 10). - MPP (Tempo): mude para
mpp-sessioncom1s_payment_mode { "mode": "mpp-session" }(ouMPP_PAYMENT_MODE=session). A primeira chamada deposita atéMPP_MAX_DEPOSIT(padrão 1).
Recupere o saldo não utilizado a qualquer momento com a ferramenta 1s_refund (funciona para ambos os trilhos); o residual é sempre recuperável on-chain. Um canal x402 ocioso também reembolsa automaticamente após algumas horas, e uma sessão MPP é liquidada automaticamente no encerramento limpo.
Ao pagar por meio de uma carteira, o agente recebe orientação sobre canais em seu prompt de sistema na inicialização, para que possa gerenciar isso por você em vez de deixá-lo como uma etapa manual: quando ele antecipa uma rajada de chamadas, ele se oferece para mudar para o modo de canal do trilho ativo e lembra você de 1s_refund quando terminar. Controle o quão proativo ele é com X402_BATCH_PROMPT (ask / auto / off) e X402_BATCH_THRESHOLD (quantas chamadas antecipadas contam como uma rajada — compartilhado entre ambos os trilhos) — veja Variáveis de Ambiente. 1s_setup_check informa seu modo atual, se o canal está disponível e todas as configurações.
Segurança
Nunca comprometa chaves no controle de versão. Use variáveis de ambiente, um arquivo .env (excluído do git) ou um gerenciador de segredos.
Após qualquer alteração de configuração: Execute
/reload-pluginsno Claude Code, ou reinicie o Claude Desktop / Cursor. O servidor MCP deve ser recarregado para captar novas variáveis de ambiente.
Variáveis de Ambiente
Obrigatórias
Defina uma para acessar as ferramentas da API blockchain. Sem nenhuma, apenas as ferramentas de Configuração e Operações sem autenticação funcionam. A chave de API tem prioridade quando definida junto com uma chave de carteira.
| Variável | Padrão | Descrição |
|---|---|---|
ONESOURCE_API_KEY | — | Chave de API OneSource para autenticação de token Bearer. Tem prioridade sobre os trilhos de carteira. |
X402_PRIVATE_KEY | — | Chave privada EVM (hex de 64 caracteres, prefixo 0x opcional) para pagamentos automáticos x402 USDC na Base. |
MPP_PRIVATE_KEY | — | Chave privada EVM para pagamentos automáticos MPP (USDC.e / pathUSD) na Tempo. |
Opcionais / Avançadas
Todas têm padrões sensatos — os modos de canal funcionam prontos para uso. Defina-as apenas para substituir um endpoint, ajustar como os modos de canal se comportam ou ajustar a análise. Os modos de pagamento também podem ser alternados em tempo de execução com a ferramenta 1s_payment_mode. Os controles de canal abaixo (X402_PAYMENT_MODE, X402_DEPOSIT_MULTIPLIER, MPP_PAYMENT_MODE, MPP_MAX_DEPOSIT, X402_BATCH_PROMPT, X402_BATCH_THRESHOLD) podem ser definidos e persistidos a partir de uma sessão com a ferramenta 1s_batch_config — sem edição de configuração ou reinicialização necessária; uma configuração salva tem prioridade sobre essas variáveis de ambiente.
| Variável | Padrão | Descrição |
|---|---|---|
ONESOURCE_BASE_URL | https://api.onesource.io | URL base da API. |
X402_PAYMENT_MODE | exact | Esquema x402 inicial: exact (por chamada) ou batch (canal de pagamento). Alterne na sessão com 1s_payment_mode. |
X402_RPC_URL | Padrão da Base | Endpoint RPC da Base usado para enviar depósitos de canal no modo lote. |
X402_DEPOSIT_MULTIPLIER | 10 | Modo lote: depósito = preço × este multiplicador, financiando esse número de chamadas por canal. O saldo não utilizado é recuperável via 1s_refund. |
X402_CHANNEL_DIR | — | Diretório para persistir o estado do canal em lote entre reinicializações. Não definido = em memória (canal perdido na reinicialização). |
X402_CHANNEL_SALT | zero | Modo lote: salt hexadecimal de 32 bytes para derivar o ID do canal inicial. O cliente gira automaticamente para o próximo salt quando um canal é esgotado ou reembolsado. |
MPP_PAYMENT_MODE | charge | Esquema MPP inicial: charge (por chamada) ou session (canal de voucher Tempo). Alterne na sessão com 1s_payment_mode. |
MPP_MAX_DEPOSIT | 1 | Modo sessão: máximo de USDC.e / pathUSD bloqueado por canal de voucher Tempo. O saldo não utilizado é recuperável via 1s_refund. |
MPP_RPC_URL | Padrão da Tempo | Endpoint RPC da Tempo usado para enviar depósitos de canal no modo sessão. |
X402_BATCH_PROMPT | ask | Como o agente lida com a mudança para um modo de canal (ambos os trilhos): ask (confirmar antes de mudar), auto (mudar por conta própria) ou off (apenas mudar quando explicitamente solicitado). |
X402_BATCH_THRESHOLD | 5 | Número de chamadas antecipadas em uma sessão no qual ou acima do qual o agente considera um modo de canal (ambos os trilhos). Consultivo — o agente estima a contagem de chamadas; não é um contador rígido de tempo de execução. |
ONESOURCE_CONFIG_DIR | ~/.onesource | Diretório que contém a configuração de canal gerenciada pelo servidor (batch-config.json) escrita por 1s_batch_config. |
ONESOURCE_ANALYTICS | true | Defina como false para desativar a análise. |
ONESOURCE_ANALYTICS_URL | https://1s-analytics.vercel.app | Endpoint do painel para análise. |
ONESOURCE_ANALYTICS_KEY | onesource-mcp | Chave de API para análise do painel. O alias legado X402_ANALYTICS_KEY ainda funciona, mas está obsoleto. |
Solução de Problemas
1s_setup_check mostra "Método de autenticação ativo: nenhum" (ferramentas blockchain bloqueadas)
Em Configuração atual, "Método de autenticação ativo: nenhum" significa que nenhuma autenticação está definida. Defina um de ONESOURCE_API_KEY (chave de API), X402_PRIVATE_KEY (x402 na Base) ou MPP_PRIVATE_KEY (MPP na Tempo) — ou apenas execute 1s_setup_check e deixe-o guiá-lo pelo processo. Recarregue o servidor MCP após definir qualquer variável (veja a nota acima). Se a chave ainda não estiver chegando ao servidor, defina-a como uma variável de ambiente do shell diretamente.
Obtendo 403 / chave errada ativa apesar da configuração correta
Uma chave definida no seu perfil de shell (por exemplo, ~/.zshrc, ~/.bash_profile) é captada pelo processo do servidor MCP mesmo que não esteja na sua configuração MCP do Claude. Execute echo $ONESOURCE_API_KEY no seu terminal para verificar. Se imprimir um valor que você não pretendia, remova-o (unset ONESOURCE_API_KEY) ou limpe-o explicitamente ao adicionar o servidor: claude mcp add onesource -e ONESOURCE_API_KEY= -e X402_PRIVATE_KEY=<key> -- npx -y @one-source/mcp@latest. 1s_setup_check mostra os primeiros 6 caracteres de qualquer chave que esteja ativa para que você possa confirmar qual o servidor está usando.
Instruções mostram método de autenticação errado após reinstalação
/reload-plugins no Claude Code reconecta as ferramentas, mas pode não atualizar o prompt de sistema que o LLM vê. Se você mudar o método de autenticação (por exemplo, chave de API → x402), faça uma reinicialização completa do Claude Code para garantir que as instruções reflitam a nova autenticação.
Erro "MCP server onesource already exists"
Execute claude mcp remove onesource primeiro e depois adicione novamente com sua configuração atualizada.
Windows: npx requer wrapper cmd /c
O comando /doctor do Claude Code pode avisar sobre isso. Atualize sua configuração MCP para usar "command": "cmd" com "args": ["/c", "npx", "-y", "@one-source/mcp@latest"].
**npx trava sem saída
Isso é normal — o modo stdio espera por entrada JSON-RPC no stdin. Use --http se quiser um servidor HTTP que você possa usar com curl.
Porta já em uso
Especifique uma porta diferente: npx -y @one-source/mcp@latest --http --port=8080
Publicação no Registro
Este pacote está listado no Registro MCP oficial sob o namespace verificado io.onesource/mcp e no Glama. Ao lançar uma nova versão, atualize ambos os registros.
Registro MCP
Configuração Inicial
1. Instale o Go
Baixe o instalador para sua plataforma em go.dev/dl e execute-o. Verifique:
go version
2. Instale o mcp-publisher
go install github.com/modelcontextprotocol/registry/cmd/mcp-publisher@latest
Se o caminho do módulo Go mudou e o comando falhar, baixe o binário diretamente da página de lançamentos do mcp-publisher no GitHub.
No Windows, adicione o diretório bin do Go ao seu PATH se o comando não for reconhecido:
$env:PATH += ";$env:USERPROFILE\go\bin"
Verifique:
mcp-publisher --help
3. Autenticação DNS (já feita)
O domínio onesource.io tem um registro TXT DNS que prova a propriedade do namespace io.onesource. Isso já está configurado — você não precisa refazer.
O registro está no domínio raiz (onesource.io, não _mcp-registry.onesource.io):
v=MCPv1; k=ed25519; p=7D3U5rufgNXb/lH2MthTRZdDzEGeE7/Jvg8YkiArQc8=
Você pode verificar se ele resolve:
nslookup -type=TXT onesource.io 8.8.8.8
4. Obtenha a Chave Privada
A autenticação requer a chave privada ed25519 em formato hexadecimal que corresponde à chave pública no registro DNS. Peça essa chave ao líder da equipe — ela está armazenada no gerenciador de senhas / cofre da equipe.
Se você precisar regenerar o par de chaves (isso invalida o registro DNS atual e exige atualizá-lo):
- Gere um novo par de chaves ed25519 (ex.:
openssl genpkey -algorithm Ed25519 -out key.pem) - Extraia a semente bruta de 32 bytes da chave privada e converta para hexadecimal:
openssl pkey -in key.pem -outform DER | tail -c 32 | xxd -p -c 32
- Extraia a chave pública em base64 para o registro DNS TXT:
openssl pkey -in key.pem -pubout -outform DER | tail -c 32 | base64
- Atualize o registro DNS TXT em
onesource.iocom a nova chave pública:
v=MCPv1; k=ed25519; p=<base64-public-key>
- Aguarde a propagação do DNS antes de tentar fazer login.
Publicando uma Nova Versão
Use o script de release. Os releases normalmente são executados via o script de release coordenado no repositório sre-services (
scripts/release-mcp.mjs— vejasre-services/RELEASING.md), que executa todas as etapas abaixo em ambos@one-source/api-mcpe@one-source/mcpna ordem correta, incluindo o incremento deserver.jsonemcp-publisher publish. A Configuração Inicial acima ainda é o pré-requisito para a etapa do registro. As etapas manuais abaixo são o fallback para correções apenas no registro ou quando o script não pode ser executado.
Toda vez que você publicar uma nova versão npm, atualize o Registro MCP:
- Publique no npm (o registro valida que o pacote existe, então isso deve acontecer primeiro):
npm run build
npm publish --access public
- Atualize
server.json— defina ambos os camposversionpara corresponder à nova versão npm:
{
"version": "x.y.z",
...
"packages": [{ "version": "x.y.z", ... }]
}
O campo mcpName em package.json deve ser "io.onesource/mcp" e deve corresponder ao campo name em server.json. Isso já está definido — não o remova.
3. Autentique-se (os tokens expiram, então faça isso a cada vez):
mcp-publisher login dns --domain onesource.io --private-key <ed25519-hex-private-key>
- Publique no registro:
mcp-publisher publish
- Verifique:
curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=onesource"
Glama
O Glama sincroniza automaticamente a partir do repositório GitHub diariamente. Nenhuma etapa manual é necessária após um release — apenas certifique-se de que as alterações sejam enviadas para develop (o branch padrão). O arquivo glama.json na raiz do repositório controla a propriedade. A re-sincronização manual está disponível no painel de administração do Glama após reivindicar o servidor.
Política de Privacidade
O uso desta extensão conecta-se à API OneSource. Consulte a Política de Privacidade do OneSource para detalhes sobre como os dados são tratados.
Licença
Apache 2.0 — veja LICENSE para detalhes.