Skip to main content
Glama

Unlock Blockchain Analysis

__unlock_blockchain_analysis__
Read-only

Initializes a Blockscout MCP session: returns server reference data, the blockscout-analysis skill pointer, and the URI resolution rule. Call this tool exactly once per session, before any other tool, and reuse its payload for the rest of the session; do not call it again.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesThe main data payload of the tool's response.
notesNoA list of important contextual notes, such as warnings about data truncation or data quality issues.
paginationNoPagination information, present only if the 'data' is a single page of a larger result set.
content_textNoOptional human-readable summary used for MCP content responses.
instructionsNoA list of suggested follow-up actions or instructions for the LLM to plan its next steps.
data_descriptionNoA list of notes explaining the structure, fields, or conventions of the 'data' payload.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed6 schema fields changed
    • changedOutput schema / $defs / InstructionsData / description
      Previous value: -"A structured representation of the server's session-initialization payload.\n\nCarries server-side reference data (version), a pointer at the\n`blockscout-analysis` skill, and the rule for resolving its reference paths."New value: +"A structured representation of the server's session-initialization payload.\n\nCarries session-scoped reference scalars: the session identifier (on gated\ndeployments) and the server version. The skill pointer and its reference-path\nresolution rule are delivered via the response envelope's `instructions` list\ninstead of this model."
    • addedOutput schema / $defs / InstructionsData / properties / server_version
      Added value: +{
      +  "description": "The version of the Blockscout MCP server.",
      +  "title": "Server Version",
      +  "type": "string"
      +}
    • removedOutput schema / $defs / InstructionsData / properties / skill_reference
      Removed value: -{
      -  "description": "Canonical pointer text for the `blockscout-analysis` skill. Intentionally identical to the matching paragraph inside the server's `composed_instructions`.",
      -  "title": "Skill Reference",
      -  "type": "string"
      -}
    • removedOutput schema / $defs / InstructionsData / properties / skill_resolution_rule
      Removed value: -{
      -  "description": "Canonical rule for resolving reference paths mentioned by the skill. Intentionally identical to the matching paragraph inside the server's `composed_instructions`.",
      -  "title": "Skill Resolution Rule",
      -  "type": "string"
      -}
    • removedOutput schema / $defs / InstructionsData / properties / version
      Removed value: -{
      -  "description": "The version of the Blockscout MCP server.",
      -  "title": "Version",
      -  "type": "string"
      -}
    • changedOutput schema / $defs / InstructionsData / required
      Previous value: -[
      -  "version",
      -  "skill_reference",
      -  "skill_resolution_rule"
      -]New value: +[
      +  "server_version"
      +]
  2. Changed1 schema field changed
    • addedOutput schema / $defs / InstructionsData / properties / session_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Opaque session identifier.",
      +  "title": "Session Id"
      +}
  3. Changed20 schema fields changed
    • removedOutput schema / $defs / ChainIdGuidance
      Removed value: -{
      -  "description": "A structured representation of chain ID guidance combining rules and recommendations.",
      -  "properties": {
      -    "recommended_chains": {
      -      "description": "A list of popular chains with their names and IDs, useful for quick lookups.",
      -      "items": {
      -        "$ref": "#/$defs/ChainInfo"
      -      },
      -      "title": "Recommended Chains",
      -      "type": "array"
      -    },
      -    "rules": {
      -      "description": "Rules for chain ID selection and usage.",
      -      "title": "Rules",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "rules",
      -    "recommended_chains"
      -  ],
      -  "title": "ChainIdGuidance",
      -  "type": "object"
      -}
    • removedOutput schema / $defs / ChainInfo
      Removed value: -{
      -  "description": "Represents a blockchain with its essential identifiers.",
      -  "properties": {
      -    "chain_id": {
      -      "description": "The unique identifier for the chain.",
      -      "title": "Chain Id",
      -      "type": "string"
      -    },
      -    "ecosystem": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "The ecosystem the chain belongs to, if applicable (e.g., 'Ethereum').",
      -      "title": "Ecosystem"
      -    },
      -    "is_testnet": {
      -      "description": "Indicates if the chain is a testnet.",
      -      "title": "Is Testnet",
      -      "type": "boolean"
      -    },
      -    "name": {
      -      "description": "The common name of the blockchain (e.g., 'Ethereum').",
      -      "title": "Name",
      -      "type": "string"
      -    },
      -    "native_currency": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "The native currency symbol of the chain (e.g., 'ETH').",
      -      "title": "Native Currency"
      -    },
      -    "settlement_layer_chain_id": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "The L1 chain ID where this rollup settles, if applicable.",
      -      "title": "Settlement Layer Chain Id"
      -    }
      -  },
      -  "required": [
      -    "name",
      -    "chain_id",
      -    "is_testnet",
      -    "native_currency",
      -    "ecosystem"
      -  ],
      -  "title": "ChainInfo",
      -  "type": "object"
      -}
    • removedOutput schema / $defs / DirectApiCommonGroup
      Removed value: -{
      -  "description": "Represents a group of common endpoints available on all chains.",
      -  "properties": {
      -    "endpoints": {
      -      "description": "List of endpoints in this group.",
      -      "items": {
      -        "$ref": "#/$defs/DirectApiEndpoint"
      -      },
      -      "title": "Endpoints",
      -      "type": "array"
      -    },
      -    "group": {
      -      "description": "The functional group name (e.g., 'Stats', 'Tokens & NFTs').",
      -      "title": "Group",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "group",
      -    "endpoints"
      -  ],
      -  "title": "DirectApiCommonGroup",
      -  "type": "object"
      -}
    • removedOutput schema / $defs / DirectApiEndpoint
      Removed value: -{
      -  "description": "Represents a single direct API endpoint.",
      -  "properties": {
      -    "description": {
      -      "description": "A description of what this endpoint returns.",
      -      "title": "Description",
      -      "type": "string"
      -    },
      -    "path": {
      -      "description": "The API endpoint path (e.g., '/api/v2/stats').",
      -      "title": "Path",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "path",
      -    "description"
      -  ],
      -  "title": "DirectApiEndpoint",
      -  "type": "object"
      -}
    • removedOutput schema / $defs / DirectApiEndpointList
      Removed value: -{
      -  "description": "Contains the complete curated list of endpoints for direct_api_call tool.",
      -  "properties": {
      -    "common": {
      -      "description": "Endpoint groups available on all supported chains.",
      -      "items": {
      -        "$ref": "#/$defs/DirectApiCommonGroup"
      -      },
      -      "title": "Common",
      -      "type": "array"
      -    },
      -    "specific": {
      -      "description": "Endpoint groups specific to certain chain families.",
      -      "items": {
      -        "$ref": "#/$defs/DirectApiSpecificGroup"
      -      },
      -      "title": "Specific",
      -      "type": "array"
      -    }
      -  },
      -  "required": [
      -    "common",
      -    "specific"
      -  ],
      -  "title": "DirectApiEndpointList",
      -  "type": "object"
      -}
    • removedOutput schema / $defs / DirectApiSpecificGroup
      Removed value: -{
      -  "description": "Represents a group of endpoints specific to certain chain families.",
      -  "properties": {
      -    "chain_family": {
      -      "description": "The chain family this group applies to (e.g., 'Arbitrum', 'Optimism').",
      -      "title": "Chain Family",
      -      "type": "string"
      -    },
      -    "endpoints": {
      -      "description": "List of chain-specific endpoints.",
      -      "items": {
      -        "$ref": "#/$defs/DirectApiEndpoint"
      -      },
      -      "title": "Endpoints",
      -      "type": "array"
      -    }
      -  },
      -  "required": [
      -    "chain_family",
      -    "endpoints"
      -  ],
      -  "title": "DirectApiSpecificGroup",
      -  "type": "object"
      -}
    • changedOutput schema / $defs / InstructionsData / description
      Previous value: -"A structured representation of the server's operational instructions."New value: +"A structured representation of the server's session-initialization payload.\n\nCarries server-side reference data (version), a pointer at the\n`blockscout-analysis` skill, and the rule for resolving its reference paths."
    • removedOutput schema / $defs / InstructionsData / properties / binary_search_rules
      Removed value: -{
      -  "description": "Rules for using binary search for historical blockchain data.",
      -  "title": "Binary Search Rules",
      -  "type": "string"
      -}
    • removedOutput schema / $defs / InstructionsData / properties / chain_id_guidance
      Removed value: -{
      -  "$ref": "#/$defs/ChainIdGuidance",
      -  "description": "Comprehensive guidance for chain ID selection and usage."
      -}
    • removedOutput schema / $defs / InstructionsData / properties / data_ordering_and_resumption_rules
      Removed value: -{
      -  "description": "Rules for understanding data ordering and resuming searches from anchor points.",
      -  "title": "Data Ordering And Resumption Rules",
      -  "type": "string"
      -}
    • removedOutput schema / $defs / InstructionsData / properties / direct_api_call_rules
      Removed value: -{
      -  "description": "Rules and guidance for using the direct_api_call tool.",
      -  "title": "Direct Api Call Rules",
      -  "type": "string"
      -}
    • removedOutput schema / $defs / InstructionsData / properties / direct_api_endpoints
      Removed value: -{
      -  "$ref": "#/$defs/DirectApiEndpointList",
      -  "description": "Curated list of endpoints available for direct API calls."
      -}
    • removedOutput schema / $defs / InstructionsData / properties / error_handling_rules
      Removed value: -{
      -  "description": "Rules for handling network errors and retries.",
      -  "title": "Error Handling Rules",
      -  "type": "string"
      -}
    • removedOutput schema / $defs / InstructionsData / properties / funds_movement_rules
      Removed value: -{
      -  "description": "Rules for analyzing funds movement and transfer activity.",
      -  "title": "Funds Movement Rules",
      -  "type": "string"
      -}
    • removedOutput schema / $defs / InstructionsData / properties / pagination_rules
      Removed value: -{
      -  "description": "Rules for handling paginated responses and data retrieval.",
      -  "title": "Pagination Rules",
      -  "type": "string"
      -}
    • removedOutput schema / $defs / InstructionsData / properties / portfolio_analysis_rules
      Removed value: -{
      -  "description": "Rules for conducting comprehensive portfolio analysis.",
      -  "title": "Portfolio Analysis Rules",
      -  "type": "string"
      -}
    • addedOutput schema / $defs / InstructionsData / properties / skill_reference
      Added value: +{
      +  "description": "Canonical pointer text for the `blockscout-analysis` skill. Intentionally identical to the matching paragraph inside the server's `composed_instructions`.",
      +  "title": "Skill Reference",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / InstructionsData / properties / skill_resolution_rule
      Added value: +{
      +  "description": "Canonical rule for resolving reference paths mentioned by the skill. Intentionally identical to the matching paragraph inside the server's `composed_instructions`.",
      +  "title": "Skill Resolution Rule",
      +  "type": "string"
      +}
    • removedOutput schema / $defs / InstructionsData / properties / time_based_query_rules
      Removed value: -{
      -  "description": "Rules for executing time-based blockchain queries efficiently.",
      -  "title": "Time Based Query Rules",
      -  "type": "string"
      -}
    • changedOutput schema / $defs / InstructionsData / required
      Previous value: -[
      -  "version",
      -  "error_handling_rules",
      -  "chain_id_guidance",
      -  "pagination_rules",
      -  "time_based_query_rules",
      -  "binary_search_rules",
      -  "portfolio_analysis_rules",
      -  "funds_movement_rules",
      -  "data_ordering_and_resumption_rules",
      -  "direct_api_call_rules",
      -  "direct_api_endpoints"
      -]New value: +[
      +  "version",
      +  "skill_reference",
      +  "skill_resolution_rule"
      +]
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "ChainIdGuidance": {
      +      "description": "A structured representation of chain ID guidance combining rules and recommendations.",
      +      "properties": {
      +        "recommended_chains": {
      +          "description": "A list of popular chains with their names and IDs, useful for quick lookups.",
      +          "items": {
      +            "$ref": "#/$defs/ChainInfo"
      +          },
      +          "title": "Recommended Chains",
      +          "type": "array"
      +        },
      +        "rules": {
      +          "description": "Rules for chain ID selection and usage.",
      +          "title": "Rules",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "rules",
      +        "recommended_chains"
      +      ],
      +      "title": "ChainIdGuidance",
      +      "type": "object"
      +    },
      +    "ChainInfo": {
      +      "description": "Represents a blockchain with its essential identifiers.",
      +      "properties": {
      +        "chain_id": {
      +          "description": "The unique identifier for the chain.",
      +          "title": "Chain Id",
      +          "type": "string"
      +        },
      +        "ecosystem": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "The ecosystem the chain belongs to, if applicable (e.g., 'Ethereum').",
      +          "title": "Ecosystem"
      +        },
      +        "is_testnet": {
      +          "description": "Indicates if the chain is a testnet.",
      +          "title": "Is Testnet",
      +          "type": "boolean"
      +        },
      +        "name": {
      +          "description": "The common name of the blockchain (e.g., 'Ethereum').",
      +          "title": "Name",
      +          "type": "string"
      +        },
      +        "native_currency": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "The native currency symbol of the chain (e.g., 'ETH').",
      +          "title": "Native Currency"
      +        },
      +        "settlement_layer_chain_id": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null,
      +          "description": "The L1 chain ID where this rollup settles, if applicable.",
      +          "title": "Settlement Layer Chain Id"
      +        }
      +      },
      +      "required": [
      +        "name",
      +        "chain_id",
      +        "is_testnet",
      +        "native_currency",
      +        "ecosystem"
      +      ],
      +      "title": "ChainInfo",
      +      "type": "object"
      +    },
      +    "DirectApiCommonGroup": {
      +      "description": "Represents a group of common endpoints available on all chains.",
      +      "properties": {
      +        "endpoints": {
      +          "description": "List of endpoints in this group.",
      +          "items": {
      +            "$ref": "#/$defs/DirectApiEndpoint"
      +          },
      +          "title": "Endpoints",
      +          "type": "array"
      +        },
      +        "group": {
      +          "description": "The functional group name (e.g., 'Stats', 'Tokens & NFTs').",
      +          "title": "Group",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "group",
      +        "endpoints"
      +      ],
      +      "title": "DirectApiCommonGroup",
      +      "type": "object"
      +    },
      +    "DirectApiEndpoint": {
      +      "description": "Represents a single direct API endpoint.",
      +      "properties": {
      +        "description": {
      +          "description": "A description of what this endpoint returns.",
      +          "title": "Description",
      +          "type": "string"
      +        },
      +        "path": {
      +          "description": "The API endpoint path (e.g., '/api/v2/stats').",
      +          "title": "Path",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "path",
      +        "description"
      +      ],
      +      "title": "DirectApiEndpoint",
      +      "type": "object"
      +    },
      +    "DirectApiEndpointList": {
      +      "description": "Contains the complete curated list of endpoints for direct_api_call tool.",
      +      "properties": {
      +        "common": {
      +          "description": "Endpoint groups available on all supported chains.",
      +          "items": {
      +            "$ref": "#/$defs/DirectApiCommonGroup"
      +          },
      +          "title": "Common",
      +          "type": "array"
      +        },
      +        "specific": {
      +          "description": "Endpoint groups specific to certain chain families.",
      +          "items": {
      +            "$ref": "#/$defs/DirectApiSpecificGroup"
      +          },
      +          "title": "Specific",
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "common",
      +        "specific"
      +      ],
      +      "title": "DirectApiEndpointList",
      +      "type": "object"
      +    },
      +    "DirectApiSpecificGroup": {
      +      "description": "Represents a group of endpoints specific to certain chain families.",
      +      "properties": {
      +        "chain_family": {
      +          "description": "The chain family this group applies to (e.g., 'Arbitrum', 'Optimism').",
      +          "title": "Chain Family",
      +          "type": "string"
      +        },
      +        "endpoints": {
      +          "description": "List of chain-specific endpoints.",
      +          "items": {
      +            "$ref": "#/$defs/DirectApiEndpoint"
      +          },
      +          "title": "Endpoints",
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "chain_family",
      +        "endpoints"
      +      ],
      +      "title": "DirectApiSpecificGroup",
      +      "type": "object"
      +    },
      +    "InstructionsData": {
      +      "description": "A structured representation of the server's operational instructions.",
      +      "properties": {
      +        "binary_search_rules": {
      +          "description": "Rules for using binary search for historical blockchain data.",
      +          "title": "Binary Search Rules",
      +          "type": "string"
      +        },
      +        "chain_id_guidance": {
      +          "$ref": "#/$defs/ChainIdGuidance",
      +          "description": "Comprehensive guidance for chain ID selection and usage."
      +        },
      +        "data_ordering_and_resumption_rules": {
      +          "description": "Rules for understanding data ordering and resuming searches from anchor points.",
      +          "title": "Data Ordering And Resumption Rules",
      +          "type": "string"
      +        },
      +        "direct_api_call_rules": {
      +          "description": "Rules and guidance for using the direct_api_call tool.",
      +          "title": "Direct Api Call Rules",
      +          "type": "string"
      +        },
      +        "direct_api_endpoints": {
      +          "$ref": "#/$defs/DirectApiEndpointList",
      +          "description": "Curated list of endpoints available for direct API calls."
      +        },
      +        "error_handling_rules": {
      +          "description": "Rules for handling network errors and retries.",
      +          "title": "Error Handling Rules",
      +          "type": "string"
      +        },
      +        "funds_movement_rules": {
      +          "description": "Rules for analyzing funds movement and transfer activity.",
      +          "title": "Funds Movement Rules",
      +          "type": "string"
      +        },
      +        "pagination_rules": {
      +          "description": "Rules for handling paginated responses and data retrieval.",
      +          "title": "Pagination Rules",
      +          "type": "string"
      +        },
      +        "portfolio_analysis_rules": {
      +          "description": "Rules for conducting comprehensive portfolio analysis.",
      +          "title": "Portfolio Analysis Rules",
      +          "type": "string"
      +        },
      +        "time_based_query_rules": {
      +          "description": "Rules for executing time-based blockchain queries efficiently.",
      +          "title": "Time Based Query Rules",
      +          "type": "string"
      +        },
      +        "version": {
      +          "description": "The version of the Blockscout MCP server.",
      +          "title": "Version",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "version",
      +        "error_handling_rules",
      +        "chain_id_guidance",
      +        "pagination_rules",
      +        "time_based_query_rules",
      +        "binary_search_rules",
      +        "portfolio_analysis_rules",
      +        "funds_movement_rules",
      +        "data_ordering_and_resumption_rules",
      +        "direct_api_call_rules",
      +        "direct_api_endpoints"
      +      ],
      +      "title": "InstructionsData",
      +      "type": "object"
      +    },
      +    "NextCallInfo": {
      +      "description": "A structured representation of the tool call required to get the next page.",
      +      "properties": {
      +        "params": {
      +          "additionalProperties": true,
      +          "description": "A complete dictionary of parameters for the next tool call, including the new cursor.",
      +          "title": "Params",
      +          "type": "object"
      +        },
      +        "tool_name": {
      +          "description": "The name of the tool to call for the next page.",
      +          "title": "Tool Name",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "tool_name",
      +        "params"
      +      ],
      +      "title": "NextCallInfo",
      +      "type": "object"
      +    },
      +    "PaginationInfo": {
      +      "description": "Contains the structured information needed to retrieve the next page of results.",
      +      "properties": {
      +        "next_call": {
      +          "$ref": "#/$defs/NextCallInfo",
      +          "description": "The structured tool call required to fetch the subsequent page."
      +        }
      +      },
      +      "required": [
      +        "next_call"
      +      ],
      +      "title": "PaginationInfo",
      +      "type": "object"
      +    }
      +  },
      +  "properties": {
      +    "content_text": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Optional human-readable summary used for MCP content responses.",
      +      "title": "Content Text"
      +    },
      +    "data": {
      +      "$ref": "#/$defs/InstructionsData",
      +      "description": "The main data payload of the tool's response."
      +    },
      +    "data_description": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "A list of notes explaining the structure, fields, or conventions of the 'data' payload.",
      +      "title": "Data Description"
      +    },
      +    "instructions": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "A list of suggested follow-up actions or instructions for the LLM to plan its next steps.",
      +      "title": "Instructions"
      +    },
      +    "notes": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "A list of important contextual notes, such as warnings about data truncation or data quality issues.",
      +      "title": "Notes"
      +    },
      +    "pagination": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/PaginationInfo"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Pagination information, present only if the 'data' is a single page of a larger result set."
      +    }
      +  },
      +  "required": [
      +    "data"
      +  ],
      +  "title": "ToolResponse[InstructionsData]",
      +  "type": "object"
      +}
  5. First observed

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No contradiction with annotations; readOnlyHint and openWorldHint align with a non-destructive initialization. The description adds important behavioral context: the one-time per-session nature and the need to reuse the returned payload, which is not conveyed by annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the action and return value, and contains only essential usage guidance. Every sentence earns its place, with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description need not detail return structure. It fully covers the tool's role, the required call order, and the reuse rule, making it complete for an initialization tool in a broader toolset.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the input schema fully covers parameter semantics. The description appropriately focuses on session initialization rather than parameter details, and the baseline for zero-parameter tools is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Initializes a Blockscout MCP session' and enumerates exactly what it returns. It is distinct from all sibling tools, which perform direct data lookups, making this a unique session bootstrap tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage instructions: 'Call this tool exactly once per session, before any other tool', and 'do not call it again.' This leaves no ambiguity about when to use the tool and when to avoid repeated calls.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a distinct blockchain resource or action (address, block, transaction, token, NFT, contract, chain, raw API, session init). Even though direct_api_call is a generic fallback, the specialized tools have clear, non-overlapping purposes, and the complementary nature of tools like get_token_transfers_by_address and get_transactions_by_address is explicitly documented.

Naming Consistency4/5

The majority of tools follow a consistent get_<resource> pattern (e.g., get_block_info, get_tokens_by_address), but there are notable deviations: direct_api_call, lookup_token_by_symbol, inspect_contract_code, read_contract, and __unlock_blockchain_analysis__. These verbs are still descriptive and readable, but the mix of 'get' with other verbs prevents a perfect 5.

Tool Count4/5

With 16 tools, the server is slightly above the ideal 3-15 range but not excessive. Each tool maps to a significant Blockscout API capability, and the count feels proportional to the breadth of blockchain data covered. It is heavier than a minimal toolkit but not bloated.

Completeness4/5

The tool set covers core exploration workflows: address info, block lookup, transaction details, token/NFT holdings, contract ABI/source inspection, and read-only contract calls. Minor gaps like a dedicated token-info-by-contract-address tool exist, but the direct_api_call fallback and get_address_info's token details mitigate these. The surface is comprehensive for a read-only blockchain explorer.