CorpusFetch
Server Details
O(1) symptom routing and warrant-first fetch over 622 concluded records.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
fetch_record and fetch_warrant are clearly separated by artifact and purpose, and the warrant-first workflow is explicit. lookup_exception and lookup_symptom share identical output shape and differ only in input type, so an agent holding an exception message (which is also a symptom) could hesitate between them.
All four tools use the same corpusfetch_ prefix and a consistent verb_noun snake_case pattern (fetch_record, fetch_warrant, lookup_exception, lookup_symptom). The two verb families map cleanly to routing vs retrieval.
Four tools is a tight, well-scoped surface that exactly mirrors the intended lookup -> warrant -> record pipeline. Each tool has a distinct role with no filler.
The core lifecycle (route to candidates, verify seal, retrieve body in md or py form) is fully covered with no dead ends. Minor gaps: no way to browse or search the pillar by keyword, and no listing of available records or pillars for open-ended exploration.
Available Tools
4 toolscorpusfetch_fetch_recordAInspect
Fetch the body of a CorpusFetch record. Format 'md' (default, ~1500 tokens) or 'py' (zero-prose stdlib slice, ~300 tokens). Prefer warrant-first: call corpusfetch_fetch_warrant before this.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Slug of the record | |
| format | No | Format: "md" (default, ~1500 tokens) or "py" (~300 tokens) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does usefully disclose payload cost (~1500 vs ~300 tokens) and the nature of the 'py' variant ('zero-prose stdlib slice'). It says nothing about permissions, error behavior, or whether fetching mutates state, leaving real gaps for an unannotated tool.
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?
Three short sentences, front-loaded with the action, then format options, then the prerequisite hint. No filler.
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?
A simple two-parameter read with no output schema; the description covers what is returned (the body), the format tradeoff, and call ordering. Only the absence of any error/empty-result behavior keeps it from full marks.
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 coverage is 100%, so baseline is 3, but the description adds semantic meaning beyond the schema by characterizing 'py' as a 'zero-prose stdlib slice' rather than merely a token-count variant. Slug semantics are left to the schema.
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?
States a specific verb and resource: 'Fetch the body of a CorpusFetch record.' It does not define what a record is relative to warrants/symptoms, but the routing hint to fetch_warrant gives partial differentiation from siblings.
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?
'Prefer warrant-first: call corpusfetch_fetch_warrant before this' gives explicit sequencing guidance and names the sibling to call first. It lacks a when-not condition, but the recommended order is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
corpusfetch_fetch_warrantAInspect
Fetch the ~220-token warrant (precondition seal) for a CorpusFetch record. Fetch this before the .md record. If the seal fails, do not fetch the record.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Slug of the record (the URL path segment after /c/ and before .md) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the payload size (~220 tokens) and the gating behavior, but never says how a failing seal is surfaced (error vs. a returned result), what the warrant contains, or whether it is reused/required as input to fetch_record.
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?
Three short sentences, zero filler, with the size hint and the ordering constraint front-loaded before the failure rule. 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?
There is no output schema, so the description must carry the return semantics, and it only partially does: size and pass/fail gating are stated, but the shape of a successful warrant and of a failed seal is 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?
Only one parameter and schema coverage is 100%, with the serialized schema already explaining the slug as the path segment between /c/ and .md. The description adds nothing about the parameter and doesn't need to, so baseline 3 applies.
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?
States a specific verb and resource ('Fetch the ~220-token warrant') and glosses the jargon with 'precondition seal'. It distinguishes itself from corpusfetch_fetch_record by naming the ordering ('before the .md record'), though what a warrant actually is remains abstract.
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?
Explicitly prescribes sequence and a negative condition: fetch this before the record, and do not fetch the record if the seal fails. It does not mention the lookup_exception / lookup_symptom siblings or when those would apply instead, so routing is only partially covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
corpusfetch_lookup_exceptionAInspect
Route a Python exception class to candidate record addresses in the CorpusFetch pillar. Returns warrant_url, py_url, md_url, and fetch_when for each candidate. Fetch the warrant first (~220 tokens); if its seal fails, do not fetch the .md.
| Name | Required | Description | Default |
|---|---|---|---|
| exception_class | Yes | Python exception class, e.g. KeyError, TimeoutError, ValueError |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden and does well: it enumerates the returned fields (warrant_url, py_url, md_url, fetch_when), quantifies token cost for the warrant, and describes a gating condition (seal failure blocks the .md fetch). It stops short of saying how many candidates come back, what happens for an unknown exception class, or whether a warrant is always present.
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?
Three tight sentences: purpose, return shape, then the fetch protocol with its abort condition. The routing intent is front-loaded and every sentence carries operational information.
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?
There is no output schema, so the description correctly compensates by naming all four return fields and explaining the fetch_when semantics indirectly through the warrant-first protocol. The remaining gap is edge-case behavior for unrecognized exception classes and candidate cardinality, which matters for an agent deciding whether one lookup is enough.
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 coverage is 100% and the schema already supplies the meaning plus concrete examples (KeyError, TimeoutError, ValueError). The description restates 'Python exception class' but adds no format, casing, or qualification rules beyond the schema, so the baseline 3 holds.
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 specific verb (route/lookup) and a specific resource (a Python exception class), plus the exact target of the routing (candidate record addresses in the CorpusFetch pillar). The input domain ('Python exception class') immediately separates it from corpusfetch_lookup_symptom, which handles symptoms rather than exception classes.
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?
It gives explicit sequencing guidance for downstream work: fetch the warrant first (~220 tokens), and abort the .md fetch if the seal fails. What it does not do is state when to prefer corpusfetch_lookup_symptom over this tool; the disambiguation is left to the input type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
corpusfetch_lookup_symptomAInspect
Route a runtime symptom to candidate record addresses in the CorpusFetch pillar. Returns warrant_url, py_url, md_url, and fetch_when for each candidate. Fetch the warrant first (~220 tokens); if its seal fails, do not fetch the .md.
| Name | Required | Description | Default |
|---|---|---|---|
| symptom | Yes | Runtime symptom key, e.g. UNICODE_HOMOGLYPH_OR_MOJIBAKE, or a DOMAIN_* key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does a reasonable amount of work: it names the exact return fields (warrant_url, py_url, md_url, fetch_when), gives a cost estimate (~220 tokens), and discloses a failure mode where a failed seal means the .md should not be fetched. It doesn't state whether the lookup itself is free of side effects or how candidates are ordered/ranked.
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?
Three short sentences, each with a distinct job: purpose, return shape, and procedural rule. The purpose leads and the conditional warning comes last, so nothing is buried.
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 one-parameter lookup with no output schema, the description covers purpose, return fields, cost, and a follow-up rule—enough to call it correctly. The remaining gaps are conceptual: what a 'seal' is and whether candidates are ranked or exhaustive.
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 single 'symptom' parameter is fully documented in the schema at 100% coverage, including an example key format. The description adds no semantics beyond what the schema provides—nothing on key normalization, case sensitivity, or what happens for an unrecognized key. The baseline of 3 applies when the schema carries the load.
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: 'Route a runtime symptom to candidate record addresses.' An agent can tell this is a symptom-to-record router rather than a record fetcher. It does not explicitly name the sibling it contrasts with (corpusfetch_lookup_exception), relying on the word 'symptom' to imply the split.
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 gives downstream sequencing advice ('Fetch the warrant first (~220 tokens); if its seal fails, do not fetch the .md'), which is genuinely useful workflow guidance. However, it never states when to select this tool over corpusfetch_lookup_exception or when to skip lookup entirely, so the selection guidance is only implied by the tool name.
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.
4 tool updates
- First observed
corpusfetch_fetch_record - First observed
corpusfetch_fetch_warrant - First observed
corpusfetch_lookup_exception - First observed
corpusfetch_lookup_symptom
Related MCP Connectors
Cited Bitcoin coordination record search (~783k). Lightning. MCP. Not prices/chain analytics.
Evidence-first technical website diagnostics with human-confirmed request handoffs.
Deterministic claim verification with receipts across ~60 domains. No model in the loop.
Market evidence with receipts: every claim resolves to a real stored record you can fetch back.
Related MCP Servers
- AlicenseAqualityCmaintenanceFirst-line incident triage you can trust: ranked root-cause hypotheses where every claim cites a real evidence handle — and the agent abstains rather than guess.11MIT
- AlicenseNot gradedqualityBmaintenanceDeterministic rule-based medical triage with citations, using a 0.6B LLM only to check criteria (yes/no/unknown).Apache 2.0
- FlicenseNot gradedqualityDmaintenancePeer-reviewed (ACM BCB 2026) within-subject physiological deviation scoring. Real-time IHB baseline queries with SHA-256 trust certificates and autonomous x402 USDC payments on Base L2. No population norms. No human required.-
- AlicenseNot gradedqualityAmaintenanceZero-noise anti-regression guard & causal memory engine for Cursor, Claude Code, and CI/CD. Retrospectively pairs failure symptoms with fixes in < 100 μs, exempting historical root causes from decay.3AGPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.