CanonicAI — cited Answers corpus
Server Details
Read-only hosted MCP over CanonicAI's cited Answers corpus on canonicai.com.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
The set splits cleanly into two resource families (answers and canons) with clear action distinctions: get_ returns a single record by slug, list_ enumerates summaries, and search_ does token-scored lookup. get_answer vs get_canon and list_answers vs search_answers have plainly different semantics, so misselection is unlikely.
Every tool follows a strict verb_noun snake_case pattern (get_answer, get_canon, list_answers, list_canons, search_answers, search_constructs). Verbs and nouns are used consistently with no mixing of conventions.
Six tools is well-scoped for a static read-only cited-answer corpus. Each tool covers a distinct resource/action pair and none feels redundant or padded.
The surface covers the core read workflows: list/get/search for answers, and list/get/search for canon content. The one minor gap is that constructs can only be reached via search_constructs, with no direct get_construct or list_constructs for a known identifier.
Available Tools
6 toolsget_answerAInspect
Return one Answer contract v0 record with citations for a known slug. Never fabricates content for unknown slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Answer slug from answers/index.json. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| code | No | |
| home | No | |
| slug | Yes | |
| answer | Yes | |
| message | No | |
| question | Yes | |
| citations | Yes | |
| shortAnswer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It explicitly discloses a critical safety behavior: 'Never fabricates content for unknown slugs', which tells the agent the tool will not hallucinate for nonexistent slugs. It also states the record includes citations. It does not specify the exact failure mode for unknown slugs, but the anti-fabrication guarantee is material and well communicated.
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 concise sentences with no filler. The primary action and resource are front-loaded, and the behavioral guarantee is a valuable second sentence. 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?
Given the tool has a single well-documented parameter, an existing output schema, and a description that states the return content, the known-slug condition, and the no-fabrication behavior, nothing essential is missing for an agent to invoke it correctly.
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 schema already documents the only parameter with 100% coverage: 'Answer slug from answers/index.json.' The description adds 'known slug' context but does not add format, validation, or usage details beyond the schema. With baseline 3 for high coverage, this is appropriate.
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 ('Return'), a precise resource ('one Answer contract v0 record with citations'), and the key condition ('for a known slug'). The phrase 'Never fabricates content for unknown slugs' further disambiguates this tool from list_answers and search_answers, making its scope unmistakable.
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 clearly implies when to use this tool: when a specific known slug is available. It does not explicitly name alternative tools or state when not to use it, but the context 'for a known slug' gives sufficient guidance for an agent to choose it over listing or searching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_canonAInspect
Return one canon-v1 record (constructs, relationships, open divergences, provenance, source works) for a known slug. Never fabricates content for unknown slugs; returns close-match slugs instead.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Canon slug from canons/index.json. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| code | No | |
| slug | Yes | |
| message | No | |
| coverage | No | |
| guide_url | No | |
| constructs | Yes | |
| provenance | No | |
| closeMatches | No | |
| source_works | No | |
| relationships | No | |
| action_statement | No | |
| open_divergences | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose a genuinely non-obvious trait: no fabricated records for unknown slugs and a close-match fallback response. It omits auth/permission needs and read-only framing, though 'Return' strongly implies a read.
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 tight sentences, front-loaded with the return payload and followed by the edge-case behavior. Every clause carries information; nothing is redundant 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?
An output schema exists so return values need not be explained, and the failure mode for bad slugs is covered. Minor gap: no pointer to where valid slugs are enumerated beyond the schema's mention of canons/index.json.
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 100% and the single slug parameter is documented as coming from canons/index.json, so baseline is 3. The description adds only the constraint that the slug must be 'known' and what occurs otherwise, not new syntax or format guidance.
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?
Specific verb (Return) plus resource (one canon-v1 record) with the record's contents enumerated (constructs, relationships, open divergences, provenance, source works). The singular scope clearly separates it from list_canons and search_constructs without needing to name them.
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?
States the precondition for use ('for a known slug') and what happens outside that condition (unknown slugs yield close-match slugs, never fabricated content). It does not explicitly name list_canons as the way to discover a slug, so the alternative routing is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_answersAInspect
List published CanonicAI answer summaries from the static Answers corpus. Returns slug, id, question, canonical URLs, and citation counts.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum summaries to return. | |
| offset | No | Number of summaries to skip. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| answers | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the behavioral burden. It does disclose that the operation lists published items from a static corpus, implying a safe, read-only action, and it lists the returned fields. However, it does not mention ordering, default pagination behavior, or whether full answer content is excluded, leaving some behavioral ambiguity.
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 sentences with no redundant wording. The core action and resource are front-loaded, and the second sentence efficiently enumerates the returned fields. 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?
For a simple list operation with fully documented optional pagination parameters and an output schema, the description is largely complete. It states the source corpus, the published scoping, and the return fields. Minor missing details like default ordering or a maximum limit are not critical given the tool's simplicity and schema coverage.
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 input schema already describes both parameters clearly: limit is the maximum summaries to return and offset is the number to skip. The description adds no parameter-specific meaning beyond what the schema provides, so the baseline of 3 applies given 100% schema coverage.
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 a specific action ('List'), a precise resource ('published CanonicAI answer summaries from the static Answers corpus'), and the return fields. The verb 'List' and the scope of enumerating the corpus clearly differentiate it from the sibling tools get_answer and search_answers.
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 no explicit guidance on when to use this tool instead of get_answer or search_answers. It implies a paginated listing use case through 'List' and the limit/offset parameters, but it never states exclusions or directs the agent to alternative tools for single-item or search use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_canonsAInspect
List published CanonicAI domain canons from the static canon bundle. Returns slug, action statement, construct/source counts, and canonical URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum summaries to return. | |
| offset | No | Number of summaries to skip. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| canons | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden; it does disclose the read-only, static-bundle nature of the data and enumerates returned fields. However, it says nothing about pagination behavior (limit/offset interaction), result ordering, or whether the list is complete or truncated, which matters for a listing 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?
Two sentences, front-loaded with the action and scope before the return payload. The return-field enumeration partially duplicates what the output schema already conveys, so it is not perfectly waste-free.
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?
Output schema exists, so return values need not be explained in depth, and the low-complexity read-only nature with two optional params means little else is required. A brief note on pagination or result ordering would close the remaining gap.
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?
Both parameters (limit, offset) are documented in the schema at 100% coverage, so the schema does the heavy lifting. The description adds no syntax, defaults, or pagination semantics beyond what the schema already states.
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 gives a specific verb ("List") and resource ("published CanonicAI domain canons") and names its data source ("static canon bundle"). The plural/collection framing distinguishes it from the singular sibling get_canon without needing to name it explicitly.
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?
Usage is implied by the enumeration nature of the tool, but there is no explicit when-to-use, when-not-to-use, or comparison against siblings like search_constructs or get_canon. An agent must infer that this is the browse-all entry point rather than a targeted lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_answersBInspect
Search CanonicAI answers by simple deterministic token scoring over question, shortAnswer, and answer fields.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query. | |
| limit | No | Maximum matches to return. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| query | Yes | |
| matches | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the deterministic token scoring mechanism and the fields searched, which is useful. However, it omits behavior such as scoring/ordering, case sensitivity, token matching rules, or result count behavior beyond the optional limit parameter.
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 a single, dense sentence with no filler. It front-loads the action and resource, then adds the key mechanism and target fields without unnecessary detail.
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 simple two-parameter search tool with an output schema, the description is adequate but not complete. It covers the core search behavior and fields, but lacks context about when to choose this tool over siblings and does not explain edge cases like default limit or matching semantics.
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 input schema already covers both parameters with 100% coverage, giving a baseline of 3. The description adds meaning by specifying that q applies to 'question, shortAnswer, and answer fields', which clarifies how the query is interpreted. This is a meaningful supplement 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?
The description states a specific action ('Search') and resource ('CanonicAI answers'), and adds relevant detail about the method ('simple deterministic token scoring') and searchable fields. It does not explicitly contrast with get_answer or list_answers, but the verb 'search' already implies a different use case.
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 no guidance on when to use this tool versus get_answer or list_answers. There is no mention of exclusions, prerequisites, or alternative scenarios. The usage context is only implied by the word 'search', not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_constructsAInspect
Search construct names and definitions across all canons (or one canon) by deterministic token scoring.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query. | |
| canon | No | Restrict to one canon slug. | |
| limit | No | Maximum matches to return. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| query | Yes | |
| matches | Yes |
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 disclose that matching uses deterministic token scoring. However, it omits other behavioral details such as ranking, case sensitivity, or pagination, though the output schema covers return values.
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?
It is a single, front-loaded sentence with no wasted words. The core verb and resource appear immediately, and the scope and scoring method are appended compactly.
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 3-parameter search tool with a complete output schema, the description covers what it searches, where, and how. The main gap is the lack of guidance on when to prefer it over sibling search tools such as search_answers.
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 all three parameters are already documented in the schema. The description adds the scope choice 'across all canons (or one canon)', which aligns with the canon parameter but does not add syntax or format details beyond 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?
The description states a specific verb (search) and resource (construct names and definitions), and clarifies the scope (all canons or one canon). It naturally distinguishes itself from sibling tools like search_answers by naming a different searchable resource.
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?
There is no explicit when-to-use or when-not-to-use guidance, and no alternative tools are named. The description implies the tool is for searching constructs, but it does not help an agent choose between this and the sibling search_answers.
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.
3 tool updates
- Added
get_canon - Added
list_canons - Added
search_constructs
3 tool updates
- First observed
get_answer - First observed
list_answers - First observed
search_answers
Related MCP Connectors
Query any docs site via MCP. Submit a URL, ask questions, get cited answers.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Judged, citation-checked policy corpus over MCP. Keyless public reads; API key for AI tools.
- docs2mcpOAuthcom.docs2mcp
Query your own PDFs and documents from any MCP client. Every answer cites the page it came from.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server for grounded, cited AI: answers questions from live web sources, verifies claims, fact-checks documents, searches and reads URLs, summarises, classifies, and extracts fields, with usage tracking and status.1MIT
- FlicenseNot gradedqualityCmaintenanceProvides read-only, citation-backed semantic search and retrieval-augmented generation over enterprise documents via standardized MCP tools, with local embeddings for privacy.-
- FlicenseAqualityCmaintenanceProvides read-only MCP tools to search and retrieve evidence-grounded knowledge compiled from video content, including hybrid semantic and lexical search with citations.5-
- AlicenseNot gradedqualityCmaintenanceMCP server for grounded agentic Q&A over customer feedback, exposing typed tools to query a feedback corpus and return answers with citations to specific record IDs or a refusal when unsupported.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.