# OneSource MCP

# @one-source/mcp

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add one-source/mcp-1s

# Browse available tools
npx -y @smithery/cli@latest tool list one-source/mcp-1s

# Get full schema for a tool
npx -y @smithery/cli@latest tool get one-source/mcp-1s 1s_address_txs

# Call a tool
npx -y @smithery/cli@latest tool call one-source/mcp-1s 1s_address_txs '{}'
```

## Direct MCP Connection

Endpoint: `https://mcp-1s--one-source.run.tools`

**Optional config:**
- `X402_PRIVATE_KEY` (query) — EVM private key (hex, 0x-prefixed) for automatic USDC payments on Base via x402

## Tools (43)

- `1s_address_txs` — Get transaction history for an address (sent and received). Sorted by block number descending. Use from_block/to_block …
- `1s_block` — Get indexed block details by block number. Returns block metadata including timestamp, transaction count, and gas used.…
- `1s_contract_info` — Get indexed contract metadata including deployment info and detected standards. Use this for enriched contract data; us…
- `1s_erc1155_balance` — Get indexed ERC1155 token balance. Use this for cached lookups; use 1s_erc1155_balance_live for real-time data. Require…
- `1s_erc20_balance` — Get indexed ERC20 token balance for a wallet. Use this for historical or cached balance lookups; use 1s_erc20_balance_l…
- `1s_erc20_transfers` — Get ERC20 transfer history filtered by token and/or wallet. Use this for indexed transfer records; use 1s_erc20_transfe…
- `1s_events` — Search indexed event logs by contract address and/or event name. Use this for decoded, searchable events; use 1s_events…
- `1s_nft_media` — Get processed media files (images, videos, thumbnails) for an NFT. Use this to get optimized media URLs with dimensions…
- `1s_nft_metadata` — Get NFT metadata including name, description, image URL, and traits from the index. Use this for enriched metadata; use…
- `1s_nft_owner` — Get the current owner of an NFT from the index. Use this for quick ownership checks; use 1s_nft_owner_live for guarante…
- `1s_tx_details` — Get indexed transaction details with decoded event logs. Use this for rich transaction data; use 1s_tx_details_live for…
- `1s_wallet_nfts` — Get a wallet's complete NFT portfolio with metadata enrichment. Returns ERC721 and ERC1155 tokens with names, images, a…
- `1s_allowance_live` — Check ERC20 token allowance (approved spending amount) via the allowance(owner,spender) RPC call. Use this before execu…
- `1s_contract_info_live` — Detect contract type and supported interfaces via eth_getCode and ERC165 supportsInterface. Use this for real-time stan…
- `1s_erc1155_balance_live` — Get real-time ERC1155 token balance via balanceOf(address,uint256) RPC call. Use this when you need guaranteed current …
- `1s_erc20_balance_live` — Get real-time ERC20 token balance directly from the blockchain via balanceOf. Use this for pre-transaction checks or wh…
- `1s_erc20_transfers_live` — Query ERC20 Transfer event logs via eth_getLogs. Use this for real-time transfer monitoring; use 1s_erc20_transfers for…
- `1s_erc721_tokens_live` — Enumerate ERC721 tokens owned by an address via ERC721Enumerable. Only works for contracts that implement the Enumerabl…
- `1s_events_live` — Query raw event logs via eth_getLogs directly from the node. Use this for real-time or unindexed events; use 1s_events …
- `1s_multi_balance_live` — Get ETH and multiple ERC20 balances in a single batched RPC call. Use this to check a wallet's holdings across multiple…
- `1s_nft_metadata_live` — Fetch NFT metadata directly from the blockchain via tokenURI/uri RPC call. Resolves all URI formats: ipfs://, ar://, da…
- `1s_nft_owner_live` — Get the current NFT owner via ownerOf(tokenId) RPC call. Use this for real-time ownership verification; use 1s_nft_owne…
- `1s_total_supply_live` — Get the total supply of an ERC20 or ERC721 token via totalSupply() RPC call. Use this for real-time supply data. Return…
- `1s_tx_details_live` — Get full transaction data and receipt directly from the RPC node. Use this for very recent or unindexed transactions; u…
- `1s_contract_code` — Get the deployed bytecode of a contract via eth_getCode. Returns '0x' for EOA (non-contract) addresses. Use this to ver…
- `1s_ens_resolve` — Resolve ENS names to addresses (forward) or addresses to ENS names (reverse). Accepts either a .eth name or a 0x addres…
- `1s_estimate_gas` — Estimate gas required for a transaction via eth_estimateGas. Use this before sending transactions to set appropriate ga…
- `1s_network_info` — Get basic network information: chain ID, latest block number, and current gas price. Use this to verify which chain you…
- `1s_nonce` — Get the transaction count (nonce) for an address via eth_getTransactionCount. Use this to set the correct nonce when co…
- `1s_pending_block` — Get the current pending block from the mempool. Use this to see transactions waiting for inclusion. Not all nodes expos…
- `1s_proxy_detect` — Detect if a contract is a proxy and read its implementation address. Checks EIP-1967 (transparent/UUPS/beacon) storage …
- `1s_simulate_call` — Simulate a contract call via eth_call without sending a transaction. Use this to preview call results, decode return da…
- `1s_storage_read` — Read a raw storage slot from a contract via eth_getStorageAt. Use this for low-level state inspection (e.g. reading pro…
- `1s_tx_receipt` — Get a transaction receipt via RPC. Returns status (1=success, 0=revert), gas used, logs, and contract address if deploy…
- `search_docs` — Search OneSource documentation by keyword. Returns the top 5 matching sections.
- `get_query_reference` — Get full reference for a OneSource root GraphQL query — arguments, filters, return type. There are 12 root queries: add…
- `get_type_definition` — Get the schema definition for a GraphQL type, enum, scalar, input, or interface. Returns fields, values, and descriptio…
- `list_examples` — List or search working GraphQL examples. Without a topic, returns a summary of all available examples. With a topic, re…
- `list_supported_chains` — List all blockchain networks supported by OneSource with endpoint URLs.
- `get_filter_reference` — Get all filter fields and operators for a list query (e.g. transactions, tokens).
- `get_pagination_guide` — Get the cursor-based pagination pattern with examples for a list query.
- `get_schema_overview` — Get a high-level summary of the entire GraphQL schema — all queries, types, enums, and scalars.
- `get_authentication_guide` — Get the authentication guide — API key format, endpoints, headers, and common mistakes.

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get one-source/mcp-1s <tool-name>
```
