OneSource MCP
OneSource MCP объединяет живые запросы к блокчейнам и документацию GraphQL API в одном сервере
Что умеет
- Проверять балансы ETH, ERC20, ERC721 и ERC1155
- Читать детали транзакций, блоков и логи событий
- Резолвить ENS-имена и оценивать газ
- Искать справочные материалы и примеры GraphQL-запросов
- Определять тип контракта и его прокси-структуру
Какие данные видит
Инструменты документации бесплатны и не требуют ключа; блокчейн-запросы к живым сетям могут оплачиваться в USDC через x402 при включённых платежах.
Нужен ли аккаунт
Не нужен: сервер работает без входа
OneSource MCP — сервер с 31 инструментом для доступа к блокчейн-данным Ethereum, Sepolia и Avalanche и документации GraphQL API OneSource. Ассистент проверяет балансы, читает логи событий, детали транзакций и NFT-метаданные напрямую через RPC, а также ищет справочную информацию по схеме и примерам запросов. Часть инструментов бесплатна, часть блокчейн-запросов оплачивается в USDC через x402.
Как подключить
Как подключить OneSource MCP к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://mcp-1s--one-source.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить OneSource MCP к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://mcp-1s--one-source.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить OneSource MCP к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://mcp-1s--one-source.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (43)
Технические названия из tools/list. Нужны только разработчикам.
| 1s_address_txs | Get transaction history for an address (sent and received). Sorted by block number descending. Use from_block/to_block to narrow the range. |
| 1s_block | Get 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. |
| 1s_contract_info | Get 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. |
| 1s_erc1155_balance | Get 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. |
| 1s_erc20_balance | Get 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. |
| 1s_erc20_transfers | Get 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. |
| 1s_events | Search 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. |
| 1s_nft_media | Get 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). |
| 1s_nft_metadata | Get 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. |
| 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 guaranteed real-time data. Filters out zero-balance holders automatically. |
| 1s_tx_details | Get 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. |
| 1s_wallet_nfts | Get 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. |
| 1s_allowance_live | 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_live | Detect 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). |
| 1s_erc1155_balance_live | Get 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. |
| 1s_erc20_balance_live | 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; use 1s_erc20_balance for cheaper cached lookups. Returns raw token units (divide by 10^decimals); non-standard tokens may return empty name/symbol. |
| 1s_erc20_transfers_live | Query 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. |
| 1s_erc721_tokens_live | 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_live | Query 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). |
| 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 tokens efficiently. Individual token errors are returned per-token without failing the entire request. |
| 1s_nft_metadata_live | 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. Use this for freshest metadata; use 1s_nft_metadata for cached lookups. |
| 1s_nft_owner_live | Get 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. |
| 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. Returns raw token units for ERC20 (divide by 10^decimals) or total count for ERC721. |
| 1s_tx_details_live | Get 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). |
| 1s_contract_code | Get 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. |
| 1s_ens_resolve | 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_gas | 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_info | 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_nonce | 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_block | Get 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. |
| 1s_proxy_detect | 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_call | 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_read | 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_receipt | 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. |
| 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: address, addresses, block, blocks, contract, contracts, nft, nfts, token, tokens, transaction, transactions. |
| get_type_definition | Get the schema definition for a GraphQL type, enum, scalar, input, or interface. Returns fields, values, and descriptions. |
| list_examples | List 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. |
| 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. |