OneSource MCP
NPM · @ONE-SOURCE/MCP · SCANNED SEP 20
Blockchain data, Deepstate and Standard Reserve markets, live chain queries, and API docs
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security99
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 34 of 130 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 1 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability69
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 17795 tokens (~214/item across 83 items; 83 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 84 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the OneSource MCP server?
OneSource MCP runs locally as an npm package, launched with npx -y @one-source/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @one-source/mcp
claude mcp add io-onesource-mcp -- npx -y @one-source/mcp
{
"mcpServers": {
"io-onesource-mcp": {
"command": "npx",
"args": [
"-y",
"@one-source/mcp"
]
}
}
} {
"servers": {
"io-onesource-mcp": {
"command": "npx",
"args": [
"-y",
"@one-source/mcp"
]
}
}
} codex mcp add io-onesource-mcp -- npx -y @one-source/mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"io-onesource-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@one-source/mcp"
],
"enabled": true
}
}
} openclaw mcp add io-onesource-mcp --command npx --arg -y --arg @one-source/mcp
mcp_servers:
io-onesource-mcp:
command: "npx"
args: ["-y", "@one-source/mcp"] {
"McpServers": {
"io-onesource-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@one-source/mcp"
]
}
}
} assistant mcp add io-onesource-mcp -t stdio -c npx -a -y @one-source/mcp
{
"mcpServers": {
"io-onesource-mcp": {
"command": "npx",
"args": [
"-y",
"@one-source/mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 18 Sept 26 −18
- Malware scan: pass → unverified ▼ security
- Stability: pass → 0.77 functional
- Package version: 5.16.0 → 5.17.0 functional
- 17 Sept 26 0
- Stability: 0.97 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Stability: 0.97 → pass security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Package version: 5.15.0 → 5.16.0 functional
- 16 Sept 26 +11
- Stability: 0.93 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Malware scan: pass → unverified ▼ security
- Known CVEs: unverified → pass ▲ security
- Schema quality: 182 → 212 ▼ functional
- Schema quality: 11877 → 15964 ▼ functional
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Dependency health: unverified → 0.89 ▲ functional
- Package version: 5.13.3 → 5.15.0 functional
- Package version: 5.13.3 → 5.14.0 functional
- 15 Sept 26 −10
- Stability: 0.90 → unverified ▼ security
- Known CVEs: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Dependency health: 0.88 → unverified ▼ functional
- Schema quality: 204 → 182 ▲ functional
- Schema quality: 204 → 181 ▲ functional
- Package version: 5.12.0 → 5.13.3 functional
- Package version: 5.12.0 → 5.13.1 functional
- Package version: 5.12.0 → 5.13.0 functional
- 14 Sept 26 −1
- Stability: pass → 0.90 functional
- 13 Sept 26 0
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/@one-source/mcp@5.17.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 130 packages
| Packages resolved | 130 |
|---|---|
| Stale | 34 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
1s_allowance_live ERC-20 Allowance ~226
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. Optional fields the response could not confirm are listed in warnings; a field that is missing or false for that reason is unknown for this response, not a confirmed answer.
| Name | Type | Req | Description |
|---|---|---|---|
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
| owner | string | yes | Token owner address |
| spender | string | yes | Approved spender address |
| token | string | yes | ERC20 token contract address |
No output schema declared.
No examples provided.
1s_batch_config Payment Config ~351
View or change payment preferences and save them so they persist across restarts — no MCP config editing or restart required. Call with no arguments to see current settings. Set "prompt" (ask/auto/off — agent autonomy when switching to a cheaper channel mode), "threshold" (anticipated calls before a channel is worth it), "deposit_multiplier" (x402 channel deposit = call price × this; applies to the next channel opened), "mpp_max_deposit" (MPP session channel deposit cap, in tokens), or "mode" (the default rail+scheme — x402-exact / x402-batch / mpp-charge / mpp-session — also switched live for this session). Pass "reset": true to restore defaults. With an API key, calls are covered by your plan.
| Name | Type | Req | Description |
|---|---|---|---|
| deposit_multiplier | number | – | x402 channel deposit = call price × this multiplier. Minimum 3. Applies to the next channel opened. |
| mode | string | – | Default payment rail+scheme the session starts in. Also switched live for the current session when that rail is active. |
| mpp_max_deposit | string | – | MPP session channel max deposit, in human token units (e.g. "1"). Applies to the next Tempo channel opened. |
| prompt | string | – | Agent autonomy when deciding to switch to a channel mode: ask (confirm first), auto (switch on its own), off (only on explicit request). |
| reset | boolean | – | Restore all payment settings to their built-in defaults (deletes the saved config file). |
| threshold | integer | – | Anticipated call count at/above which a channel mode is worth considering. Default 5. |
No output schema declared.
No examples provided.
1s_block_by_number Block by Number ~235
Get full block details by block number via RPC. Returns transactions, gas used, miner, timestamp, and other header fields. Accepts decimal (e.g. "21000000"), hex (e.g. "0x1406F40"), or a named tag ("latest", "pending", "earliest", "safe", "finalized").
| Name | Type | Req | Description |
|---|---|---|---|
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
| number | string | yes | Block number — decimal (e.g. "21000000"), hex (e.g. "0x1406F40"), or named tag ("latest", "pending", etc.) |
No output schema declared.
No examples provided.
1s_block_number Current Block Number ~160
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.
| Name | Type | Req | Description |
|---|---|---|---|
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
No output schema declared.
No examples provided.
1s_chain_id Chain ID ~167
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.
| Name | Type | Req | Description |
|---|---|---|---|
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
No output schema declared.
No examples provided.
1s_contract_code Contract Bytecode ~191
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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Ethereum address (0x...) |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
No output schema declared.
No examples provided.
1s_contract_info_live Contract Info ~199
Detect contract type and supported interfaces via eth_getCode and ERC165 supportsInterface. Returns detected standards (ERC20, ERC721, ERC1155, ERC165). Optional fields the response could not confirm are listed in warnings; a field that is missing or false for that reason is unknown for this response, not a confirmed answer.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Ethereum address (0x...) |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
No output schema declared.
No examples provided.
1s_ds_book Deepstate Order Book ~163
Get a Deepstate order-book snapshot for a market — bids descending, asks ascending, with each price level’s resting size. Reflects the last completed on-chain state read rather than every intervening block; the returned block number names exactly which height it was read at. Call 1s_ds_markets for the list of available book slugs.
| Name | Type | Req | Description |
|---|---|---|---|
| book | string | yes | Deepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs. |
| depth | integer | – | Maximum price levels returned per side (1-500, default 50) |
No output schema declared.
No examples provided.
1s_ds_candles Deepstate Candles ~193
Get Deepstate OHLCV candles for a market at a given timeframe. Open/high/low/close are real trade prices, not recomputed; volumes are exact sums. The most recent (still-open) bucket updates as new trades arrive; earlier buckets are final. Call 1s_ds_markets for the list of available book slugs.
| Name | Type | Req | Description |
|---|---|---|---|
| book | string | yes | Deepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs. |
| from | string | – | Inclusive lower bound, RFC 3339 or unix seconds |
| tf | string | yes | Candle timeframe |
| to | string | – | Exclusive upper bound, RFC 3339 or unix seconds. Default: now |
No output schema declared.
No examples provided.
1s_ds_cost_to_quote Deepstate Cost to Quote ~187
Get gas spent resting and cancelling orders on a Deepstate market, bucketed over time — total fee, median fee, and how much of the fee is L2-to-L1 data cost. Requires a book — call 1s_ds_markets for the list of available book slugs.
| Name | Type | Req | Description |
|---|---|---|---|
| book | string | yes | Deepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs. |
| from | string | – | Inclusive lower bound, RFC 3339 or unix seconds |
| res | string | – | Bucket width (default 1d) |
| to | string | – | Exclusive upper bound, RFC 3339 or unix seconds. Default: now |
No output schema declared.
No examples provided.
1s_ds_depth_history Deepstate Depth History ~219
Get a depth heatmap for a Deepstate market: resting order size by price level over time, bucketed and optionally restricted to one side. Each bucket also reports how much of it is covered by a sized order count, so a caller can tell how complete a given level is. Requires a book — call 1s_ds_markets for the list of available book slugs.
| Name | Type | Req | Description |
|---|---|---|---|
| book | string | yes | Deepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs. |
| from | string | – | Inclusive lower bound, RFC 3339 or unix seconds |
| res | string | – | Bucket width (default 1d) |
| side | string | – | Restrict to one side. Default both |
| to | string | – | Exclusive upper bound, RFC 3339 or unix seconds. Default: now |
No output schema declared.
No examples provided.
1s_ds_makers Deepstate Maker Analytics ~204
Get per-maker analytics for a Deepstate market over a time window: time spent at the top of book, current resting notional, fill count and fill rate, and DEEP rewards earned. Rows are keyed by maker (resting-order owner) address. Requires a book — call 1s_ds_markets for the list of available book slugs.
| Name | Type | Req | Description |
|---|---|---|---|
| book | string | yes | Deepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs. |
| from | string | – | Inclusive lower bound, RFC 3339 or unix seconds |
| limit | integer | – | Maximum maker rows returned (1-500, default 50) |
| to | string | – | Exclusive upper bound, RFC 3339 or unix seconds. Default: now |
No output schema declared.
No examples provided.
1s_ds_markets Deepstate Markets ~91
List the Deepstate markets (order books) this API serves, with each market’s slug, token layout, and pool/router addresses. Call this first: every other Deepstate tool takes a book identifier, and this is the source of truth for which books exist and their canonical uppercase slug form (e.g. "NVDA-USDG"). Static configuration data, safe to cache client-side.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
1s_ds_stats Deepstate Market Stats ~117
Get rolling 24h / 7d / 30d volume and price change for a Deepstate market, plus the latest traded price. Call 1s_ds_markets for the list of available book slugs.
| Name | Type | Req | Description |
|---|---|---|---|
| book | string | yes | Deepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs. |
No output schema declared.
No examples provided.
1s_ds_trades Deepstate Trade Tape ~171
Get the Deepstate trade tape for a market, newest first — each fill’s price, size, side, and the block it happened in. Page backward in time with `before` (returns trades strictly below that block number). Call 1s_ds_markets for the list of available book slugs.
| Name | Type | Req | Description |
|---|---|---|---|
| before | integer | – | Return trades strictly below this block number, for paging backward |
| book | string | yes | Deepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs. |
| limit | integer | – | Maximum trades returned (1-500, default 100) |
No output schema declared.
No examples provided.
1s_ens_resolve ENS Name Resolution ~253
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 the ENS registry deployed: ethereum and sepolia. On robinhood the registry is absent, and the response is HTTP 200 with supported:false and an error naming the chain — that is a fact about the network, not evidence that the name is unregistered. Do not conclude a name has no resolver from a non-ENS chain.
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | ENS name (e.g. 'vitalik.eth') or address (0x...) for reverse lookup |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
No output schema declared.
No examples provided.
1s_erc1155_balance_live ERC-1155 Token Balance ~189
Get real-time ERC1155 token balance via balanceOf(address,uint256) RPC call. Returns the raw balance as a numeric string.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Wallet address to check balance for |
| contract | string | yes | ERC1155 contract address |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
| token_id | string | yes | Token ID (numeric string) |
No output schema declared.
No examples provided.
1s_erc20_balance_live ERC-20 Token Balance ~234
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. Optional fields the response could not confirm are listed in warnings; a field that is missing or false for that reason is unknown for this response, not a confirmed answer.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Wallet address to check balance for |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
| token | string | yes | ERC20 token contract address |
No output schema declared.
No examples provided.
1s_erc20_transfers_live ERC-20 Transfer History ~474
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 accept decimal, hex, or named tags ("latest", "pending", etc.). Returns decoded transfer events with sender, recipient, and value, plus the from_block/to_block actually queried. Omitting from_block/to_block queries ONLY the latest block — a single block, not a recent window. Size ranges by TIME, not by a fixed block count: block time varies from ~12s (ethereum) to ~100ms (robinhood and other L2s), so 10 blocks is two minutes on one chain and one second on another. Call 1s_network_info first and use avg_block_time_ms to convert the window you want into blocks. A count of 0 usually means the range was too narrow rather than that no transfers occurred — check the returned from_block/to_block before reporting a token as inactive. A busy token can exceed the response limit in far fewer blocks than expected. When that happens the result is still usable: you get the first whole blocks of the range plus "truncated": true, "returned", "total" and "next_from_block". Call again with from_block=next_from_block to continue — pages are cut on block boundaries, so this skips nothing and repeats nothing. Page through rather than retrying the same window smaller, which pays twice for overlapping data.
| Name | Type | Req | Description |
|---|---|---|---|
| from_block | string | – | Start block — decimal, hex, or named tag |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
| to_block | – | – | End block — decimal, hex, or named tag |
| token | string | – | ERC20 token contract address |
| wallet | – | – | Wallet address to filter transfers |
No output schema declared.
No examples provided.
1s_erc721_tokens_live ERC-721 NFT Tokens ~202
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. If warnings lists the token collection, the returned tokens are an incomplete set, not the full holdings for that address.
| Name | Type | Req | Description |
|---|---|---|---|
| contract | string | yes | ERC721 contract address |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
| owner | string | yes | Wallet address to enumerate tokens for |
No output schema declared.
No examples provided.
1s_estimate_gas Gas Estimate ~209
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.
| Name | Type | Req | Description |
|---|---|---|---|
| data | string | – | ABI-encoded call data (hex) |
| from | – | – | Sender address |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
| to | string | yes | Ethereum address (0x...) |
| value | string | – | ETH value in wei — decimal or hex |
No output schema declared.
No examples provided.
1s_events_live Contract Events ~490
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 accept decimal, hex, or named tags ("latest", "pending", etc.). Returns raw log entries with topics, data, and block context, plus the from_block/to_block actually queried. Always specify a contract address when possible. Omitting from_block/to_block queries ONLY the latest block — a single block, not a recent window. Size ranges by TIME, not by a fixed block count: block time varies from ~12s (ethereum) to ~100ms (robinhood and other L2s), so 10 blocks is two minutes on one chain and one second on another. Call 1s_network_info first and use avg_block_time_ms to convert the window you want into blocks. A count of 0 usually means the range was too narrow rather than that nothing happened — check the returned from_block/to_block before concluding a contract is idle. A busy contract can exceed the response limit in far fewer blocks than expected. When that happens the result is still usable: you get the first whole blocks of the range plus "truncated": true, "returned", "total" and "next_from_block". Call again with from_block=next_from_block to continue — pages are cut on block boundaries, so this skips nothing and repeats nothing. Page through rather than retrying the same window smaller, which pays twice for overlapping data.
| Name | Type | Req | Description |
|---|---|---|---|
| contract | string | – | Contract address to filter |
| from_block | string | – | Start block — decimal, hex, or named tag |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
| to_block | – | – | End block — decimal, hex, or named tag |
| topic | string | – | Event topic0 hash (0x...) |
No output schema declared.
No examples provided.
1s_get_api_overview API Overview ~73
High-level summary of the OneSource REST API: how many operations it exposes, the tags they are grouped under, the networks it routes, the payment protocols it accepts, and a handful of sample endpoints. Start here when you do not yet know what the API covers. Free, no authentication required.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
1s_get_authentication_guide Authentication Guide ~87
How to authenticate to the OneSource REST API — an API key from a subscription, x402 (USDC on Base), or MPP (USDC.e or pathUSD on Tempo) — and how to choose between them. This covers calling the REST API directly; to configure this MCP server, call 1s_setup_check. Free, no authentication required.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
1s_get_endpoint_reference Endpoint Reference ~125
Full reference for a single OneSource REST API endpoint: parameters, request body, example response, price, use cases, and a ready-to-run curl command. Accepts an operation ID or a path. Use 1s_list_endpoints or 1s_search_use_cases first if you do not know which endpoint you need. Free, no authentication required.
| Name | Type | Req | Description |
|---|---|---|---|
| endpoint | string | yes | Either an operationId (e.g. `chainAllowance`) or a path (e.g. `/api/chain/allowance` or `chain-allowance`). |
No output schema declared.
No examples provided.
1s_get_payment_info Pricing & Payment ~93
Pricing and payment protocols for the OneSource REST API — which rails it accepts, the price range per call, and the recipient address. Pass an endpoint for that endpoint's specific price. This describes what the API charges; 1s_batch_config changes what this server pays with. Free, no authentication required.
| Name | Type | Req | Description |
|---|---|---|---|
| endpoint | string | – | Optional operationId or path. Omit for a global summary. |
No output schema declared.
No examples provided.
1s_list_endpoints List Endpoints ~149
List OneSource REST API endpoints with their method, path, per-call price, and a one-line summary. Pass a tag to narrow the list to one area of the API. Free, no authentication required.
| Name | Type | Req | Description |
|---|---|---|---|
| family | string | – | Optional product family filter: `chain-rpc` (live EVM RPC), `deepstate` (Robinhood Chain order-book market data), or `standard-reserve` (The Standard Reserve / TSR). Case-insensitive. |
| limit | integer | – | Max results to return. Default 25. |
| tag | string | – | Optional tag filter (e.g., `nft`, `erc20`, `ens`). Case-insensitive. |
No output schema declared.
No examples provided.
1s_list_networks Documented Networks ~62
List the networks the OneSource REST API can route to, as declared by its published specification, and how to select one on a call. This is the documented roster; 1s_network_info queries a chain live. Free, no authentication required.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
1s_multi_balance_live Multi-Address Balance ~248
Get native ETH plus balances for up to 20 caller-supplied ERC20 contract addresses in one bounded RPC batch. Tokens are queried, not discovered, and the tool does not calculate a portfolio value. Individual token errors are returned per-token without failing the entire request; exceeding the 20-token cap rejects the request. Optional fields the response could not confirm are listed in warnings; a field that is missing or false for that reason is unknown for this response, not a confirmed answer.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Ethereum address (0x...) |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
| tokens | string | – | Comma-separated ERC20 contract addresses (max 20) |
No output schema declared.
No examples provided.
1s_network_info Network Info ~409
Get network information and chain characteristics in one call: chain ID, latest block number, gas price, how far behind the chain head is, and what kind of chain this is. Returns hex-encoded values; gas price is in wei. CALL THIS FIRST when working with an unfamiliar network — it is the only way to learn the properties that make other results interpretable. The "chain" object reports layer, stack, settles_to, avg_block_time_ms, native_currency, and whether ens, a public mempool, and indexed history are available. Use avg_block_time_ms to size block ranges: cadence spans ~12s (ethereum) to ~100ms (L2s), so a fixed block count means very different windows per chain. Check "stale" before trusting ANY latest-relative read: it reports whether head_age_seconds exceeds this network's stale_after_seconds threshold. A frozen chain client and a genuinely idle chain return identical-looking data, and stale is the only signal that distinguishes them — if it is true, treat block numbers, balances and logs as a snapshot from head_age_seconds ago, not as current. Historical reads remain correct when a head is stale. On layer-2 networks gas_price is the L2 base fee only and gas_price_note explains why: the L1 data cost is charged as additional gas units, so use 1s_estimate_gas for a total cost basis rather than multiplying gas_price yourself.
| Name | Type | Req | Description |
|---|---|---|---|
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
No output schema declared.
No examples provided.
1s_nft_metadata_live NFT Metadata ~191
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.
| Name | Type | Req | Description |
|---|---|---|---|
| contract | string | yes | NFT contract address |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
| token_id | string | yes | Token ID (numeric string) |
No output schema declared.
No examples provided.
1s_nft_owner_live NFT Owner ~166
Get the current NFT owner via ownerOf(tokenId) RPC call. Only works for ERC721 tokens.
| Name | Type | Req | Description |
|---|---|---|---|
| contract | string | yes | NFT contract address |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
| token_id | string | yes | Token ID (numeric string) |
No output schema declared.
No examples provided.
1s_nonce Account Nonce ~166
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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Ethereum address (0x...) |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
No output schema declared.
No examples provided.
1s_payment_mode Payment Mode ~188
View or switch how this session pays for metered calls. Two rails, each with two modes: x402-exact (per-call USDC on Base, default), x402-batch (Base payment channel — one deposit funds many off-chain calls), mpp-charge (per-call on Tempo, USDC.e/pathUSD), and mpp-session (Tempo voucher channel). Channel modes are cheaper for a burst of calls but lock a deposit until the channel is closed/refunded. Each rail uses its own wallet (X402_PRIVATE_KEY on Base / MPP_PRIVATE_KEY on Tempo). Call with no arguments to see the current mode and which modes are available. Only applies when paying via a wallet; with an API key, calls are covered by your plan.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | – | Payment rail + mode to switch to. Omit to report the current mode without changing it. |
No output schema declared.
No examples provided.
1s_pending_block Pending Block ~286
Get the current pending block via eth_getBlockByNumber("pending"). On networks with a public mempool (ethereum, sepolia) this shows transactions waiting for inclusion, and the response can be very large (1MB+) on mainnet. On single-sequencer chains it is NOT a mempool view: robinhood and other L2s order transactions first-come-first-served with no public pending pool, so the call still succeeds but returns essentially the next block rather than a queue. An empty or near-empty result there means "not applicable on this chain", NOT "no activity" and NOT "no front-running risk" — check the mempool field from 1s_network_info before drawing either conclusion. Prefer 1s_network_info for chain status or 1s_tx_details_live for specific transactions.
| Name | Type | Req | Description |
|---|---|---|---|
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
No output schema declared.
No examples provided.
1s_proxy_detect Proxy Contract Detection ~207
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. Optional fields the response could not confirm are listed in warnings; a field that is missing or false for that reason is unknown for this response, not a confirmed answer.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Ethereum address (0x...) |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
No output schema declared.
No examples provided.
1s_refund Refund x402 Channel ~134
Reclaim the unused deposit from an open payment channel back to your wallet right away, instead of waiting for the channel to be closed or auto-refunded. Channel modes deposit funds up front to cover many calls; whatever you do not spend stays locked until reclaimed. Works for whichever channel is active this session: x402 batch (USDC on Base) or MPP session (USDC.e/pathUSD on Tempo). Call this when you are done making channel-mode calls. Not needed for per-call modes (x402-exact / mpp-charge) or API-key auth — there is no channel deposit to reclaim.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
1s_report_bug Report Bug ~195
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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | What went wrong — describe the bug, what you expected, and what actually happened. |
| error_message | string | – | The error message or relevant output from the failed tool call. |
| network | string | – | The blockchain network involved, if applicable (e.g. ethereum, sepolia). |
| severity | string | – | Bug severity: low (cosmetic), medium (degraded function), high (feature broken), critical (server crash or data loss). |
| steps_to_reproduce | string | – | Steps to reproduce the issue, if known. |
| tool_name | string | – | The MCP tool that produced the error (e.g. 1s_network_info, 1s_erc20_balance_live). |
No output schema declared.
No examples provided.
1s_search_docs Search Docs ~85
Search the OneSource developer documentation by keyword and return the best-matching sections. Use this for conceptual questions — getting started, guides, concepts, how-tos. For the parameters and response of one specific endpoint, use 1s_get_endpoint_reference instead. Free, no authentication required.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Search query: keywords to match against documentation sections |
No output schema declared.
No examples provided.
1s_search_use_cases Find Endpoint by Task ~108
Find the OneSource REST API endpoints that fit a task described in plain language (for example "check who owns an NFT" or "decode a transaction"). Use this when you know what you want to do but not which endpoint does it. Free, no authentication required.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max results. Default 5. |
| query | string | yes | Natural-language description of what you want to do (e.g., "check NFT ownership", "decode a transaction"). |
No output schema declared.
No examples provided.
1s_setup_check Setup Check ~143
Interactive setup & health check for the OneSource MCP server. Returns a step-by-step setup script that the AGENT must run by consulting the user: it walks through EVERY configuration choice for BOTH payment rails (auth method, API key, x402 on Base, MPP on Tempo, payment modes, channel preferences) one decision at a time, every time it is run — even when everything is already configured, so the user can review and adjust without touching env vars or config files directly. Also reports version, auth status, channel status, and connectivity. Free, no authentication required. Call this first to set up, to change configuration, or to troubleshoot.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
1s_simulate_call Simulate Contract Call ~225
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.
| Name | Type | Req | Description |
|---|---|---|---|
| data | string | yes | ABI-encoded call data (hex) |
| from | string | – | Sender address for msg.sender context |
| gas | – | – | Gas limit — decimal or hex |
| network | string | – | Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,… |
| to | string | yes | Target contract address |
| value | string | – | ETH value in wei — decimal or hex |
No output schema declared.
No examples provided.
1s_std_addresses TSR Address Registry ~119
Get the verified registry of The Standard Reserve (TSR) contracts and pool on Robinhood Chain: token, Charter NFT, Central Bank, tax hook, vaults, auctions, genesis minter, registry, and pool, each with a verification status. Check an address here before sending funds; more than 100 lookalike contracts exist. Always answers, even before every address is fully verified: check registry_status (placeholder|partial|verified) and each row's own verification_status before trusting an address. Free, no payment required.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
1s_std_auction_days TSR Auction Day History ~135
List per-day history for The Standard Reserve (TSR)'s license or charter auction on Robinhood Chain, newest day first: open/floor/close price, offered vs. sold, first/last sale time, sold-out time, and minutes to sell out. Requires kind (license or charter). Page with before (a day number, exclusive) and limit. Fields ending in _raw are 18-decimal integers as strings.
| Name | Type | Req | Description |
|---|---|---|---|
| before | integer | – | Day cursor, exclusive |
| kind | string | yes | Auction kind |
| limit | integer | – | Maximum days returned (default 50) |
No output schema declared.
No examples provided.
1s_std_auction_sales TSR Auction Sales ~170
List recent sales for The Standard Reserve (TSR)'s license or charter auction on Robinhood Chain, newest first: buyer, unit price, count, and block. Filter by kind (license or charter, both returned when omitted), optionally narrow to charter_id, and page with before (a "block:log_index" cursor from a prior page) and limit. Fields ending in _raw are 18-decimal integers as strings. Divide by 1e18 to get token amounts.
| Name | Type | Req | Description |
|---|---|---|---|
| before | string | – | Pagination cursor: "block:log_index", exclusive |
| charter_id | integer | – | Return only sales associated with this charter |
| kind | string | – | Auction kind to filter by |
| limit | integer | – | Maximum sales returned (default 50) |
No output schema declared.
No examples provided.
1s_std_auctions_current TSR Current Auction ~252
Get The Standard Reserve (TSR)'s current Dutch-auction quotes on Robinhood Chain for the daily STANDARD license auction and the ETH charter auction: price now (when the formula allows it), floor, last sale, daily license supply, and expected license prices at short wait horizons. Each side also reports units_offered/units_sold/units_remaining, sold_out, and phase (not_started, live, sold_out, paused, or unknown). When sold_out is true, price_now_raw is still the decay curve's value, not a live price you can actually buy at; check sold_out (and price_now_note) before trading on it. A side with price_available false still returns its floor and last sale. Each side also carries a day_clock object (current_day, day_started_at, next_day_starts_at, seconds_to_next_day) telling you when today's auction day rolls into the next one, null with day_clock_reason before that side's auction has started. For fills, call 1s_std_auction_sales filtered by kind. Fields ending in _raw are 18-decimal integers as strings. Divide by 1e18 to get token amounts.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
1s_std_backing TSR Reserve Backing ~259
Get The Standard Reserve (TSR)'s reserve backing on Robinhood Chain: vault ETH balances, discovered reserve-asset holdings (unpriced today — no price source exists yet, so each comes back with eth_value null and valuation "unpriced"), and eth_backing_per_standard (vault ETH per circulating STANDARD) in two variants — excluding_pol is the conservative figure, including_pol folds protocol-owned liquidity back in. Neither variant includes ETH held by the tax hook or fee splitter (see hook_eth_balance_raw/fee_splitter_eth_balance_raw on 1s_std_buyback_readiness) — that ETH is tax collected on trades awaiting a forwardTaxes() call, not vault-held backing. Pass history_hours to get the backing-ratio history instead of the current snapshot, or atBlock to get the backing snapshot at or before that block (ignored when history_hours is set). Fields ending in _raw are 18-decimal integers as strings; divide by 1e18 to get token amounts.
| Name | Type | Req | Description |
|---|---|---|---|
| atBlock | integer | – | Return the backing snapshot at or before this block instead of the latest one |
| history_hours | integer | – | When set, return backing-ratio history for this many hours instead of the current snapshot |
No output schema declared.
No examples provided.
1s_std_branch_auction_live TSR Branch Auction Live ~175
Get the raw, head-fresh state of The Standard Reserve (TSR) Branch license auction on Robinhood Chain: phase (not_started/live/paused, or unknown when the contract did not answer), current/floor/day-start price, half-life, licenses issued per day, today's sold/remaining counts, and sales in the last 5, 15, and 60 minutes. Read straight from the chain (not the indexed pipeline), refreshed every few seconds. A field the contract view did not return comes back null, not zero. day_clock gives the next auction-day boundary (next_day_starts_at, seconds_to_next_day), null with day_clock_reason before the auction has started. For the buy-now-vs-wait decision, use 1s_std_branches_doi instead.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
1s_std_branches_doi TSR Branches Days of Issuance ~191
Get The Standard Reserve (TSR) Branch license auction's Days of Issuance (DOI): how many days of new-Branch issuance the current price is worth, a dilution-adjusted DOI if all remaining licenses sell, price over floor, recent sales, and a buy-now-vs-wait table at +15m/+30m/+1h/+4h, all read live from Robinhood Chain (not the indexed pipeline). Prices are exact integer strings; the wait figures are current-pace estimates, not predictions, and assume issuance and Branch count stay constant. Any field the contract could not be read for comes back null, including doi.days when issuance per Branch is zero; null never stands in for zero. day_clock gives the next auction-day boundary (next_day_starts_at, seconds_to_next_day), null with day_clock_reason before the auction has started.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
1s_std_branches_summary TSR Branches Summary ~124
Get a summary across all of The Standard Reserve (TSR)'s active Branches on Robinhood Chain: total active Branches, issuance per Branch per day, and the license price expressed in days of Branch issuance. Issuance per Branch per day reads from a live chain-read estimate before the current epoch settles on-chain, and from the settled total after; `yield_issuance_source` says which one you got. Fields ending in _raw are 18-decimal integers as strings. Divide by 1e18 to get token amounts.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
What is the OneSource MCP server?
OneSource MCP is listed in the public MCP registry as io.onesource/mcp. Blockchain data, Deepstate and Standard Reserve markets, live chain queries, and API docs. This page covers its npm package (@one-source/mcp).
Is the OneSource MCP server safe to use?
OneSource MCP scores 81 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the OneSource MCP server expose?
OneSource MCP exposes 83 tools: 1s_allowance_live, 1s_contract_info_live, 1s_erc1155_balance_live, 1s_erc20_balance_live, 1s_erc20_transfers_live, and 78 more. Their descriptions and schemas cost roughly 17,362 tokens of context every time the server is loaded.
Is the OneSource MCP server still maintained?
OneSource MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the OneSource MCP server under?
OneSource MCP declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.