Onesource MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ONESOURCE_BASE_URL | No | API base URL | https://skills.onesource.io |
| X402_ANALYTICS_KEY | No | API key for dashboard analytics | |
| ONESOURCE_ANALYTICS | No | Set to `false` to disable analytics | |
| ONESOURCE_ANALYTICS_URL | No | Dashboard endpoint for analytics |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 1s_allowance_liveA | Check 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. |
| 1s_contract_info_liveA | Detect contract type and supported interfaces via eth_getCode and ERC165 supportsInterface. Returns detected standards (ERC20, ERC721, ERC1155, ERC165). |
| 1s_erc1155_balance_liveA | Get real-time ERC1155 token balance via balanceOf(address,uint256) RPC call. Returns the raw balance as a numeric string. |
| 1s_erc20_balance_liveA | Get real-time ERC20 token balance directly from the blockchain via balanceOf. Use this for pre-transaction checks or when zero indexing delay is needed. Returns raw token units (divide by 10^decimals); non-standard tokens may return empty name/symbol. |
| 1s_erc20_transfers_liveA | Query ERC20 Transfer(from, to, value) event logs via eth_getLogs directly from the node. Filter by token contract and/or wallet address. Block params are hex-encoded (e.g. 0x1234). Returns decoded transfer events with sender, recipient, and value. WARNING: Keep block ranges small (10 blocks or fewer) to avoid huge responses. Omitting from_block/to_block queries only the latest block. |
| 1s_erc721_tokens_liveA | Enumerate ERC721 tokens owned by an address via ERC721Enumerable. Only works for contracts that implement the Enumerable extension. Returns token IDs owned by the address. |
| 1s_events_liveA | Query raw event logs via eth_getLogs directly from the node. Filter by contract address and/or topic0 (keccak256 hash of event signature, e.g. Transfer(address,address,uint256)). Block params are hex-encoded (e.g. 0x1234). Returns raw log entries with topics, data, and block context. WARNING: Keep block ranges small (10 blocks or fewer) to avoid huge responses. Always specify a contract address when possible. Omitting from_block/to_block queries only the latest block. |
| 1s_multi_balance_liveA | Get 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. |
| 1s_nft_metadata_liveA | Fetch 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. |
| 1s_nft_owner_liveA | Get the current NFT owner via ownerOf(tokenId) RPC call. Only works for ERC721 tokens. |
| 1s_total_supply_liveA | Get 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. |
| 1s_tx_details_liveA | Get full transaction data and receipt directly from the RPC node. Returns both transaction fields and receipt (status, gas used, logs). |
| 1s_block_by_numberA | Get full block details by block number via RPC. Returns transactions, gas used, miner, timestamp, and other header fields. Accepts decimal (e.g. "21000000") or hex (e.g. "0x1406F40") block numbers. |
| 1s_block_numberA | Get the latest block number for a network. Returns the current chain head as a hex-encoded value. Use 1s_network_info to also get chain ID and gas price in the same call. |
| 1s_chain_idA | Get the EIP-155 chain ID for a network as a hex-encoded value. Use this to verify the network before signing transactions. Use 1s_network_info to get chain ID, block number, and gas price together. |
| 1s_contract_codeA | Get the deployed bytecode of a contract via eth_getCode. Returns '0x' for EOA (non-contract) addresses. Bytecode can be very large for complex contracts. Prefer 1s_proxy_detect or 1s_contract_info_live for type checks without fetching full bytecode. |
| 1s_ens_resolveA | Resolve 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). |
| 1s_estimate_gasA | Estimate 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. |
| 1s_network_infoA | Get 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. |
| 1s_nonceA | Get 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. |
| 1s_pending_blockA | Get the current pending block from the mempool. Use this to see transactions waiting for inclusion. WARNING: Response can be very large (1MB+) on mainnet as it includes all pending transactions. Prefer 1s_network_info for chain status or 1s_tx_details_live for specific transactions. Not all nodes expose pending block data; results vary by RPC provider. |
| 1s_proxy_detectA | Detect 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. |
| 1s_simulate_callA | Simulate 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. |
| 1s_storage_readA | Read 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. |
| 1s_tx_receiptA | Get 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. |
| 1s_setup_checkA | Check OneSource MCP server health — version (current vs latest), authentication status (API key or x402), API connectivity, and setup instructions if anything is missing. Free, no authentication required. Call this first when troubleshooting. |
| 1s_report_bugA | Report a bug or issue to the OneSource team. Use when a tool returns an unexpected error or when the user asks to report a problem. Free, no payment required. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/blockparty-global/1s-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server