one-source-mcp-1s
mcpsmithery# @one-source/mcp Unified MCP server for [OneSource](https://docs.onesource.io) — 31 tools for blockchain data, live chain queries, and API documentation in a single server. Combines [`@one-source/api-mcp`](https://www.npmjs.com/package/@one-source/api-mcp) (22 tools) and [`@one-source/docs-mcp`](https://www.npmjs.com/package/@one-source/docs-mcp) (9 tools) so your AI assistant gets full access to OneSource with one MCP connection. > **What is MCP?** The [Model Context Protocol](https://modelcontextprotocol.io) lets AI assistants call tools and access data sources. This server exposes both the OneSource blockchain API and its documentation as tools. ## Quick Start ### Claude Code ```bash claude mcp add onesource -- npx @one-source/mcp ``` ### Claude Desktop / Cursor Add to your MCP config: ```json { "mcpServers": { "onesource": { "command": "npx", "args": ["-y", "@one-source/mcp"] } } } ``` ### Any MCP Client (stdio) ```bash npx @one-source/mcp ``` ### HTTP Server (self-hosted) ```bash npx @one-source/mcp --http npx @one-source/mcp --http --port=8080 ``` Then connect your MCP client to `http://localhost:3000/`. ## Tools (31) ### Blockchain API — Live Chain (12 tools) | Tool | Description | |------|-------------| | `1s_allowance_live` | ERC20 allowance check | | `1s_contract_info_live` | Contract type detection via ERC165 | | `1s_erc1155_balance_live` | ERC1155 balance via RPC | | `1s_erc20_balance_live` | ERC20 balance via balanceOf | | `1s_erc20_transfers_live` | ERC20 Transfer logs via eth_getLogs | | `1s_erc721_tokens_live` | ERC721 token enumeration | | `1s_events_live` | Event logs via eth_getLogs | | `1s_multi_balance_live` | ETH + multiple ERC20 balances | | `1s_nft_metadata_live` | NFT metadata via tokenURI | | `1s_nft_owner_live` | NFT owner via ownerOf | | `1s_total_supply_live` | Token total supply | | `1s_tx_details_live` | Transaction + receipt via RPC | ### Blockchain API — Chain Utilities (10 tools) | Tool | Description | |------|-------------| | `1s_contract_code` | Contract bytecode | | `1s_ens_resolve` | ENS name/address resolution | | `1s_estimate_gas` | Gas estimation | | `1s_network_info` | Chain ID, block number, gas price | | `1s_nonce` | Transaction count | | `1s_pending_block` | Pending block from mempool | | `1s_proxy_detect` | Proxy contract detection | | `1s_simulate_call` | Simulate eth_call | | `1s_storage_read` | Read storage slot | | `1s_tx_receipt` | Transaction receipt | ### Documentation (9 tools) Read-only, no API key required. | Tool | Purpose | When to use | |------|---------|-------------| | `search_docs` | Keyword search across all documentation | Finding guides, concepts, or API patterns | | `get_query_reference` | Full reference for a root GraphQL query | Building a specific query with correct args/filters | | `get_type_definition` | Schema definition for any type/enum/input | Understanding field shapes and return types | | `list_examples` | Browse or search working GraphQL examples | Finding ready-to-use query patterns | | `list_supported_chains` | All supported blockchain networks + endpoints | First question: "What chains are supported?" | | `get_filter_reference` | Filter fields and operators for a list query | Building filtered queries with correct syntax | | `get_pagination_guide` | Cursor-based pagination pattern with examples | Implementing pagination for list queries | | `get_schema_overview` | High-level summary of the entire schema | Exploring the API surface before diving in | | `get_authentication_guide` | API key format, headers, and endpoints | Setting up authentication for the first time | ## Networks All blockchain API tools accept an optional `network` parameter: | Network | Description | |---------|-------------| | `ethereum` | Ethereum mainnet (default) | | `sepolia` | Ethereum Sepolia testnet | | `avax` | Avalanche C-Chain | ## Payment (x402) Blockchain API endpoints are priced in USDC on Base via [x402](https://github.com/coinbase/x402). When the backend has payments enabled, tool calls return a 402 with payment details. Agents using [`@x402/fetch`](https://www.npmjs.com/package/@x402/fetch) handle this automatically. Documentation tools are always free — no API key or authentication needed. ## License Apache 2.0
By Smithery | 79 findings | Scanned 7/4/2026 | tooltrust-scanner/v0.3.19
Risk Summary
Safe With Normal ControlsDep Visibility is the main signal, but overall risk remains within an acceptable range.
Potential impact: This finding indicates the tool should be reviewed before it is trusted.
Recommended action: No high-risk findings were detected in this scan, but you should still apply least-privilege defaults and rescan after changes.
Suggested policy: keep this tool behind manual approval, do not allow unattended runs, and re-scan after narrowing risky permissions.
Security Findings (79)
tool performs network or execution operations but declares no rate-limit, timeout, or retry configuration
1s_nft_media1s_nft_metadata1s_allowance_live1s_nft_metadata_live1s_ens_resolve1s_network_infosearch_docsget_query_referencelist_supported_chainsFix: Declare explicit rate-limit, timeout, and retry configuration for all network and execution tools. Implement exponential back-off and surface resource state to the calling agent.
Tool did not expose metadata.dependencies or repo_url, so supply-chain coverage is limited.
1s_address_txs1s_block1s_contract_info1s_erc1155_balance1s_erc20_balance1s_erc20_transfers1s_events1s_nft_media1s_nft_metadata1s_nft_owner1s_tx_details1s_wallet_nfts1s_allowance_live1s_contract_info_live1s_erc1155_balance_live1s_erc20_balance_live1s_erc20_transfers_live1s_erc721_tokens_live1s_events_live1s_multi_balance_live1s_nft_metadata_live1s_nft_owner_live1s_total_supply_live1s_tx_details_live1s_contract_code1s_ens_resolve1s_estimate_gas1s_network_info1s_nonce1s_pending_block1s_proxy_detect1s_simulate_call1s_storage_read1s_tx_receiptsearch_docsget_query_referenceget_type_definitionlist_exampleslist_supported_chainsget_filter_referenceget_pagination_guideget_schema_overviewget_authentication_guideFix: Review and remediate the identified issue.
input parameter "token_id" accepts a credential (informational; not evidence of insecure handling)
1s_erc1155_balance1s_nft_media1s_nft_metadata1s_nft_owner1s_erc1155_balance_live1s_nft_metadata_live1s_nft_owner_liveinput parameter "token" accepts a credential (informational; not evidence of insecure handling)
1s_erc20_balance1s_erc20_transfers1s_allowance_live1s_erc20_balance_live1s_erc20_transfers_live1s_total_supply_liveinput parameter "tokens" accepts a credential (informational; not evidence of insecure handling)
1s_multi_balance_liveFix: Avoid accepting raw credentials as input parameters. Use secret managers (e.g. 1Password CLI, AWS Secrets Manager) and ensure credentials are never logged or stored in agent traces.
declared capabilities: network access, filesystem access
1s_nft_mediadeclared capabilities: network access
1s_nft_metadata1s_nft_metadata_live1s_ens_resolve1s_network_infosearch_docslist_supported_chainsdeclared capabilities: code/command execution
1s_allowance_livedeclared capabilities: database access
1s_erc20_transfers_live1s_events_liveget_filter_referenceget_pagination_guidedeclared capabilities: network access, database access
get_query_referenceFix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.
Scan this tool yourself
Reproduce this audit locally, integrate into CI, or let your agent audit its own tools.
Install once, then scan any MCP server:
$ curl -sfL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash$ tooltrust-scanner scan --server "npx -y one-source-mcp-1s"Adjust the package name if your npm registry name differs from the tool ID. View source
Add badge to your README
Copy this Markdown to show your ToolTrust grade on GitHub.
[](https://github.com/AgentSafe-AI/tooltrust-directory)