web3ctx
Server Details
Version-true web3 docs, ABIs and human-validated integration recipes over MCP.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- FarseenSh/web3ctx
- GitHub Stars
- 0
- Server Listing
- web3ctx
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: search, fetch, dependency, lookup, and grep. The explicit 'does not' statements further eliminate any ambiguity, making misselection virtually impossible.
All tools follow a uniform web3_verb pattern (deps, fetch, grep, lookup, search), which is predictable and aids quick comprehension of each tool's function.
With exactly 5 tools, the set is well-scoped for a specialized Web3 context server. Each tool serves a distinct need without redundancy, and the count fits comfortably within the ideal range.
The tools cover the full lifecycle of querying Web3 data: search to find selectors, fetch to retrieve bodies, deps for dependencies, and lookup for typed records. No obvious gaps exist for the stated read-only purpose.
Available Tools
5 toolsweb3_depsDependency closureBRead-onlyInspect
Dependency closure around a selector. Does not follow calls across projects.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | ||
| kinds | No | ||
| selector | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the safety profile, so the description only needs to add behavioral context. It does add one useful constraint—does not follow calls across projects—but does not disclose other behaviors like traversal direction, cycle handling, or what the returned dependency closure actually contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The core purpose is front-loaded, and the key limitation follows immediately. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple in schema complexity, but there is no output schema and no parameter descriptions. The description leaves important gaps: what kinds values are accepted, how depth interacts with the closure, what the return value looks like, and which sibling should be used for cross-project scenarios. This is insufficient for fully confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. The phrase 'around a selector' gives some context for the selector parameter, but depth and kinds receive no explanation, and 'kinds' is especially ambiguous. The description does not materially reduce parameter misuse risk.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the operation as computing a dependency closure anchored around a selector, and it clarifies an important boundary: it does not follow calls across projects. This distinguishes it from generic fetch/search/lookup siblings, though the description lacks an explicit verb making the action fully explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when you need dependency closure for a selector. It also gives an explicit exclusion: not for cross-project dependency traversal. It stops short of naming an alternative for cross-project cases, so it doesn't fully meet the bar for explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web3_fetchFetch complete unitsARead-onlyInspect
Full bodies for selectors you already chose, or the next page of a cursor. Does not discover selectors.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | ||
| selectors | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already in the annotations, the description adds meaningful behavioral context: it returns full bodies, supports cursor-based pagination for the next page, and explicitly disclaims selector discovery. This goes beyond what the schema and annotations alone convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no filler: main purpose, pagination alternative, and exclusion are all packed in efficiently. The core behavior is front-loaded in the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with two optional parameters and no output schema, the description covers the return type, paging behavior, and the prerequisite that selectors be pre-chosen. The main gaps are whether cursor and selectors can be combined and where the cursor originates, but these are minor for this simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the bare parameter names. It does: 'selectors' are described as previously chosen selector values, and 'cursor' is tied to fetching the next page. It still leaves details like mutual exclusivity and formatting unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it returns 'full bodies' for already-chosen selectors or the next page of a cursor. The closing exclusion, 'Does not discover selectors,' clearly separates it from discovery-oriented siblings like web3_search and web3_lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'selectors you already chose' establishes that the tool is used after selector selection, and 'Does not discover selectors' states when it should not be used. It does not explicitly name which sibling should be used for discovery, so the routing is implied rather than fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web3_grepExact identifier matchBRead-onlyInspect
Exact lexical match on a known identifier. Does not rank semantically.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| pattern | Yes | ||
| project | No | ||
| version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the safety profile, and the description adds useful behavioral context: matching is exact/lexical, not semantic ranking. It does not disclose pagination, limiting behavior, or what happens when no match is found, but with the annotation covering side effects, the added value is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core purpose and immediately followed by a differentiating clause. There is no filler, and every word contributes either to defining the match semantics or to distinguishing this tool from semantic search.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the tool returns, but it does not. It also omits how project and version filter results and how limit behaves. The tool is simple and read-only, but an agent would still need more context to invoke optional parameters correctly and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only clarifies that pattern should be a known identifier. The optional parameters limit, project, and version receive no explanation of their meaning, defaults, or interaction, leaving a significant gap for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it performs an exact lexical match on a known identifier, and explicitly distinguishes itself from semantic ranking. It is clear that this is a precise lookup tool, though it does not name the underlying web3 resource being searched.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for known identifiers requiring exact lexical matching, and the 'does not rank semantically' clause suggests it is not for fuzzy or semantic discovery. However, it never explicitly names an alternative such as web3_search or states when not to use this tool, so the guidance remains implied rather than directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web3_lookupLook up a typed recordARead-onlyInspect
Typed records by id: address, ABI, EIP. Does not search prose or rank.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| kind | Yes | ||
| chain | No | ||
| project | No | ||
| version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint is already true, so the safety profile is covered by annotations. The description adds a behavioral boundary: this is an exact typed-id lookup, not a search or ranking operation. It does not mention missing-ID behavior or result format, but that is a minor gap given the read-only annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences deliver the main operation, the supported record types, and a key exclusion with no filler. The core information is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the core lookup semantics and one key behavioral boundary for a read-only tool. It is less complete on optional parameter semantics and return behavior, and since there is no output schema, those details are left to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning for the two required parameters: 'by id' explains the id field, and 'address, ABI, EIP' maps directly to the kind enum. With 0% schema description coverage, this is valuable, but chain, project, and version remain entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a precise operation (lookup by id) and a concrete resource set ('typed records: address, ABI, EIP'). The disclaimer 'Does not search prose or rank' clearly distinguishes it from the sibling search/grep tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'by id' phrasing implies this tool is for exact-record lookups when an identifier is known, and the 'Does not search prose or rank' sentence gives a useful exclusion. However, it does not explicitly name an alternative tool or state a direct 'use this when...' condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web3_searchSearch code and docsBRead-onlyInspect
Ranked selectors for a prose query or unknown identifier. Does not return bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| intent | No | ||
| project | No | ||
| version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes that this is a non-mutating operation, and the description adds meaningful behavioral detail beyond that: results are 'ranked selectors' and bodies are not returned. This is exactly the kind of extra context that helps an agent understand what to expect. There is no contradiction with the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The two-sentence description is tightly written and front-loads the core purpose before adding the important exclusion. Every sentence contributes necessary information without filler. It loses a point for relying on jargon ('selectors') that is not defined and for omitting parameter guidance that could have been included in a compact list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five parameters, no output schema, and four sibling tools, this description is too sparse to fully support correct invocation. It conveys the basic search behavior but leaves parameter semantics, result format details, and sibling routing unexplained. An agent would likely need to open schemas or guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the full burden for parameter understanding, but it only hints that 'query' can be a prose phrase or an unknown identifier. The limit, intent, project, and version parameters are completely unexplained, leaving the agent to guess their roles. This is a significant gap for a 5-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'ranked selectors' for a 'prose query or unknown identifier,' which communicates the core search behavior and result form. The title adds the resource scope ('code and docs'), and the explicit 'Does not return bodies' helps distinguish it from a fetch operation. It could be stronger with a clearer verb like 'search' and explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for a prose query or unknown identifier' gives useful context for when this tool is appropriate, and 'Does not return bodies' implicitly warns against using it when full content is needed. However, it never explicitly names sibling tools like web3_fetch, web3_grep, or web3_lookup or states when to prefer them. The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
web3_fetch1 field changed- removed
Input schema / anyOfRemoved value: -[ - { - "required": [ - "selectors" - ] - }, - { - "required": [ - "cursor" - ] - } -]
5 tool updates
- First observed
web3_deps - First observed
web3_fetch - First observed
web3_grep - First observed
web3_lookup - First observed
web3_search
Related MCP Connectors
Team docs served to AI agents over MCP - search, Markdown reads, version pinning, read audit.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Hosted MCP gateway for Web3 infra discovery across 20+ networks via one endpoint.
Abstraxn: public Web3 MCP server for read-only chain data and pay-per-call relays.
Related MCP Servers
- AlicenseAqualityBmaintenanceVersioned library documentation retrieval MCP server for coding agents, providing accurate, versioned, and traceable API documentation snippets with scoring, caching, and offline support.3MIT
- AlicenseNot gradedqualityCmaintenanceProvides multichain block-explorer data from Etherscan via MCP tools for token balances, contract ABI, and source code.2 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to resolve smart contract ABIs, read, encode, simulate, and prepare transactions across multiple blockchains via a REST API or MCP server, with no signing required.-
- FlicenseAqualityCmaintenanceA read-only MCP server that exposes Automeli's public API documentation (v2 canonical, v1 frozen) to LLMs via fetch and cache over www.automeli.com artifacts. It enables listing, searching, and retrieving endpoints, OpenAPI specs, error explanations, code snippets, and end-to-end flow guides.7-
Glama MCP Gateway
Add one secure layer between your agents and this server.