OneSource MCP MCP server

46 tools for blockchain data, Deepstate market data, live chain queries, and REST API documentation.

66/100?Number 139 of 1,134 in Finance and Market Data

verified publishersource repositorytool list publishedupdated recentlyactive entry

How this score is calculated

Local VERIFIED Finance and Market Data

Details

Registry name
io.onesource/mcp
Publisher
onesource
Version
5.12.0
Distribution
Local. the server runs as a process on your own machine and talks to the client over stdio. You install the package first, and your data stays on your machine.
Transports
stdio
Source repository
blockparty-global/1s-mcp
First published
Registry updated
Credentials required
2 environment variables
Schema generation
2025-12-11

Packages

npm @one-source/mcp

Version
5.12.0
Transport
stdio
Runtime
not specified
Environment variables
VariableRequiredSecretPurpose
X402_PRIVATE_KEYYesYesEVM private key (64-char hex, 0x prefix optional) for automatic x402 USDC payments on Base
ONESOURCE_API_KEYYesYesOneSource API key for Bearer token auth

Install OneSource MCP

Pick your client. The configuration below is generated from this server's published package and endpoint data.

Claude Code command line

Configuration file: .mcp.json or ~/.claude.json

Local package (npm)
claude mcp add mcp-onesource --env X402_PRIVATE_KEY=<x402_private_key> --env ONESOURCE_API_KEY=<onesource_api_key> -- npx -y @one-source/mcp

Replace each placeholder with your own value before saving.

Check it worked: Run claude mcp list and check the server reports connected.

Official Claude Code MCP documentation

Cursor IDE

Configuration file: .cursor/mcp.json or ~/.cursor/mcp.json

Local package (npm)
{
  "mcpServers": {
    "mcp-onesource": {
      "command": "npx",
      "args": ["-y", "@one-source/mcp"],
      "env": {
        "X402_PRIVATE_KEY": "<x402_private_key>",
        "ONESOURCE_API_KEY": "<onesource_api_key>"
      }
    }
  }
}

Replace each placeholder with your own value before saving.

Check it worked: The server appears under Settings, then MCP with a green dot.

Official Cursor MCP documentation

Claude Desktop desktop app

Configuration file: ~/Library/Application Support/Claude/claude_desktop_config.json or %APPDATA%\Claude\claude_desktop_config.json

Local package (npm)
{
  "mcpServers": {
    "mcp-onesource": {
      "command": "npx",
      "args": ["-y", "@one-source/mcp"],
      "env": {
        "X402_PRIVATE_KEY": "<x402_private_key>",
        "ONESOURCE_API_KEY": "<onesource_api_key>"
      }
    }
  }
}

Replace each placeholder with your own value before saving.

Quit the app completely and reopen it.

Check it worked: Look for the tools icon in the message composer.

Official Claude Desktop MCP documentation

Visual Studio Code IDE

Configuration file: .vscode/mcp.json or user settings.json under mcp

Local package (npm)
{
  "servers": {
    "mcp-onesource": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@one-source/mcp"],
      "env": {
        "X402_PRIVATE_KEY": "<x402_private_key>",
        "ONESOURCE_API_KEY": "<onesource_api_key>"
      }
    }
  }
}

Replace each placeholder with your own value before saving.

Check it worked: Open the Copilot chat tools picker and confirm the server is listed.

Official Visual Studio Code MCP documentation

Codex CLI command line

Configuration file: ~/.codex/config.toml

Local package (npm)
codex mcp add mcp-onesource -- npx -y @one-source/mcp

Replace each placeholder with your own value before saving.

Check it worked: Run codex mcp list and check the server is present.

Official Codex CLI MCP documentation

More clients (9), including automation platforms

Tools

43 tools, from the publisher's manifest. A parameter marked with an asterisk is required. By intent: 41 answer and 2 not classified.

