| direct_api_call |
– |
Call a raw Blockscout API endpoint for advanced or chain-specific data.
Input schema
{
"type": "object",
"title": "direct_api_callArguments",
"required": [
"chain_id",
"endpoint_path"
],
"properties": {
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "The pagination cursor from a previous response to get the next page of results."
},
"method": {
"enum": [
"GET",
"POST"
],
"type": "string",
"title": "Method",
"default": "GET",
"description": "HTTP method used for the upstream call. Use POST with json_body."
},
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "The ID of the blockchain"
},
"json_body": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Json Body",
"default": null,
"description": "JSON request body for POST requests."
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
},
"query_params": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Query Params",
"default": null,
"description": "Optional query parameters forwarded to the Blockscout API."
},
"endpoint_path": {
"type": "string",
"title": "Endpoint Path",
"description": "The Blockscout API path to call (e.g., '/api/v2/stats'); do not include query strings — pass all query parameters via query_params to avoid double-encoding."
}
}
}
|
| get_address_by_ens_name |
– |
Useful for when you need to convert an ENS domain name (e.g. "blockscout.eth")
Input schema
{
"type": "object",
"title": "get_address_by_ens_nameArguments",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "ENS domain name to resolve"
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
}
}
}
|
| get_address_info |
– |
Get comprehensive information about an address, including:
Input schema
{
"type": "object",
"title": "get_address_infoArguments",
"required": [
"chain_id",
"address"
],
"properties": {
"address": {
"type": "string",
"title": "Address",
"description": "Address to get information about"
},
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "The ID of the blockchain"
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
}
}
}
|
| get_block_info |
– |
Get block information like timestamp, gas used, burnt fees, transaction count etc.
Input schema
{
"type": "object",
"title": "get_block_infoArguments",
"required": [
"chain_id",
"number_or_hash"
],
"properties": {
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "The ID of the blockchain"
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
},
"number_or_hash": {
"type": "string",
"title": "Number Or Hash",
"description": "Block number or hash"
},
"include_transactions": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Include Transactions",
"default": false,
"description": "If true, includes a list of transaction hashes from the block."
}
}
}
|
| get_block_number |
– |
Retrieves the block number and timestamp for a specific date/time or the latest block.
Input schema
{
"type": "object",
"title": "get_block_numberArguments",
"required": [
"chain_id"
],
"properties": {
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "The ID of the blockchain"
},
"datetime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Datetime",
"default": null,
"description": "The date and time (ISO 8601 format, e.g. 2025-05-22T23:00:00.00Z) to find the block for. If omitted, returns the latest block."
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
}
}
}
|
| get_chains_list |
– |
Get supported blockchain chains with their chain IDs.
Input schema
{
"type": "object",
"title": "get_chains_listArguments",
"properties": {
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Query",
"default": null,
"description": "Optional case-insensitive substring filter applied to chain name, chain ID, native currency, and ecosystem. Prefer narrow text terms over partial numeric chain IDs because matching is substring-based."
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
}
}
}
|
| get_contract_abi |
– |
Get smart contract ABI (Application Binary Interface).
Input schema
{
"type": "object",
"title": "get_contract_abiArguments",
"required": [
"chain_id",
"address"
],
"properties": {
"address": {
"type": "string",
"title": "Address",
"description": "Smart contract address"
},
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "The ID of the blockchain"
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
}
}
}
|
| get_tokens_by_address |
– |
Get comprehensive ERC20 token holdings for an address with enriched metadata and market data.
Input schema
{
"type": "object",
"title": "get_tokens_by_addressArguments",
"required": [
"chain_id",
"address"
],
"properties": {
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "The pagination cursor from a previous response to get the next page of results."
},
"address": {
"type": "string",
"title": "Address",
"description": "Wallet address"
},
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "The ID of the blockchain"
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
}
}
}
|
| get_token_transfers_by_address |
– |
Get ERC-20 token transfers for an address within a specific time range.
Input schema
{
"type": "object",
"title": "get_token_transfers_by_addressArguments",
"required": [
"chain_id",
"address",
"age_from"
],
"properties": {
"token": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Token",
"default": null,
"description": "An ERC-20 token contract address to restrict results to a single token. If omitted, returns transfers of all tokens."
},
"age_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Age To",
"default": null,
"description": "End date and time (e.g 2025-05-22T22:30:00.00Z). Adding this bounds the upper end of the date range started by `age_from`; if omitted, transfers up to the current time are returned."
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "The pagination cursor from a previous response to get the next page of results."
},
"address": {
"type": "string",
"title": "Address",
"description": "Address which either transfer initiator or transfer receiver"
},
"age_from": {
"type": "string",
"title": "Age From",
"description": "Start date and time (e.g 2025-05-22T23:00:00.00Z). Alone, returns all ERC-20 transfers to/from the address since this date."
},
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "The ID of the blockchain"
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
}
}
}
|
| get_transaction_info |
– |
Get comprehensive transaction information.
Input schema
{
"type": "object",
"title": "get_transaction_infoArguments",
"required": [
"chain_id",
"transaction_hash"
],
"properties": {
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "The ID of the blockchain"
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
},
"transaction_hash": {
"type": "string",
"title": "Transaction Hash",
"description": "Transaction hash"
},
"include_raw_input": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Include Raw Input",
"default": false,
"description": "If true, includes the raw transaction input data."
}
}
}
|
| get_transactions_by_address |
– |
Retrieves native currency transfers and smart contract interactions (calls, internal txs) for an address.
Input schema
{
"type": "object",
"title": "get_transactions_by_addressArguments",
"required": [
"chain_id",
"address",
"age_from"
],
"properties": {
"age_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Age To",
"default": null,
"description": "End date and time (e.g 2025-05-22T22:30:00.00Z). Adding this bounds the upper end of the date range started by `age_from`."
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "The pagination cursor from a previous response to get the next page of results."
},
"address": {
"type": "string",
"title": "Address",
"description": "Address which either sender or receiver of the transaction"
},
"methods": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Methods",
"default": null,
"description": "A method signature to filter transactions by (e.g 0x304e6ade). Filters the (optionally date-bounded) results to a specific method signature."
},
"age_from": {
"type": "string",
"title": "Age From",
"description": "Start date and time (e.g 2025-05-22T23:00:00.00Z). Alone, returns all transactions to/from the address since this date."
},
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "The ID of the blockchain"
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
}
}
}
|
| inspect_contract_code |
– |
Inspects a verified contract's source code or metadata.
Input schema
{
"type": "object",
"title": "inspect_contract_codeArguments",
"required": [
"chain_id",
"address"
],
"properties": {
"address": {
"type": "string",
"title": "Address",
"description": "The address of the smart contract."
},
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "The ID of the blockchain."
},
"file_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Name",
"default": null,
"description": "The name of the source file to inspect. If omitted, returns contract metadata and the list of source files."
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
}
}
}
|
| lookup_token_by_symbol |
– |
Search for token addresses by symbol or name. Returns multiple potential
Input schema
{
"type": "object",
"title": "lookup_token_by_symbolArguments",
"required": [
"chain_id",
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"title": "Symbol",
"description": "Token symbol or name to search for"
},
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "The ID of the blockchain"
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
}
}
}
|
| nft_tokens_by_address |
– |
Retrieve NFT tokens (ERC-721, ERC-404, ERC-1155) owned by an address, grouped by collection.
Input schema
{
"type": "object",
"title": "nft_tokens_by_addressArguments",
"required": [
"chain_id",
"address"
],
"properties": {
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "The pagination cursor from a previous response to get the next page of results."
},
"address": {
"type": "string",
"title": "Address",
"description": "NFT owner address"
},
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "The ID of the blockchain"
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
}
}
}
|
| read_contract |
– |
Calls a smart contract function (view/pure, or non-view/pure simulated via eth_call) and returns the
Input schema
{
"type": "object",
"title": "read_contractArguments",
"required": [
"chain_id",
"address",
"abi",
"function_name"
],
"properties": {
"abi": {
"type": "object",
"title": "Abi",
"description": "The JSON ABI for the specific function being called. This should be a dictionary that defines the function's name, inputs, and outputs. The function ABI can be obtained using the `get_contract_abi` tool.",
"additionalProperties": true
},
"args": {
"type": "string",
"title": "Args",
"default": "[]",
"description": "A JSON string containing an array of arguments. Example: \"[\"0xabc...\"]\" for a single address argument, or \"[]\" for no arguments. Order and types must match ABI inputs. Addresses: use 0x-prefixed strings; Numbers: prefer integers (not quoted); numeric strings like \"1\" are also accepted and coerced to integers. Bytes: keep as 0x-hex strings."
},
"block": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
],
"title": "Block",
"default": "latest",
"description": "The block identifier to read the contract state from. Can be a block number (e.g., 19000000) or a string tag (e.g., 'latest'). Defaults to 'latest'."
},
"address": {
"type": "string",
"title": "Address",
"description": "Smart contract address"
},
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "The ID of the blockchain"
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Session Id",
"default": null,
"description": "Opaque session identifier."
},
"function_name": {
"type": "string",
"title": "Function Name",
"description": "The symbolic name of the function to be called. This must match the `name` field in the provided ABI."
}
}
}
|
| __unlock_blockchain_analysis__ |
– |
Initializes a Blockscout MCP session: returns server reference data, the
Input schema
{
"type": "object",
"title": "__unlock_blockchain_analysis__Arguments",
"properties": {}
}
|