Intent says what a tool does with the world. Answer reads and returns information and changes nothing. Act changes state somewhere, by writing, creating, sending or deleting. Transact moves money, buys something or commits to a cost. A value marked declared is the publisher's own annotation on their own tool. A value marked inferred is this catalogue reading the tool name and description, and is not a claim by the publisher. Where neither settles it, the tool is left unclassified rather than guessed at.

ToolWhat it doesIntentParameters
1s_address_txsGet transaction history for an address (sent and received). Sorted by block number descending. Use from_block/to_block to narrow the range. answer inferredlimit, address, network, to_block, from_block
1s_blockGet indexed block details by block number. Returns block metadata including timestamp, transaction count, and gas used. For the latest pending block, use 1s_pending_block instead. answer inferrednetwork, block_number
1s_contract_infoGet indexed contract metadata including deployment info and detected standards. Use this for enriched contract data; use 1s_contract_info_live for real-time ERC standard detection via RPC. answer inferredaddress, network
1s_erc1155_balanceGet indexed ERC1155 token balance. Use this for cached lookups; use 1s_erc1155_balance_live for real-time data. Requires the contract address and specific token ID. answer inferredaccount, network, contract, token_id
1s_erc20_balanceGet indexed ERC20 token balance for a wallet. Use this for historical or cached balance lookups; use 1s_erc20_balance_live for real-time data. Returns token metadata (name, symbol, decimals) alongside the balance. answer inferredtoken, account, network
1s_erc20_transfersGet ERC20 transfer history filtered by token and/or wallet. Use this for indexed transfer records; use 1s_erc20_transfers_live for raw Transfer event logs. Sorted by block number descending. answer inferredlimit, token, wallet, network
1s_eventsSearch indexed event logs by contract address and/or event name. Use this for decoded, searchable events; use 1s_events_live for raw eth_getLogs against the node. Sorted by block number descending. answer inferredlimit, network, contract, to_block, event_name, from_block
1s_nft_mediaGet processed media files (images, videos, thumbnails) for an NFT. Use this to get optimized media URLs with dimensions and content types. Only returns successfully processed media (status=OK). answer inferrednetwork, contract, token_id
1s_nft_metadataGet NFT metadata including name, description, image URL, and traits from the index. Use this for enriched metadata; use 1s_nft_metadata_live to fetch directly from the token's URI. Excludes records with fetch errors. answer inferrednetwork, contract, token_id
1s_nft_ownerGet the current owner of an NFT from the index. Use this for quick ownership checks; use 1s_nft_owner_live for guaranteed real-time data. Filters out zero-balance holders automatically. answer inferrednetwork, contract, token_id
1s_tx_detailsGet indexed transaction details with decoded event logs. Use this for rich transaction data; use 1s_tx_details_live for unindexed or very recent transactions. Returns both the transaction and up to 100 associated events. answer inferredhash, network
1s_wallet_nftsGet a wallet's complete NFT portfolio with metadata enrichment. Returns ERC721 and ERC1155 tokens with names, images, and collection info. Results sorted by most recently updated. answer inferredlimit, account, network
1s_allowance_liveCheck ERC20 token allowance (approved spending amount) via the allowance(owner,spender) RPC call. Use this before executing transferFrom or to verify approvals. Returns the allowance amount in raw token units. answer inferredowner, token, network, spender
1s_contract_info_liveDetect contract type and supported interfaces via eth_getCode and ERC165 supportsInterface. Use this for real-time standard detection; use 1s_contract_info for indexed metadata. Returns detected standards (ERC20, ERC721, ERC1155, ERC165). answer inferredaddress, network
1s_erc1155_balance_liveGet real-time ERC1155 token balance via balanceOf(address,uint256) RPC call. Use this when you need guaranteed current balance; use 1s_erc1155_balance for cached lookups. Returns the raw balance as a numeric string. answer inferredaccount, network, contract, token_id
1s_erc20_balance_liveGet real-time ERC20 token balance directly from the blockchain via balanceOf. Use this for pre-transaction checks or when zero indexing delay is needed; use 1s_erc20_balance for cheaper cached lookups. Returns raw token units (divide by 10^decimals); non-standard tokens may return empty name/symbol. answer inferredtoken, account, network
1s_erc20_transfers_liveQuery ERC20 Transfer event logs via eth_getLogs. Use this for real-time transfer monitoring; use 1s_erc20_transfers for indexed transfer history. Block params are hex-encoded. answer inferredtoken, wallet, network, to_block, from_block
1s_erc721_tokens_liveEnumerate ERC721 tokens owned by an address via ERC721Enumerable. Only works for contracts that implement the Enumerable extension. Returns token IDs owned by the address. not classifiedowner, network, contract
1s_events_liveQuery raw event logs via eth_getLogs directly from the node. Use this for real-time or unindexed events; use 1s_events for decoded, searchable indexed events. Block params are hex-encoded (e.g. 0x1234). answer inferredtopic, network, contract, to_block, from_block
1s_multi_balance_liveGet ETH and multiple ERC20 balances in a single batched RPC call. Use this to check a wallet's holdings across multiple tokens efficiently. Individual token errors are returned per-token without failing the entire request. answer inferredtokens, address, network
1s_nft_metadata_liveFetch NFT metadata directly from the blockchain via tokenURI/uri RPC call. Resolves all URI formats: ipfs://, ar://, data: URIs, bare CIDs, and ERC1155 {id} templates. Use this for freshest metadata; use 1s_nft_metadata for cached lookups. answer inferrednetwork, contract, token_id
1s_nft_owner_liveGet the current NFT owner via ownerOf(tokenId) RPC call. Use this for real-time ownership verification; use 1s_nft_owner for cached lookups. Only works for ERC721 tokens. answer inferrednetwork, contract, token_id
1s_total_supply_liveGet the total supply of an ERC20 or ERC721 token via totalSupply() RPC call. Use this for real-time supply data. Returns raw token units for ERC20 (divide by 10^decimals) or total count for ERC721. answer inferredtoken, network
1s_tx_details_liveGet full transaction data and receipt directly from the RPC node. Use this for very recent or unindexed transactions; use 1s_tx_details for enriched indexed data. Returns both transaction fields and receipt (status, gas used, logs). answer inferredhash, network
1s_contract_codeGet the deployed bytecode of a contract via eth_getCode. Returns '0x' for EOA (non-contract) addresses. Use this to verify whether an address is a contract before interacting with it. answer inferredaddress, network
1s_ens_resolveResolve ENS names to addresses (forward) or addresses to ENS names (reverse). Accepts either a .eth name or a 0x address. Only works on networks with ENS registry deployed (mainnet, sepolia). answer inferredinput, network
1s_estimate_gasEstimate gas required for a transaction via eth_estimateGas. Use this before sending transactions to set appropriate gas limits. Returns the estimated gas as a hex value; reverts return the revert reason. answer inferredto, data, from, value, network
1s_network_infoGet basic network information: chain ID, latest block number, and current gas price. Use this to verify which chain you are connected to or to check current gas conditions. Returns hex-encoded values; gas price is in wei. answer inferrednetwork
1s_nonceGet the transaction count (nonce) for an address via eth_getTransactionCount. Use this to set the correct nonce when constructing transactions. Returns the count as a hex value. answer inferredaddress, network
1s_pending_blockGet the current pending block from the mempool. Use this to see transactions waiting for inclusion. Not all nodes expose pending block data; results vary by RPC provider. answer inferrednetwork
1s_proxy_detectDetect if a contract is a proxy and read its implementation address. Checks EIP-1967 (transparent/UUPS/beacon) storage slots. Returns the proxy type, implementation address, and admin if applicable. answer inferredaddress, network
1s_simulate_callSimulate a contract call via eth_call without sending a transaction. Use this to preview call results, decode return data, or check for reverts before sending. Returns the raw hex result or revert reason. not classifiedto, gas, data, from, value, network
1s_storage_readRead a raw storage slot from a contract via eth_getStorageAt. Use this for low-level state inspection (e.g. reading proxy implementation slots, packed storage). Slot must be a hex-encoded 32-byte value. answer inferredslot, network, contract
1s_tx_receiptGet a transaction receipt via RPC. Returns status (1=success, 0=revert), gas used, logs, and contract address if deployment. Use 1s_tx_details_live for both transaction data and receipt together. answer inferredhash, network
search_docsSearch OneSource documentation by keyword. Returns the top 5 matching sections. answer inferredquery
get_query_referenceGet full reference for a OneSource root GraphQL query — arguments, filters, return type. There are 12 root queries: address, addresses, block, blocks, contract, contracts, nft, nfts, token, tokens, transaction, transactions. answer inferredquery_name
get_type_definitionGet the schema definition for a GraphQL type, enum, scalar, input, or interface. Returns fields, values, and descriptions. answer inferredtype_name
list_examplesList or search working GraphQL examples. Without a topic, returns a summary of all available examples. With a topic, returns full example content matching that keyword. answer inferredtopic
list_supported_chainsList all blockchain networks supported by OneSource with endpoint URLs. answer inferrednone
get_filter_referenceGet all filter fields and operators for a list query (e.g. transactions, tokens). answer inferredquery_name
get_pagination_guideGet the cursor-based pagination pattern with examples for a list query. answer inferredquery_name
get_schema_overviewGet a high-level summary of the entire GraphQL schema — all queries, types, enums, and scalars. answer inferrednone
get_authentication_guideGet the authentication guide — API key format, endpoints, headers, and common mistakes. answer inferrednone

Command line alternative

None found. The published package declares no executable and no matching Homebrew formula exists, so the MCP server appears to be the only route. This is a negative result from automated checks, not a statement from the publisher.

Repository

Read from github on 2026-08-06.

Stars
0
Forks
1
Open issues
6
Primary language
TypeScript
Licence
not declared by the publisher
Last commit
2026-08-05
Latest release
no tagged release
Created
2026-03-26
Repository files
readme, license, serverJson

Security, privacy and enterprise use

The publisher's website links no privacy policy, terms, security page or enterprise information that could be found automatically. It may still exist somewhere less obvious on their site.

Publisher

Profiles
x
Community
no subreddit linked from the publisher's site

Review platforms

CAPTERRA G2 OMR TRUSTPILOT

Ratings are not shown. G2, Trustpilot and Capterra all prohibit republishing their scores without a licence, and marking up a borrowed rating as our own would breach search engine policy. These are profile links only, and a profile may not exist for every publisher.

Frequently asked questions

What does the OneSource MCP MCP server do?
46 tools for blockchain data, Deepstate market data, live chain queries, and REST API documentation.
Do I need to install anything to use OneSource MCP?
Yes. OneSource MCP runs as a local process, so the package has to be installed on the machine where the client runs.
How do I install OneSource MCP?
Install the npm package @one-source/mcp and run it with npx -y @one-source/mcp.
Does OneSource MCP need an API key?
Yes. It reads 2 environment variables from the environment, so you need to supply X402_PRIVATE_KEY, ONESOURCE_API_KEY before the server will start.
What is X402_PRIVATE_KEY used for in OneSource MCP?
EVM private key (64-char hex, 0x prefix optional) for automatic x402 USDC payments on Base.
What is ONESOURCE_API_KEY used for in OneSource MCP?
OneSource API key for Bearer token auth.
Which transport does OneSource MCP use?
Stdio. Your client has to support that transport to connect.
Where is the source code for OneSource MCP?
The publisher lists https://github.com/blockparty-global/1s-mcp as the source repository.
Is OneSource MCP an official server?
It is published under the namespace io.onesource, which means the publisher proved control of that domain when registering. That confirms who published it, not that it has been reviewed for quality or security.
Which version of OneSource MCP is listed here?
Version 5.12.0, taken from the latest registry entry.