Skip to main content
Glama

Server Details

Canton Network: CIPs and their on-chain vote outcomes, docs, forum, validator upgrade deadlines.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.

Tool Definition Quality

Score is being calculated. Check back soon.

Available Tools

87 tools
call_canton_mcpAInspect

Federate a tool call to another Canton MCP server (see list_canton_mcps). CCPEDIA proxies the call and returns the result, acting as one MCP that routes across the Canton MCP ecosystem. Only free, hosted, no-auth Canton MCPs can be proxied; local or paid ones return connect instructions instead. Canton-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolYesTool name to call on that server
serverYesTarget MCP id from list_canton_mcps (e.g. "ccpedia", "x402-mcp")
argumentsNoArguments object for that tool
Behavior4/5

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

With no annotations, the description carries full burden. It discloses proxying behavior, routing, and conditional outcomes (result vs connect instructions). Could add details on error handling or latency but sufficient for the tool's simplicity.

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?

Three sentences, front-loaded with purpose, no redundancy. Every sentence adds value.

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

Completeness4/5

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

Given no output schema, description mentions 'returns the result' but lacks details on return format or error states. Still covers essential behavior and parameter usage, missing only minor specifics.

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

Parameters3/5

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

Schema coverage is 100% (all parameters have descriptions). The main description adds context only for 'server' (ties to list_canton_mcps and gives examples). Baseline 3 is appropriate; no significant extra meaning beyond schema.

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 states 'Federate a tool call to another Canton MCP server' with a clear verb and resource, and distinguishes it from siblings like list_canton_mcps by explaining the proxying behavior.

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?

Explicitly tells when to use ('Only free, hosted, no-auth Canton MCPs can be proxied') and what happens otherwise ('local or paid ones return connect instructions'), plus references list_canton_mcps for discovering servers.

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

check_deprecationAInspect

Check whether a specific Canton/Daml toolchain item (CLI, SDK package, or command — e.g. daml-assistant, Navigator, dpm) is deprecated. Canton-specific — not a general npm/pip deprecation checker. ALWAYS call before recommending any Canton tool or package to a developer. Returns DEPRECATED (with replacement), CURRENT, or NOT_FOUND.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTool/package/command to check, e.g. "daml-assistant", "Navigator", "dpm", "canton sandbox".
Behavior4/5

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

With no annotations, the description carries full burden for behavioral disclosure. It clearly states the three possible return values (DEPRECATED with replacement, CURRENT, NOT_FOUND). It does not mention side effects, but for a read-only check, this is sufficient. A 4 is justified as it adds meaningful transparency beyond the schema.

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 three sentences, each carrying essential information: purpose, scope/usage guideline, and return values. No fluff, well-structured, and easy to parse. It earns its space.

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 the tool has one parameter, no output schema, and no annotations, this description is completely adequate. It explains what the tool does, when to use it, and what it returns. No additional context is needed.

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?

Schema coverage is 100% with one parameter 'name'. The description adds value by providing examples (e.g., 'daml-assistant', 'Navigator', 'dpm') and clarifying the expected format, which goes beyond the schema description. This helps the agent select correct input.

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 uses a specific verb ('Check whether') and identifies the exact resource ('Canton/Daml toolchain item'). It distinguishes itself from siblings like 'list_deprecations' by focusing on individual items and explicitly stating it is Canton-specific, not a general deprecation checker.

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?

The description explicitly states when to use the tool: 'ALWAYS call before recommending any Canton tool or package to a developer.' It also sets boundaries by saying it is Canton-specific, not a general npm/pip checker. This provides clear usage context.

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

community_consensusAInspect

Surface signals of what the Canton community thinks about a topic: forum thread reply ratios, mailing list debate volume, and the highest-rated reply on the most-viewed thread. Canton-specific. Not sentiment-analysis; a structured roundup the caller can summarise.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic to assess.
Behavior3/5

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

With no annotations, the description carries the full burden. It clarifies the tool is not sentiment analysis and produces a structured roundup, but does not disclose aggregation methods, rate limits, or auth requirements. The behavioral traits are partially transparent.

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

Conciseness4/5

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

The description is front-loaded with the verb 'Surface' and covers key aspects in three sentences. It is concise without being terse, though it could be slightly more structured by separating the output format.

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

Completeness4/5

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

Given the simplicity of the tool (one parameter, no output schema), the description provides adequate context: input topic, output as structured roundup. It could hint at the exact structure, but overall completeness is good for the complexity level.

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

Parameters3/5

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

The single parameter 'topic' is fully described in the schema. The description does not add extra semantic meaning beyond 'Topic to assess.' With 100% schema coverage, baseline is 3, and no additional value is provided.

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 function: surfacing community consensus signals (forum reply ratios, mailing list volume, highest-rated reply) specific to Canton. It explicitly distinguishes itself from sentiment analysis, providing a unique purpose among sibling tools.

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

Usage Guidelines3/5

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

The description implies use when needing community opinion on a topic but lacks explicit guidance on when to use this tool versus alternatives like search_community or get_discussion. No when-not conditions are given.

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

compare_governance_outcomesAInspect

Aggregate governance throughput over a window: CIPs that changed status (approved / rejected / advanced), counts of cip-vote and cip-discuss mailing activity, and dev-fund proposals merged or closed. Canton-specific. Use to summarise "what governance has shipped this quarter?".

ParametersJSON Schema
NameRequiredDescriptionDefault
window_daysYesWindow in days, 7-365.
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It discloses that the tool aggregates specific data (CIP status, mailing counts, dev-fund proposals) and is Canton-specific, but does not mention authorization needs, rate limits, or side effects. Adequate but not thorough.

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?

Two sentences efficiently convey the tool's purpose, the data aggregated, and a concrete usage example. No redundancy.

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

Completeness4/5

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

Given the tool has one simple parameter and no output schema, the description adequately describes what the tool returns (aggregated counts). It is nearly complete; minor gap: no explicit mention of output format or structure.

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

Parameters3/5

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

Only one parameter (window_days) exists, and the schema already fully describes its constraints (7-365 integer). The description adds context ('over a window') but does not provide any additional semantic value beyond the schema.

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?

Description uses specific verb 'aggregate' and clearly defines the resource: 'governance throughput over a window' including CIP status changes, mailing activity, and dev-fund proposals. It distinguishes itself from sibling tools like get_cip or get_governance_vote by offering a summary view.

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

Usage Guidelines4/5

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

The description explicitly states 'Use to summarise "what governance has shipped this quarter?"', providing a clear use case. However, it lacks guidance on when not to use or alternatives, which would elevate the score.

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

compare_to_evmInspect

Map one Ethereum/EVM concept (e.g. smart contract, wallet, gas, ERC20, Hardhat, ABI) to its Canton Network equivalent, for developers migrating from Solidity/EVM to Canton. Canton-specific (target is always Canton). Use for single concept-to-concept translations; use get_started_guide for a full EVM-to-Canton learning path.

ParametersJSON Schema
NameRequiredDescriptionDefault
conceptYesEVM concept, e.g. "smart contract", "wallet", "gas", "ERC20", "Hardhat", "Remix", "ABI".
detect_builder_overlapInspect

Given a project/proposal idea, find existing Canton ecosystem projects + dev-fund proposals that look similar — across BOTH the canton-dev-fund proposals corpus AND ecosystem_projects. Canton-specific. Cuts manual cross-reference research before submitting a new proposal.

ParametersJSON Schema
NameRequiredDescriptionDefault
ideaYesOne-paragraph project idea or capability description.
detect_cip_dependency_chainInspect

Walk the CIP requires: graph from a starting CIP or PR draft. Returns the full chain of prerequisites that must reach Final before the starting proposal becomes implementable, with each prerequisite's current status. Accepts both approved CIPs ("CIP-0112", "0112") and dev-fund PR drafts ("PR-203"). Canton governance only. Use when planning around a CIP that hasn't shipped yet.

ParametersJSON Schema
NameRequiredDescriptionDefault
cip_idYesStarting CIP or PR id, e.g. "0112", "CIP-0112", or "PR-203".
detect_driftAInspect

Find contradictions between docs, forum and GitHub on a topic. Returns counts of how each surface talks about it plus the most recent doc-page and forum statement so the caller can spot mismatches. Distinct from get_kb_drift (which compares foundation_kb to live releases).

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic to cross-check.
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses return behavior: counts and recent statements from doc-page and forum. While it doesn't explicitly state it's read-only or non-destructive, the nature of 'find contradictions' and 'returns' implies no side effects. Slight room for improvement but still strong.

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?

Two sentences: first states purpose and return format, second distinguishes from sibling. No unnecessary words, front-loaded with key action and scope.

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?

For a single-parameter tool with no output schema or annotations, description fully explains what it does, what it returns, and how it differs from related sibling. No critical gaps.

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

Parameters3/5

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

Only one parameter 'topic' with schema description 'Topic to cross-check.' Description adds no further semantics beyond reinforcing topic as the subject. Since schema coverage is 100%, baseline 3 is appropriate.

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?

Description clearly states the verb 'Find contradictions' and the scope 'between docs, forum and GitHub on a topic'. It also explicitly distinguishes from sibling tool 'get_kb_drift', making it easy for agents to understand the specific function.

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?

The description explicitly mentions the alternative 'get_kb_drift' and explains the difference in scope (foundation_kb vs live releases vs docs/forum/GitHub), providing clear when-to-use guidance.

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

diagnose_errorAInspect

Paste a Canton/Daml/Splice error message or stack trace fragment and get the most likely resolved fixes from CCPEDIA's historical corpus: forum threads where the same error was discussed, related GitHub issues, and the SDK version range the error appeared in. Canton-specific - do NOT use for non-Canton errors. Best when the input contains a distinctive error code (e.g. TOPOLOGY_TOO_MANY_PENDING_TOPOLOGY_TRANSACTIONS, UNAVAILABLE, ValidatorLicense) or a verbatim exception class. Returns top 3 matches each from forum_posts and github_items.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax matches per source (default 3).
error_textYesError message, stack trace, or status code. Longer/more distinctive text returns better matches.
Behavior4/5

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 explains that the tool returns top 3 matches from forum_posts and github_items, and mentions the source corpus. It doesn't cover authentication or rate limits, but behavior is sufficiently transparent for a read-only diagnostic tool.

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, consisting of two short paragraphs. The first covers purpose and scope, the second gives best practices. Every sentence adds value, with no fluff or repetition.

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 the simplicity of the tool (2 parameters, no output schema), the description fully explains what it does, when to use it, what to expect (top 3 matches per source), and provides guidance on input quality. No gaps are apparent.

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?

Schema coverage is 100%, so the schema already documents both parameters. The description adds value by explaining that longer/distinctive text returns better matches for error_text, and clarifying limit as 'Max matches per source (default 3).' This enriches the schema without redundancy.

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: paste a Canton/Daml/Splice error message to get resolved fixes from CCPEDIA's historical corpus. It specifies the resource (CCPEDIA) and action (get fixes), and distinguishes from siblings by limiting scope to Canton errors.

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

Usage Guidelines4/5

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

The description provides explicit when-to-use guidance: best with distinctive error codes or exception classes. It also states 'do NOT use for non-Canton errors,' effectively excluding alternatives. However, it doesn't explicitly compare to sibling tools or list alternatives.

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

ecosystem_dependency_graphAInspect

Map ecosystem_projects matching a topic to the SDK versions and repos they appear alongside, building a quick dependency picture. Canton-specific. Useful for "if I build with X SDK version, who else is on it?".

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic / category / project family.
Behavior2/5

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

No annotations provided, so the description bears full responsibility. It lacks details on read-only nature, side effects, rate limits, or authentication needs. Merely describing the mapping without addressing behavioral traits reduces transparency.

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?

Two sentences: first states the mapping action, second provides a concrete use case. No filler or redundancy. Front-loaded with key information.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, the description gives enough context for an agent to infer the expected output (a list of projects with SDK versions and repos). Could be improved by specifying the output format, but it is largely complete.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter 'topic' with a clear description. The tool description adds minimal extra meaning beyond repeating 'matching a topic'. Baseline 3 is appropriate.

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 maps ecosystem_projects matching a topic to SDK versions and repos, distinguishing it from sibling tools like search or find_similar_projects by being Canton-specific and focused on dependency mapping.

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

Usage Guidelines4/5

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

Provides a concrete use case ("if I build with X SDK version, who else is on it?"), helping the agent decide when to use it. However, it does not explicitly exclude alternative tools or state when not to use it.

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

find_apps_by_patternAInspect

Pattern-search the Featured Apps catalogue by free-text query across name, category, and description. Returns the best matches in name+category, falling back to description. Canton-specific.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows (default 10).
patternYesFree text, e.g. "AMM", "wallet", "DeFi vault", "validator".
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the search scope and fallback behavior but does not mention error handling, rate limits, or what happens with empty results. The behavior is adequately described for a read-only search tool, but lacks depth on edge cases.

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?

Three sentences, front-loaded with verb and object, no redundant words. Each sentence adds specific value: scope, fields searched, result ranking, and geographic specificity.

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

Completeness3/5

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

Given no output schema, the description does not explain return format, pagination, or ranking beyond 'best matches'. The limit parameter is documented in schema, but output details are missing. For a search tool, this is adequate but not fully informative for complex queries.

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?

Schema coverage is 100% (both parameters described in schema). The description adds meaning beyond schema by explaining how the pattern is applied across fields and the fallback order (name+category first, then description). This helps the agent understand the matching logic.

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?

Description clearly states it pattern-searches the Featured Apps catalogue across name, category, and description, with a fallback order. It distinguishes from siblings like 'search' or 'list_featured_apps' by specifying scope (Canton-specific, pattern-matching) and the field prioritization.

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

Usage Guidelines3/5

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

The description implies use for pattern-matching in the Featured Apps catalogue but does not explicitly state when to use this tool over alternatives like 'search' or 'semantic_search'. No when-not or alternative tool names given, leaving the agent to infer from context.

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

find_cip_for_featureInspect

Given a Canton feature or capability description, find the matching CIP(s) by searching titles and bodies. Canton-specific. Use to answer "is there a CIP for X?".

ParametersJSON Schema
NameRequiredDescriptionDefault
featureYesFeature description, e.g. "wallet abstraction", "token standard", "validator staking".
find_code_examplesAInspect

Find Canton/Daml code snippets in forum posts on a topic. Filters forum_posts where the rendered HTML contains <pre> or <code> blocks AND matches the topic keyword. Canton-specific.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows (default 5).
topicYesTopic keyword.
Behavior4/5

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 discloses the filtering criteria (HTML with pre/code blocks and keyword match) and declares Canton-specific scope. No side effects or destructive actions are implied.

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: two sentences. The first states the core purpose, the second adds key implementation detail. No unnecessary words.

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

Completeness4/5

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

Given the tool's simplicity (search with two parameters), the description covers the purpose and filtering logic. It does not describe the output format but that is acceptable without an output schema.

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

Parameters3/5

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

Schema coverage is 100% with both parameters described. The description adds 'Canton-specific' context but does not provide additional meaning beyond the schema's parameter descriptions.

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?

Description clearly states the tool finds Canton/Daml code snippets in forum posts based on a topic keyword. It specifies the filtering logic (HTML containing <pre> or <code> blocks) and distinguishes from general search by being Canton-specific.

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

Usage Guidelines4/5

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

The description indicates this tool is Canton-specific, implying it should be used for Canton/Daml topics. However, it does not explicitly mention when not to use it or suggest alternatives like the general 'search' tool.

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

find_collaboration_opportunitiesAInspect

Given one Canton ecosystem project, find others with complementary tags/category that could plug in. Canton-specific. Lightweight heuristic — overlap of tags + adjacent categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectYesProject name or slug to look around.
Behavior4/5

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

With no annotations, the description carries full burden for behavioral disclosure. It reveals the tool is a 'lightweight heuristic' and specifies the method ('overlap of tags + adjacent categories'), giving the agent a realistic expectation of the results. It does not describe return format or limitations beyond heuristic nature, but the disclosure is adequate for a simple search tool.

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 two sentences, front-loaded with the main action and key qualifiers ('Canton-specific,' 'lightweight heuristic'). Every sentence adds essential information without redundancy or fluff.

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

Completeness4/5

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

Given the single parameter and lack of output schema, the description adequately explains the purpose and heuristic. It implies a list of projects is returned but does not specify the output structure. Overall, it is sufficiently complete for an agent to decide whether to use this tool, though a note about return type would improve clarity.

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 schema has 100% coverage with a clear parameter description ('Project name or slug'). The tool description adds value by clarifying that the project must be a 'Canton ecosystem project,' which is not stated in the schema. This context helps the agent select the right input format and scope.

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 action: find collaboration opportunities for a given Canton ecosystem project. It specifies the resource (Canton ecosystem projects) and the heuristic (tags + adjacent categories). It also distinguishes from sibling tools by emphasizing 'Canton-specific' and 'lightweight heuristic,' which sets it apart from potentially more comprehensive tools like 'find_similar_projects' or 'detect_builder_overlap.'

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

Usage Guidelines3/5

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

The description implies when to use (when you have a Canton project and want complementary ones) but does not explicitly mention when not to use or suggest alternative tools. While 'lightweight heuristic' hints at limitations, there is no direct comparison to siblings like 'find_similar_projects' or 'community_consensus.' Explicit usage boundaries are missing.

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

find_expertInspect

Rank likely Canton experts on a topic across CCPEDIA: forum activity matching the topic, plus overall forum/GitHub volume of that author. Canton-specific.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax authors (default 5).
topicYesTopic / domain to find experts for.
find_known_issuesAInspect

Surface known unresolved problems related to a free-text description. Pulls from forum threads with zero replies but high views, plus open GitHub issues. Canton-specific. Use for "is anyone else hitting this?" before posting a new question.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows per source (default 5).
descriptionYesWhat you're seeing — short prose, not a stack trace (for that use diagnose_error).
Behavior4/5

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

No annotations provided, so the description carries the full burden. It discloses data sources (forum threads with zero replies but high views, open GitHub issues) and scope (Canton-specific). No mention of authorization or rate limits, but acceptable for a search tool.

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?

Three concise sentences, each adding value. Front-loaded with purpose, includes usage hint, and no wasted words.

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

Completeness4/5

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

Lacks description of return format or fields, which is not covered by output schema (none exists). However, the data sources are clear, so the agent can infer the output type. Adequate for a simple search tool.

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

Parameters5/5

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

Schema description coverage is 100%. The description adds significant meaning beyond schema, e.g., clarifying that the description parameter should be 'short prose, not a stack trace' and pointing to an alternative tool for stack traces.

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 surfaces known unresolved problems from forum threads and GitHub issues, specific to Canton. It distinguishes itself from sibling tools like search_github_issues and search_community by specifying the data sources and the exact use case.

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

Usage Guidelines4/5

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

The description explicitly says 'Use for "is anyone else hitting this?" before posting a new question' and contrasts with diagnose_error in the parameter description. However, it does not fully exclude alternative tools.

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

find_maintainer_guidanceAInspect

Surface forum/mailing posts authored by top-volume Canton contributors (likely maintainers) on a topic. Canton-specific. Use when you want to weight expert voices over the general forum.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic keyword, e.g. "topology", "wallet", "DAR upload".
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the filtering by author volume but does not specify what is returned (list of posts, authors, count, sorting), leaving gaps in expected behavior.

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 two sentences, front-loaded with the action and resource, and no extraneous information. Every part serves a purpose.

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

Completeness3/5

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

Given the tool's simplicity (one parameter, no output schema), the description is moderately complete. However, it could explain the result format (e.g., list of posts with author and score) to compensate for missing output schema.

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

Parameters3/5

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

Schema description coverage is 100% for the single 'topic' parameter, which already describes its purpose. The description adds an example but no additional semantics beyond the schema.

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 verb 'surface' and the resource 'forum/mailing posts authored by top-volume Canton contributors', and specifies it is Canton-specific. This distinguishes it from sibling tools like search_mailing_list or get_mailing_thread.

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

Usage Guidelines4/5

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

The description provides explicit guidance: 'Use when you want to weight expert voices over the general forum.' It does not mention when not to use it or suggest alternatives, but the usage condition is clear.

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

find_security_patchesAInspect

Surface release notes likely to contain security or CVE fixes. Canton-specific. Heuristic: matches release bodies containing security / CVE / vulnerability / patch keywords.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows (default 10).
Behavior3/5

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

Discloses the keyword-based heuristic (security, CVE, vulnerability, patch) and Canton specificity. With no annotations, could be more transparent about limitations like potential false negatives or behavior of the heuristic.

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?

Two concise sentences that efficiently convey purpose, scope, and method. No redundant information; every sentence adds value.

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

Completeness4/5

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

Adequately describes the tool's function and heuristic for a simple search tool. Lacks details on output format or how results are presented, but given the single parameter and no output schema, it is nearly complete.

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

Parameters3/5

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

Schema coverage is 100%, so baseline of 3 is appropriate. Description does not add any extra meaning to the 'limit' parameter beyond what the schema already provides (min, max, default).

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?

Clearly states the tool surfaces release notes with security/CVE fixes, specifies Canton-specific scope, and describes the heuristic using keywords. Differentiates from siblings like 'search_release_notes' by focusing on security patches.

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

Usage Guidelines4/5

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

Implies usage for finding security patches in Canton release notes via keyword matching. Mentions heuristic but does not explicitly state when to avoid or name alternatives, though context provides differentiation.

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

find_similar_projectsAInspect

Find Canton ecosystem projects most similar to a free-text description by matching across title + category + description + tags. Canton-specific. Useful before proposing a project to check overlap.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows (default 10).
descriptionYesProject description / idea.
Behavior3/5

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

No annotations provided, so the description must cover behavior. It states matching across multiple fields and returns similar projects. However, it does not describe the similarity algorithm, result ordering, or edge cases like empty results. Basic transparency is present but lacks depth.

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?

Two sentences: first states the action and parameters, second gives usage context. No wasted words, front-loaded with key information. Extremely concise and well-structured.

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

Completeness4/5

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

For a tool with two parameters and no output schema, the description adequately covers purpose and usage. It lacks detail on output format (e.g., returns list of project names/IDs and possibly scores) but is sufficient for an agent to infer basic behavior. Given low complexity, it is nearly complete.

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

Parameters3/5

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

Schema coverage is 100% with both parameters described. The tool description adds that the input description is matched against title, category, description, and tags, which provides context beyond the schema. However, this is minor added value; the schema already conveys parameter roles.

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 finds Canton ecosystem projects similar to a free-text description by matching across title, category, description, and tags. It specifies the resource (Canton projects) and the action (find similar), distinguishing it from general search tools.

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

Usage Guidelines4/5

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

The description explicitly says 'Useful before proposing a project to check overlap,' which gives clear context for when to use. It does not name alternatives or explicitly say when not to use, but the context is strong enough to infer appropriate usage.

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

full_contextAInspect

Single semantic query across CCPEDIA's entire corpus at once: docs, CIPs, forum, mailing, GitHub items, blog, videos, whitepapers, ecosystem projects. Canton-specific. Use for an exhaustive cross-source roundup on a topic; for narrow searches prefer the specialised tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic / question.
limit_per_sourceNoMax rows per source (default 3).
Behavior3/5

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 not mention read-only behavior, rate limits, or response characteristics. However, as a query tool, the absence is not critical, but it could be more explicit about being non-destructive.

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?

Two concise sentences: first states the functional scope with specific sources, second provides usage guidance. No unnecessary words.

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

Completeness4/5

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

For a simple two-parameter tool, the description is complete: it defines the tool's purpose, scope, and usage guidance. It could mention that it performs semantic search, but overall it's sufficient for an agent to select and invoke correctly.

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

Parameters3/5

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

Schema description coverage is 100% with adequate descriptions for both parameters ('Topic / question.' and 'Max rows per source (default 3).'). The description adds no additional clarification beyond the schema, so baseline score of 3 is appropriate.

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 does a 'single semantic query across CCPEDIA's entire corpus', listing all source types. It differentiates itself from sibling specialized tools by emphasizing the exhaustive cross-source scope.

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?

Explicitly tells when to use ('exhaustive cross-source roundup') and when not ('for narrow searches prefer the specialised tools'), providing clear decision guidance.

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

get_api_referenceInspect

Get a structured reference (ports, endpoints, services, links) for one specific Canton Network API: JSON Ledger API, gRPC Ledger API, Scan API, Validator API, Token Standard APIs, Admin API, or Splice HTTP. Canton-specific — not for GitHub, REST, or non-Canton APIs. Use when the user names one of these Canton APIs; use search/semantic_search for broader doc lookups.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiYesWhich API to look up.
get_app_metricsInspect

Fetch metrics for one specific Featured App by its app_id (contract id from the Scan API). Returns name, category, TVL, 24h volume, user count, last activity, and any cross-referenced ecosystem_projects metadata. Canton-specific. TVL / volume / users may be null when only the Scan API source is available.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesFeatured-app contract id (long hex string from list_featured_apps).
get_breaking_changesAInspect

Compare two Canton/Daml/Splice SDK versions and return the list of changes between them — release notes from github_releases plus any forum/GitHub reports near the release window. Canton-specific. Use when a developer is planning an upgrade and asks "what breaks moving from X to Y?". Pass version strings as they appear in github_releases tags (with or without the leading "v").

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoOptional repo hint: "canton", "splice" (alias for decentralized-canton-sync), "daml", or a full owner/name. Auto-inferred from version shape when omitted.
to_sdkYesTarget version, e.g. "0.6.10" or "v3.5.6".
from_sdkYesOrigin version, e.g. "0.5.0" or "v3.4.0".
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that results include release notes and forum/GitHub reports, and notes that version strings should match github_releases tags. No contradictions.

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?

Four concise sentences, each adding value. Purpose is front-loaded, usage guidance and parameter tips follow logically. No wasted words.

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

Completeness4/5

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

For a tool with no output schema and 3 params, the description explains sources and version format. Could improve by describing return structure, but sufficient for typical use.

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?

Schema coverage is 100%, but description adds value by clarifying version string format and explaining the optional repo parameter's auto-inference behavior.

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 it compares two Canton/Daml/Splice SDK versions and returns changes, making it specific and distinct from siblings like get_sdk_changelog or list_deprecations.

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

Usage Guidelines4/5

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

Explicitly says 'Use when a developer is planning an upgrade and asks "what breaks moving from X to Y?"' and notes it is Canton-specific. Does not explicitly exclude alternatives but provides clear context.

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

get_cipInspect

Fetch the full markdown body of a single Canton Improvement Proposal (CIP) by its ID (e.g. "CIP-0042", "0042", "PR-0117"). Use when you already know which CIP and need its complete text — title, status, author, and full content. For browsing or filtering multiple CIPs use list_cips; for status timeline use get_cip_history. Canton/Daml/Splice ecosystem only — not Cardano or other 'CIP' schemes.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCIP ID: "0001", "CIP-0042", or "PR-0117"
get_cip_attachmentsAInspect

List file/PDF attachments linked to a single Canton Improvement Proposal (CIP) — supporting docs and signed-vote-record PDFs, with filenames and URLs. Use to find downloadable artifacts for a CIP. For the parsed who-voted-how breakdown use get_cip_votes; for the proposal text use get_cip. Canton ecosystem only — not Cardano or other 'CIP' schemes.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCIP ID: "0001", "CIP-0042"
Behavior4/5

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

With no annotations, the description adequately discloses what the tool returns (filenames and URLs) and scope (single CIP). It could mention error handling or limitations, but the core behavior is clear.

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?

Two sentences, front-loaded with the main action and followed by usage guidance. Every word contributes, no fluff.

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?

For a simple list tool with one parameter and no output schema, the description covers purpose, content type, ecosystem restriction, and sibling distinctions. No missing critical information.

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

Parameters3/5

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

Schema coverage is 100% with a descriptive id parameter. The description reinforces that id is a CIP ID but adds no new semantics beyond the schema, matching the baseline.

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 it lists file/PDF attachments linked to a single CIP, specifying the types of attachments and distinguishing from related tools like get_cip_votes and get_cip.

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?

Explicitly says when to use (to find downloadable artifacts) and when not to use (provide alternatives for parsed votes and proposal text), also restricts to Canton ecosystem.

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

get_cip_citationsAInspect

Comprehensive citation graph for a Canton Improvement Proposal (CIP) — every place across CCPEDIA's corpus that references CIP-N. Returns per-source counts AND samples for: sibling CIPs (declared requires: or content-mentions), individual forum posts (not just topic count), individual mailing-list messages (cip-vote / cip-discuss / grants-discuss / validator-announce), GitHub items (issues + PRs + dev-fund proposals across all indexed Canton repos), blog posts (third-party coverage), and YouTube videos (transcript matches). CCPEDIA-unique: joins through our parsed mailing_messages.cip_id column give per-message granularity no other source has. Use when an agent needs 'who is referencing CIP-X and where' / impact analysis. For the proposal's own text use get_cip, for its votes use get_cip_votes, for the legacy aggregated counts use get_cip_mentions. Canton/Daml/Splice ecosystem only.

ParametersJSON Schema
NameRequiredDescriptionDefault
cip_idYesCIP id, e.g. "CIP-0056", "0056", "PR-0117". Padded or unpadded both accepted.
Behavior4/5

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

No annotations provided, so description carries full burden. It describes granularity (per-message, per-source counts and samples) and unique features (CCPEDIA-unique joining). Misses error handling or limitations, but overall good transparency for a read-only tool.

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

Conciseness4/5

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

Description is somewhat long (5 sentences) but each sentence adds value, front-loading main purpose. Could be slightly more concise but not wasteful.

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

Completeness4/5

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

Given the complexity (citations across multiple sources), description is quite complete, listing all source types and what is returned. Lacks error/pagination details, but no output schema exists to fill gaps.

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

Parameters3/5

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

Single parameter cip_id with 100% schema coverage. Schema already provides examples and accepted formats. Tool description adds no further parameter semantics beyond the schema, earning baseline 3.

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 it returns a comprehensive citation graph for a CIP, listing specific source types (sibling CIPs, forum posts, mailing list messages, GitHub items, blog posts, YouTube videos) and distinguishing from siblings like get_cip, get_cip_votes, and get_cip_mentions.

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?

Explicitly states when to use ('who is referencing CIP-X and where' / impact analysis) and provides clear alternatives (get_cip for own text, get_cip_votes for votes, get_cip_mentions for legacy counts) plus ecosystem scope (Canton/Daml/Splice only).

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

get_cip_historyInspect

Get the status-transition timeline of a single Canton Improvement Proposal (CIP) — each dated from->to change (e.g. Draft->Review->Final). Use for 'how/when did CIP-X move through governance' questions. Returns history only, not the proposal body (get_cip) or vote tallies (get_cip_votes). Canton ecosystem only — not Cardano or other 'CIP' schemes.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCIP ID: "0001", "CIP-0042", or "PR-0117"
get_cip_implementation_statusAInspect

For one CIP, report whether code/grants are tracking the proposal: linked dev-fund PRs, related ecosystem projects, status transitions. Canton governance. Use after find_cip_for_feature to gauge readiness.

ParametersJSON Schema
NameRequiredDescriptionDefault
cip_numberYesCIP id, e.g. "0112", "CIP-0112".
Behavior3/5

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

No annotations provided; description discloses that the tool reports on linked dev-fund PRs, ecosystem projects, and status transitions under 'Canton governance.' Lacks details on authorization or data freshness but is adequate for a read-only reporting tool.

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

Conciseness4/5

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

Two sentences, front-loaded with the core purpose. Each sentence adds necessary context; no fluff. Could be slightly more structured, but efficient overall.

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?

Despite no output schema, the description explains the output nature (linked PRs, ecosystem projects, status transitions) and provides usage context (Canton governance, after find_cip_for_feature). Complete for a single-parameter tool.

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

Parameters3/5

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

Schema coverage is 100% with 1 parameter (cip_number) fully described in the schema. Description adds no new parameter semantics beyond the schema, so baseline score of 3 is appropriate.

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?

Description clearly states the tool reports implementation status for a CIP, including code/grants tracking, linked PRs, ecosystem projects, and status transitions. It distinguishes its role from sibling tools by specifying usage after find_cip_for_feature.

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

Usage Guidelines4/5

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

Explicitly advises 'Use after find_cip_for_feature to gauge readiness,' providing clear context for when to invoke this tool. Does not mention when not to use, but the guidance is sufficient.

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

get_cip_mentionsInspect

Find every place that references a given Canton Improvement Proposal (CIP) — forum threads, mailing-list posts, blog articles, Dev Fund grant proposals, and sibling CIPs that require/cite it. A reverse-reference (backlink) lookup: use for 'who is discussing CIP-X and where' / impact questions. Not for the proposal's own text (get_cip) or its vote records (get_cip_votes). Canton ecosystem only — not Cardano or other 'CIP' schemes.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCIP ID: "0001", "CIP-0042", or "PR-0117"
get_cip_vote_outcomeAInspect

Find out whether a Canton Improvement Proposal (CIP) was actually acted on ON CHAIN, and how. Returns every DSO governance vote request whose text cites this CIP, with outcomes and dates. This answers 'was it decided', which the mailing-list tools cannot: get_cip_votes reads the discussion on the cip-vote list, this reads the ledger. Example: CIP-0116 (Featured App Locking) is cited in dozens of requests that paused apps for non-compliance. Canton ecosystem only, not Cardano or other CIP schemes.

ParametersJSON Schema
NameRequiredDescriptionDefault
cip_idYesCIP id, e.g. "CIP-0116", "116", "0116".
Behavior3/5

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

No annotations provided. The description implies read-only by mentioning 'reads the ledger', but does not explicitly state no side effects, permissions, or other behavioral traits. Adequate but not fully transparent.

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

Conciseness4/5

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

Concise paragraph with clear front-loading of purpose, context, and example. No redundancy, but slightly verbose with the example sentence that could be shortened.

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 no output schema and one parameter, the description covers purpose, usage, alternative, example, and scope boundary. No significant gaps for a lookup tool.

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?

Schema coverage is 100% (one param), but the description adds format examples ('CIP-0116', '116', '0116') that enhance usability beyond the schema's generic description.

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 uses specific verbs ('find out', 'returns') and clearly identifies the resource ('CIP on-chain action'). It distinguishes from the sibling tool 'get_cip_votes' by contrasting ledger vs mailing-list.

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?

Explicitly states when to use ('was it decided') and provides an alternative ('get_cip_votes reads the discussion'). Also notes ecosystem scope exclusion ('Canton ecosystem only, not Cardano').

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

get_cip_votesInspect

Get the formal vote tally (in-favor / against / abstain, one entry per recorded vote) for a specific Canton Improvement Proposal (CIP), sourced from the Canton cip-vote mailing list. Use for 'who voted how' / approval-trail verification on Governance-type CIPs. Not the attachment PDFs (get_cip_attachments) or status timeline (get_cip_history). Canton ecosystem only — not Cardano or other 'CIP' schemes.

ParametersJSON Schema
NameRequiredDescriptionDefault
cip_idYesCIP id, e.g. "0117", "0118", or "CIP-0117". Numeric form preferred.
get_current_versionsInspect

Get the freshest Canton SDK, Splice, Daml, and DPM versions, plus per-network Splice deployment status (DevNet / TestNet / MainNet) and any upcoming synchronizer-upgrade windows. Derived live on every call from two CCPEDIA-only joins: github_releases (latest stable tag per repo) + mailing_messages (validator-announce list). This is fresher than the Foundation Build-on-Canton KB snapshot, which can lag by weeks. Use this when a user asks "what version should I target?", "is Splice X.Y.Z still current?", "what is on MainNet?" — anything time-sensitive about Canton/Splice/Daml/DPM versioning.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

get_discussionInspect

Get a single thread from the official Canton Network community forum (Discourse at forum-style discussions on ccpedia.xyz) by numeric topic id: title, category, view/post counts, and the first ~15 posts. Canton-only, served from CCPEDIA's cached forum index. This is the WEB FORUM — for GitHub Discussions use get_github_discussion, for sync.global mailing-list threads use get_mailing_thread. Get the id from search results or trending.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesForum topic ID
get_docAInspect

Fetch the FULL text of one indexed Canton-ecosystem documentation page (Canton/Daml/Splice and integrated partner docs) by its numeric id. Canton-specific. Use this AFTER search or semantic_search returns a doc id, to read complete commands, flags, and full sections a search snippet truncates. Requires an id — not a discovery tool; use search/semantic_search first.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDoc page ID (from search/semantic_search results)
Behavior3/5

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 implies a read operation but does not explicitly state safety, auth needs, or side effects. For a simple fetch, it is adequate but not rich.

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?

Two sentences with no wasted words. First sentence defines purpose and scope, second provides usage guidelines. Efficiently front-loaded.

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 one simple parameter, no output schema, and no nested objects, the description covers the tool's purpose, usage context, and parameter source completely.

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?

Schema coverage is 100% with a basic description. The description adds context by reinforcing that the id comes from search results and that this is not a discovery tool, going beyond the schema.

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 fetches the full text of a Canton-ecosystem documentation page by numeric id, using specific verbs and resource. It distinguishes from sibling search tools by explicitly noting it is not a discovery 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?

The description explicitly advises using this tool AFTER search or semantic_search, and warns it requires an id and is not for discovery, providing clear when-to-use and when-not-to-use guidance.

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

get_ecosystem_gapsAInspect

Surface ecosystem gaps: high-view forum threads with zero replies (unanswered demand), recent unanswered mailing threads, and Dev Fund categories with few accepted proposals. Canton-specific. Use to find "where the ecosystem needs help".

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows per gap type (default 5).
Behavior3/5

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

No annotations are present, so the description must fully disclose behavior. It describes what is surfaced (high-view forum threads with zero replies, recent unanswered mailing threads, etc.) but does not specify data freshness, ordering, or scope details. Adequate for a read-only tool but could be more explicit.

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 two sentences, front-loaded with the action, and every word adds value. There is no redundancy or extraneous information.

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

Completeness4/5

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

Given the tool has only one optional parameter and no output schema, the description sufficiently explains what gaps are and how to use it. Minor omissions (e.g., return format) are forgivable given the simplicity.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter 'limit', with a description in the schema. The description adds no additional meaning beyond the schema's documentation, so baseline 3 is appropriate.

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 uses a specific verb 'surface' and resource 'ecosystem gaps', clearly listing the types of gaps (forum threads, mailing threads, Dev Fund categories) and noting canton specificity. This distinguishes it from sibling tools, which are mostly specific lookups or searches.

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

Usage Guidelines4/5

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

The description provides clear context with 'Use to find where the ecosystem needs help,' implying a discovery use case. It does not explicitly state when not to use it, but the purpose is clear enough to guide appropriate selection among many siblings.

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

get_faqAInspect

Look up answers in the Canton Network developer FAQ (Canton Foundation curated, hackathon-tested): Canton/Daml installation, party creation, Daml contracts, Ledger/Scan APIs, testnet deployment, Canton Coin/token standard, common gotchas. Returns top 3 matches. Canton-specific — do NOT use for other blockchains or general/non-Canton questions. For a full onboarding path use get_started_guide; for API endpoint details use get_api_reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesDeveloper's question, e.g. "how do I install", "create party", "deploy to testnet".
Behavior4/5

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

Discloses that it returns top 3 matches, adding behavioral context beyond a generic lookup. No contradictions with annotations (none provided). Could mention read-only nature, but adequate for a FAQ tool.

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?

Single paragraph packs purpose, scope, return count, exclusions, and sibling references. Every sentence adds value; no 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?

For a simple lookup tool with good schema coverage and no output schema, the description covers purpose, usage boundaries, behavior, and alternatives. No missing elements.

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?

Schema coverage is 100% with a description for the 'question' parameter. The description adds examples (e.g., 'how do I install', 'create party', 'deploy to testnet'), providing additional clarity beyond the schema.

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?

Description clearly states it looks up answers in the Canton Network developer FAQ, listing specific topics (installation, party creation, Daml contracts, etc.) and distinguishes it from sibling tools like get_started_guide and get_api_reference.

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?

Explicitly says 'Canton-specific — do NOT use for other blockchains or general/non-Canton questions' and provides clear alternatives: 'use get_started_guide' for onboarding, 'use get_api_reference' for API details.

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

get_foundation_infoAInspect

Retrieve official Canton Foundation pages (canton.foundation): team and board bios, working groups, membership process, grants program. Free-text topic search over CCPEDIA's index of the canton.foundation site, returning matched-page snippets (not the curated knowledge base). Canton-only. Use when a user asks about Foundation people, governance structure, or member/grant processes.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
topicYesFree-text topic, e.g. "team", "executive director", "working groups", "membership", "grants", "board".
Behavior3/5

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

No annotations exist, so the description must disclose behavior. It states it performs a free-text topic search returning matched-page snippets, and is read-only. However, it does not detail the return format (e.g., fields like title, URL, snippet), nor mention rate limits or authentication needs. For a simple retrieval tool, this is adequate but not comprehensive.

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 three sentences, front-loaded with the primary action ('Retrieve official Canton Foundation pages'). Every sentence adds distinct value: scope, content types, search mechanism, and use case. No unnecessary words or repetition.

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

Completeness4/5

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

Given no output schema, the description indicates it returns snippets but does not specify their structure (e.g., title, URL, excerpt). It clearly differentiates from many sibling search tools by specifying 'Canton-only' and 'not the curated knowledge base'. The two parameters are simple, and the description sufficiently covers the core functionality. Minor gap in output detail prevents a 5.

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

Parameters3/5

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

Schema coverage is 50% (topic described, limit not). The description adds value by listing example topics for the 'topic' parameter and clarifying it's free-text. However, it does not explain the 'limit' parameter's meaning, constraints (min=1, max=10, default=3), or relationship to pagination. It partially compensates for the missing schema description.

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 retrieves official Canton Foundation pages, lists specific content types (team and board bios, working groups, etc.), and distinguishes it from the curated knowledge base. It includes a specific use case trigger and the scope 'Canton-only'.

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

Usage Guidelines4/5

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

The description explicitly says 'Use when a user asks about Foundation people, governance structure, or member/grant processes.' It also states 'Canton-only' and 'not the curated knowledge base', implying when not to use. However, it does not explicitly name alternative tools for non-Foundation queries.

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

get_funding_landscapeAInspect

Overview of the Canton Dev Fund: counts of proposals by state and label, top categories, and recent activity. Canton-specific. Use to gauge whether a category is over- or under-funded before proposing.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoOptional label filter, e.g. "daml-tooling", "node-deployment-operations".
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as permissions, mutability, rate limits, or whether data is static or real-time. Only states it gives an 'overview.'

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?

Two sentences that front-load the purpose and follow with usage guidance. No redundant information.

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

Completeness4/5

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

Adequate for a simple tool with one optional parameter and no output schema. Lacks explicit mention of return format, but the purpose is clear enough for an agent to infer.

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

Parameters3/5

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

Schema description coverage is 100% for the single optional parameter, and the description adds example values ('daml-tooling'), adding minor value beyond schema.

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?

Clearly states the tool provides an overview of the Canton Dev Fund with counts by state/label, top categories, and recent activity, distinguishing it from sibling tools that focus on individual proposals or other aspects.

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

Usage Guidelines4/5

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

Explicitly states when to use: 'Use to gauge whether a category is over- or under-funded before proposing.' Notes it's 'Canton-specific,' but does not specify when not to use or list alternative tools.

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

get_github_discussionAInspect

Get the full body and comments of a single GitHub Discussion from a Canton Network repo (e.g. canton-foundation/docs), by its GitHub GraphQL node id (from list_github_discussions). CANTON-ONLY, read from CCPEDIA's cache — not the live GitHub API. This is GitHub Discussions, distinct from the Canton web forum (get_discussion) and mailing lists (get_mailing_thread).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesGitHub GraphQL node ID, e.g. "D_kwDOMNgu5s4AY..."
Behavior4/5

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

With no annotations, the description covers the read-only nature, cached source, and scope ('CANTON-ONLY'), providing sufficient behavioral context.

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?

Two sentences, no wasted words, front-loaded with the core action, and immediately provides distinguishing context.

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?

For a simple get tool with one parameter and no output schema, the description fully covers the return type, data source, and usage context.

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?

Schema coverage is 100%, and the description adds value by stating the id comes from list_github_discussions, though it mostly restates schema info.

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 action ('Get the full body and comments'), the resource ('a single GitHub Discussion from a Canton Network repo'), and distinguishes from sibling tools like get_discussion and get_mailing_thread.

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

Usage Guidelines4/5

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

It explicitly differentiates from related tools and indicates the id comes from list_github_discussions, but lacks explicit 'when not to use' guidance.

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

get_governance_voteInspect

Get the full detail of one Canton on-chain DSO governance vote request: the proposed action, the requester's stated reason, every Super Validator's individual vote with their own written reason, who abstained, the outcome and the date it took effect. Use after list_governance_votes when a specific decision matters. Canton ecosystem only.

ParametersJSON Schema
NameRequiredDescriptionDefault
tracking_cidYesThe vote request tracking contract id, or a unique prefix of it, as returned by list_governance_votes.
get_issue_statusAInspect

Look up one GitHub issue or PR by repo + number. Canton/Daml/Splice repos only.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesRepo, e.g. "canton-foundation/canton-dev-fund" or shorthand "canton-dev-fund".
numberYesIssue or PR number.
Behavior3/5

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

No annotations are provided, so the description must carry the burden. It clarifies the tool is read-only ('Look up') and scoped to specific repos, but does not disclose return format, error behavior, or any authentication requirements.

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 a single front-loaded sentence with no wasted words. Every part earns its place.

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

Completeness3/5

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

The tool has no output schema, and the description does not explain the return format or fields. While the tool name implies 'status', additional context on what is returned would improve completeness. Given the low complexity, it is adequate but not thorough.

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?

Schema coverage is 100% (both parameters described). The description adds value by providing an example ('canton-foundation/canton-dev-fund' and shorthand form) beyond the schema's basic descriptions, aiding agent interpretation.

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 uses a specific verb ('Look up') and resource ('one GitHub issue or PR') with required parameters (repo + number). It distinguishes from sibling tools like 'search_github_issues' by specifying a single lookup and restricting to Canton/Daml/Splice repos.

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

Usage Guidelines3/5

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

The description implies usage when you have an exact repo and number but provides no explicit guidance on when to use alternatives such as 'search_github_issues' or 'get_known_issues'. No exclusions or when-not-to-use context.

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

get_kb_driftAInspect

Report where the Foundation Build-on-Canton KB snapshot (which CCPEDIA syncs daily from github.com/canton-network-devs/Build-on-Canton-MCP) diverges from CCPEDIA's live signals (github_releases, mailing_messages). Returns each drifted (category, key) with the KB value, the live value derived right now, the drift age in days, and severity (info | warn | stale). Use this when a user or another agent quotes a Canton SDK / Splice / DPM / Daml version from foundation_kb and you need to confirm whether it is still current. CCPEDIA-specific transparency layer — no other Canton MCP server exposes this kind of cross-source quality audit. Canton/Daml/Splice ecosystem only.

ParametersJSON Schema
NameRequiredDescriptionDefault
refreshNoIf true, re-run the validator before returning the report. Default false uses the most recent stored findings.
Behavior5/5

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

With no annotations provided, the description fully explains the tool's behavior. It details what it returns (category, key, KB value, live value, drift age, severity) and the effect of the 'refresh' parameter. It is transparent about re-running the validator vs using stored findings.

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

Conciseness4/5

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

The description is a single paragraph that starts with the core purpose. While somewhat long, every sentence contributes useful information. It is well-structured and front-loaded.

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

Completeness4/5

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

Given there is no output schema, the description compensates by listing return fields. It covers purpose, usage, inputs, and output. For a complex tool, it is complete enough.

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 schema covers the only parameter 'refresh' with 100% coverage, but the description adds value by explaining its effect: re-running the validator vs using stored findings. This goes beyond the schema's description.

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 function: reporting divergence between a KB snapshot and live signals. It uses specific verbs like 'Report' and 'Returns', and distinguishes itself from siblings by noting it's a unique cross-source quality audit for CCPEDIA.

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

Usage Guidelines4/5

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

The description provides clear usage context: use when quoting a version from foundation_kb and needing to confirm it's current. It specifies the ecosystem scope. It doesn't explicitly list alternatives, but the context implies this tool is the go-to for drift detection.

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

get_latest_releaseAInspect

Get the latest release for one Canton/Daml/Splice/DPM package. Canton-specific. For multi-package overview use get_current_versions instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
packageYesRepo or package name: "canton", "daml", "dpm", "splice", or a full owner/repo.
Behavior3/5

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

No annotations provided, so description carries full burden. It only mentions 'Canton-specific' but does not disclose side effects, permissions, rate limits, or return format. Adequate for a simple read operation but lacks behavioral depth.

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?

Two sentences, front-loaded with key action and resource, no wasted words.

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?

For a simple one-parameter, no-output-schema tool, the description adequately covers purpose, usage, and alternative. No missing context.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for the single parameter. The description adds 'Canton-specific' context but does not elaborate beyond what the schema provides. Baseline score of 3 is appropriate.

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?

Description clearly states the verb 'Get', resource 'latest release', and scope 'for one package'. It distinguishes from sibling 'get_current_versions' by noting it is for a single package, while the sibling is for multi-package overview.

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?

Explicitly says 'Canton-specific' and advises to use 'get_current_versions' for multi-package overview, providing clear when-to-use and when-not-to-use guidance.

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

get_mailing_threadAInspect

Get every message (oldest first) in a specific Canton Network governance mailing-list thread on lists.sync.global (cip-discuss, cip-vote, grants-discuss, etc.). Canton-only. Pass the thread id from list_mailing_threads. This is the email/mailing-list channel — not the web forum (get_discussion) or GitHub Discussions.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThread id, e.g. "cip-discuss-12345".
Behavior3/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It reveals that messages are returned oldest first and that the tool is Canton-only. However, it omits details such as pagination behavior, authentication requirements, rate limits, or whether all messages are returned at once. Including ordering is good, but more transparency would be beneficial.

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 extremely concise, consisting of two sentences that front-load the primary purpose. Every sentence adds unique value: the first explains what the tool does, the second adds contextual constraints and sibling differentiation. No wasted words.

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

Completeness4/5

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

Given the tool has only one parameter, no output schema, and no annotations, the description covers the essential aspects: the source of the thread id, ordering, network scope, and channel distinction. It lacks mention of potential pagination or message count limits, but overall it is comprehensive enough for an AI agent to use correctly.

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 schema covers the single 'id' parameter with an example value. The description adds context by specifying that the id comes from list_mailing_threads, which is valuable guidance beyond the schema. Since schema coverage is 100%, the baseline is 3, and the description provides clear, actionable extra information, warranting a 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 retrieves all messages in a specific Canton Network governance mailing-list thread, ordered oldest first. It names the specific mailing lists (cip-discuss, cip-vote, grants-discuss) and distinguishes itself from the web forum (get_discussion) and GitHub Discussions, making its purpose unambiguous and distinct from siblings.

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?

The description explicitly instructs to pass the thread id from list_mailing_threads, providing clear when-to-use guidance. It also explicitly states what this tool is not (web forum or GitHub Discussions), offering effective when-not-to-use guidance and alternative tool names.

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

get_network_stateInspect

Get the latest Canton Network ON-CHAIN state snapshot from the public Scan API (api.cantonnodes.com): Super Validator list & count, voting threshold, sequencer count, latest mining round, featured-apps count, and cumulative app/validator rewards in CC. Canton-only, cached snapshot (captured_at). This is live network telemetry — NOT CCPEDIA content counts (get_network_stats) and NOT price/TVL (get_token_market).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

get_network_statsInspect

Get CCPEDIA's CONTENT-CATALOG metrics: how many Canton items CCPEDIA has indexed — counts of CIPs (total/in-review/final), forum topics & posts, GitHub issues/PRs, dev-fund proposals, docs pages, videos, blog posts, mailing threads, and radar items. This is CCPEDIA coverage/inventory, NOT live Canton on-chain stats — for on-chain validators/rounds use get_network_state, for price/TVL use get_token_market.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

get_npm_packagesBInspect

List the indexed Canton/Daml npm packages (sdk_versions registry=npm) optionally filtered by name. Canton-specific.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax packages (default 25).
queryNoOptional substring filter on package name.
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. 'List' suggests read-only, but there is no mention of return format, pagination, authentication, or error conditions. The description is inadequate for a tool without annotations.

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 extremely concise (two sentences) and front-loaded with the main purpose. Every word adds value with no redundancy.

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

Completeness3/5

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

For a simple list tool with two parameters and no output schema, the description covers the essentials but lacks details on expected return values or potential errors. It is minimally complete.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents both parameters. The description adds minimal value by noting the 'query' filter, but no additional semantics beyond the schema descriptions.

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

Purpose4/5

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

The description clearly states it lists indexed Canton/Daml npm packages, with optional name filtering. It specifies 'Canton-specific', differentiating from general package tools. However, the phrase 'sdk_versions registry=npm' is somewhat cryptic.

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

Usage Guidelines3/5

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

The description implies Canton context but does not explicitly state when to use or avoid this tool. Among siblings, 'list_canton_mcps' might be a related alternative, but no guidance is given on choosing between them.

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

get_proposal_milestonesAInspect

For one Canton Dev Fund proposal PR, list any related milestone tracking issues (issues whose body or title references the PR number). Canton-specific.

ParametersJSON Schema
NameRequiredDescriptionDefault
pr_numberYesPR number in canton-foundation/canton-dev-fund.
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose whether the operation is read-only, what happens with invalid PR numbers, or any authentication requirements. For a list operation, this is a notable gap.

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 two sentences, immediately stating the tool's purpose and then clarifying the relationship criteria. Every word is necessary; no redundancy or filler.

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

Completeness4/5

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

Given the tool has one parameter and no output schema, the description adequately explains the tool's action and scope. It could specify the output format (e.g., list of issue IDs or URLs) but is generally complete for a straightforward listing tool.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter pr_number, with the schema already describing it as 'PR number in canton-foundation/canton-dev-fund'. The description adds no additional semantic meaning beyond the schema, so baseline score of 3 is appropriate.

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 lists milestone tracking issues related to a given Canton Dev Fund proposal PR number, specifying that issues are identified by referencing the PR number in body or title. This verb+resource+scope is specific and distinguishes it from sibling tools like search_github_issues or get_discussion.

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

Usage Guidelines4/5

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

The description explicitly says 'For one Canton Dev Fund proposal PR', indicating when to use. It doesn't provide when-not-to-use or alternatives, but the context is clear enough for the intended use case.

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

get_proposalsInspect

List Canton Network Dev Fund grant proposals — community funding requests tracked on GitHub — filterable by state (open/closed/all). Use for 'what grants/funding requests exist' questions. NOT the same as Canton Improvement Proposals (CIPs): those are governance specs (use list_cips / get_cip). Returns number, title, state, author, and board status. Canton ecosystem only.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
stateNoopen
get_radarAInspect

Get the Canton Network Radar — CCPEDIA's curated feed of time-sensitive ecosystem alerts: breaking changes, upgrade deadlines, protocol migrations and required validator actions, each with deadline, affected components and source link. Filter by level (critical/important/ecosystem/all). Canton-only. Use when a user asks what's changing, what's about to break, or what deadlines are approaching on Canton.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNoall
Behavior4/5

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

Since no annotations are provided, the description carries the full burden. It discloses that the tool returns a curated feed with deadlines, affected components, and source links. It also mentions filtering by level. While it doesn't explicitly state read-only behavior or data freshness, it is transparent enough about the content and functionality for a non-destructive tool.

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 at three sentences. The first sentence defines the tool's purpose and content, the second adds parameter detail, and the third gives usage context. No extraneous information; every sentence serves a clear purpose.

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 the tool's simplicity (one parameter, no output schema), the description is complete. It covers the purpose, the parameter, and the usage scenario. The sibling list is large, but the description adequately positions the tool within that context.

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

Parameters5/5

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

The input schema has one parameter 'level' with zero description coverage. The description fully compensates by explaining: 'Filter by level (critical/important/ecosystem/all).' This adds semantic meaning that maps directly to the enum values and default. Without the description, the parameter's purpose would be unclear.

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: 'Get the Canton Network Radar — CCPEDIA's curated feed of time-sensitive ecosystem alerts.' It specifies the content (breaking changes, upgrade deadlines, etc.) and distinguishes from siblings by noting 'Canton-only' and filtering by level. This provides a specific verb-resource combination that differentiates it from related tools like get_breaking_changes or get_upcoming_deadlines.

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

Usage Guidelines4/5

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

The description explicitly advises when to use: 'Use when a user asks what's changing, what's about to break, or what deadlines are approaching on Canton.' It also notes the scope ('Canton-only'). Although it doesn't explicitly state when not to use or list alternative sibling tools, the use-case guidance is clear and sufficiently distinguishes the tool's purpose.

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

get_recent_changesInspect

Get a chronological (newest-first) feed of recent Canton Network activity: CIP status changes, new grant proposals, new forum threads, blog posts, GitHub releases, and radar items, merged into one time-ordered stream (default last 7 days). Canton-specific — not a git/repo changelog. Use for 'what changed/happened on Canton recently'; use get_trending instead for popularity-ranked 'what's hot'.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
limitNo
get_recent_deploymentsAInspect

Recent completed SV deployments/releases from sv_operations_calendar (operation_type in deploy|release|upgrade), cross-referenced with github_releases when the title names a SemVer-looking tag. Canton-specific. Use to answer "what shipped on MainNet recently?".

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows (default 10).
Behavior4/5

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

No annotations; description compensates by detailing data sources, operation types, and cross-referencing condition. Does not mention authorization or rate limits, but for a read-only tool, coverage 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.

Conciseness5/5

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

The description is a single, information-dense sentence with no superfluous content. Key elements are front-loaded.

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

Completeness4/5

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

Given the single parameter and no output schema, the description explains the source, filtering, and cross-referencing. It could specify the return format but is largely complete for the tool's scope.

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

Parameters3/5

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

Schema coverage is 100% with parameter description for 'limit'. The description adds no additional parameter semantics beyond the schema, meriting baseline score of 3.

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 states it retrieves recent completed SV deployments/releases from a specific data source, with cross-referencing logic. It clearly distinguishes from siblings like 'get_upcoming_operations' by specifying 'completed' and 'Canton-specific'.

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

Usage Guidelines4/5

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

The description explicitly provides a use case: 'what shipped on MainNet recently?' and indicates Canton-specificity, implying not for other networks. Lacks explicit exclusions or alternatives but context is clear.

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

get_recurring_issue_fingerprintInspect

Identify error patterns that recur across multiple Canton SDK or Splice release windows — structural bugs the ecosystem keeps hitting versus one-off regressions. Returns the top keywords/error codes mentioned in forum_posts that span at least 3 distinct months over the last 18 months. Canton/Daml/Splice ecosystem only. Useful for triage prioritisation and for choosing what to add to a runbook.

ParametersJSON Schema
NameRequiredDescriptionDefault
min_monthsNoA keyword must appear in this many distinct months to count as recurring (default 3).
window_monthsNoLook-back window in months (default 18).
get_sdk_changelogAInspect

Fetch the release-notes body for one SDK version across canton / daml / dpm / decentralized-canton-sync (Splice). Canton-specific. Returns the rendered release body with a link to the GitHub release.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoOptional repo hint: canton, daml, dpm, splice.
versionYesVersion tag, e.g. "3.5.6", "v3.5.6", "0.6.10".
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It states the return value (rendered body with a link) but lacks details on error handling, rate limits, or whether it requires authentication. Given no annotations, this is adequate but not comprehensive.

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 extremely concise with two sentences, front-loading the purpose and including scope and output. No extraneous information.

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

Completeness4/5

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

Given no output schema, the description explains the return value (rendered body with link) sufficiently. It covers the basic context for a simple fetch tool, though it could mention error responses or prerequisites.

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

Parameters3/5

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

Schema coverage is 100%, so the schema adequately describes parameters. The description adds context about the return value but does not enhance parameter understanding beyond what the schema provides, earning a baseline 3.

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 verb 'Fetch' and the resource 'release-notes body for one SDK version'. It specifies the repos (canton, daml, dpm, splice) and distinguishes from sibling tools that might search or list release notes.

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

Usage Guidelines4/5

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

The description indicates this tool is Canton-specific and for a single version, implying its use case. However, it does not explicitly state when not to use it or compare it to alternatives like search_release_notes.

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

get_started_guideInspect

Generate a personalized Canton Network developer onboarding/quickstart path. Use when a developer asks how to start building, build a dApp, or develop on Canton specifically. Canton-only — do not use for onboarding to other chains or tools. Ask the user's background first (EVM, Solana, Sui/Move, Web, Enterprise, or New to Blockchain). Prefer this over 'search' for 'how to build / get started on Canton'; use get_faq for a single specific gotcha and get_api_reference for API details.

ParametersJSON Schema
NameRequiredDescriptionDefault
backgroundYesDeveloper's primary background. Ask the user to select this before proceeding.
get_sv_scheduleAInspect

Show the Super Validator operations schedule from the Canton Foundation's sv-cal.canton.foundation feed: planned releases, deploys, upgrades, governance windows, freezes. Filter by environment. Canton-specific. Use when an operator asks "what is happening on MainNet next?" or "when is the next Splice cut?".

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows (default 20).
environmentNoRestrict to one environment. Omit for all.
upcoming_onlyNoIf true (default), only events with start_at >= today.
Behavior3/5

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 states the tool displays scheduled events and allows filtering by environment, but lacks details on pagination, default row count, or whether it's read-only. The behavior is adequately described for a simple 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.

Conciseness5/5

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

Two sentences: first concisely lists the content, second provides usage context. No extraneous words; every sentence adds value.

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

Completeness4/5

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

The description explains the data source (Canton Foundation feed), the types of events, and typical queries. For a tool with three well-documented parameters and no output schema, the description is sufficiently complete. It could mention the default limit or return format, but not required.

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

Parameters3/5

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

Schema coverage is 100% with each parameter described. The description restates the filtering capability by environment but adds little beyond the schema. Baseline of 3 is appropriate as the description does not significantly enhance parameter understanding.

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?

Description clearly states the tool shows Super Validator operations schedule (releases, deploys, upgrades, governance windows, freezes) and supports filtering by environment. It distinguishes from sibling tools by being Canton-specific and provides explicit use cases, e.g., 'what is happening on MainNet next?'.

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

Usage Guidelines4/5

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

Description provides explicit when-to-use guidance with example queries ('what is happening on MainNet next?', 'when is the next Splice cut?'). While it doesn't mention when not to use or alternative tools, the context makes its application clear.

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

get_token_marketInspect

Get the latest cached market snapshot for CANTON COIN (CC) ONLY: USD price, 24h change, market cap, 24h volume, total Canton DeFi TVL, and per-protocol TVL on Canton. Canton-specific — cannot price BTC, ETH or any other asset (use a general crypto-price MCP like CoinGecko for those). Snapshot from CCPEDIA's sync (captured_at timestamp), not a live exchange feed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

get_upcoming_deadlinesInspect

Canton operational deadlines coming up: scheduled upgrades, minimum-version raises, topology freezes and Logical Synchronizer Upgrades, per network. Use for "what do I have to do in the next N days" on DevNet, TestNet or MainNet. Events whose network could not be attributed are excluded rather than guessed, because a wrong deadline is worse than a missing one. A subscribable calendar of the same data is at https://ccpedia.xyz/calendar. For a verdict on your specific version use get_upgrade_status; for the full historical schedule use get_sv_schedule. Canton ecosystem only.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoHow far ahead to look, in days. Default 30.
environmentNo"MainNet", "TestNet" or "DevNet". Omit for all networks.
validator_onlyNoOnly events that require a validator operator to act.
get_upcoming_operationsInspect

Convenience wrapper: SV operations in the next N days, all environments, all operation types. Canton-specific. Quick "what should I be ready for this week?" answer for validator/SV ops.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysYesDays ahead to look (1-180).
get_upgrade_statusAInspect

Upgrade Copilot for a Canton validator: given the Splice version a node runs and its network, report whether it is below the minimum in force, how many releases behind, the next topology freeze and LSU (with UTC time), the minimum .dar package versions, and the breaking changes between the running version and the target. Canton-specific. Use when an operator asks "am I safe to skip this week?", "what breaks if I upgrade?", or "when is my next deadline?".

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNoSplice version the node currently runs, e.g. "0.6.9". Omit to get the schedule without a verdict.
environmentYesWhich network the node runs on.
Behavior4/5

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

No annotations exist, so the description carries full burden. It clearly indicates a read-only operation ('report...') and details the outputs. However, it does not explicitly state that no side effects or authentication are required, which would be ideal. Still, the description's informative nature provides sufficient transparency for safe invocation.

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 extremely concise (two sentences) yet comprehensive. The first sentence lists all key outputs and inputs, while the second provides clear usage guidance. No unnecessary words; every sentence is essential. It is front-loaded with the purpose and well-structured.

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 the tool's complexity (multiple outputs, conditional behavior with optional version) and the absence of an output schema, the description fully explains what the tool returns: minimum version check, releases behind, deadlines with UTC time, .dar versions, and breaking changes. It is complete enough for an agent to understand the tool's full functionality.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the semantics of omitting version ('get the schedule without a verdict') and emphasizing the node's current version as input. This goes beyond the schema's brief descriptions, justifying a higher score.

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 explicitly states the tool's purpose: 'Upgrade Copilot for a Canton validator' and lists exact outputs (minimum in force, releases behind, deadlines, breaking changes). It includes specific input parameters (Splice version and network) and domain context ('Canton-specific'), clearly differentiating it from sibling tools like get_breaking_changes or get_upcoming_deadlines.

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?

The description gives concrete use cases: 'Use when an operator asks "am I safe to skip this week?", "what breaks if I upgrade?", or "when is my next deadline?"' This explicitly guides when to invoke the tool, making it easy for an agent to select it. The domain restriction ('Canton-specific') further clarifies applicability.

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

get_validator_fleetInspect

Canton validator fleet: how many DSO-approved validator nodes there are and what Splice version each reports running, as a distribution. Answers the positional question an operator has that a minimum-version check cannot: am I early, typical, or dangerously late. Pass your own version to get your place in that distribution. CCPEDIA-unique: no other public source publishes this. IMPORTANT: versions here are self-reported by each operator in its license metadata, not observed, and many reports are months stale; the tool returns how many are fresh so you can qualify the answer. For the rule itself (are you above the required minimum) use get_upgrade_status. Canton ecosystem only.

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNoYour Splice version, e.g. "0.6.9", to locate it in the distribution.
get_videoInspect

Get a Canton Network video that CCPEDIA has cached (curated channels: Canton Network, Digital Asset, Sync Insights, Canton Foundation, Daml) by its YouTube id: title, channel, publish date, description and full transcript text if stored. CANTON-ONLY and limited to videos already in CCPEDIA's index — does NOT fetch arbitrary YouTube videos (use a dedicated YouTube tool for that). Obtain ids from list_videos or search.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesYouTube video id, e.g. "dQw4w9WgXcQ"
get_whitepaperInspect

Get the full extracted text of a specific Canton Network whitepaper by slug (e.g. 'canton-network-whitepaper'): title, tag, page count, PDF link, and body text (up to ~50k chars). Canton-only. Call list_whitepapers first to obtain valid slugs.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesWhitepaper slug, e.g. "canton-network-whitepaper"
learning_pathAInspect

Construct a structured Canton onboarding sequence for a stated goal: whitepaper → relevant docs → CIPs to know → forum starter threads → talks. Canton-specific. Topic-driven (distinct from get_started_guide which is background-driven).

ParametersJSON Schema
NameRequiredDescriptionDefault
goalYesWhat the learner wants to do, e.g. "build a Canton dApp", "operate a validator", "write a CIP".
Behavior4/5

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

No annotations present, so description carries full burden. Describes the construction process and context (Canton-specific, topic-driven). Lacks details on whether it modifies state or returns a plan, but for a learning path generator this is adequate. Could be more explicit about read-only nature.

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?

Two sentences, front-loaded with action verb 'Construct', no fluff. Every word serves a purpose.

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

Completeness4/5

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

Given low complexity (1 param, no nested objects, no output schema), description covers purpose, usage, and distinction. Could specify output format, but not essential for agent invocation.

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?

Schema has 1 parameter with description; description adds context by linking 'goal' to the sequence construction and providing examples (e.g., 'build a Canton dApp'). Schema coverage is 100%, so baseline is 3; description adds notable value.

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?

Explicitly states 'Construct a structured Canton onboarding sequence' and details the sequence components (whitepaper, docs, CIPs, forum threads, talks). Distinguishes from sibling get_started_guide by contrasting 'topic-driven' vs 'background-driven'.

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 clear when-to-use: for stated goal, topic-driven onboarding. Explicitly contrasts with get_started_guide, indicating when to use alternative. This gives agent clear decision criteria.

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

list_canton_mcpsAInspect

List the Canton Network MCP servers CCPEDIA knows about: a directory of the Canton MCP ecosystem (payments, wallets, docs, knowledge). For each: what it does, how to connect or run it, whether it is free/hosted, and whether CCPEDIA can call it directly via call_canton_mcp. Canton-specific.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral transparency. It discloses exactly what information is returned per server (what it does, how to connect, free/hosted, and direct callability via call_canton_mcp). This adequately represents the tool's behavior as a read-only listing operation.

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, consisting of two sentences. The first sentence clearly states the primary action, and the second adds essential detail about the returned information. No superfluous words or redundancy.

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

Completeness4/5

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

For a simple listing tool with no parameters or output schema, the description covers the essential purpose and output details. It lacks mention of return format or pagination, but the core functionality is well explained. The tool is simple enough that this level of detail is sufficient.

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 input schema has no parameters, so the baseline is set to 4. The description adds no parameter-specific information, but this is expected and acceptable since no parameters exist.

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 lists Canton Network MCP servers known to CCPEDIA, using the specific verb 'List' and specifying the resource 'Canton Network MCP servers'. It distinguishes from the sibling tool 'call_canton_mcp' by indicating it provides a directory, not actual calls.

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

Usage Guidelines4/5

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

The description provides clear context for usage: it is a directory of the Canton MCP ecosystem, listing servers and their details. While it does not explicitly state when not to use it or mention alternatives, the context is sufficient for an agent to understand its purpose relative to other tools.

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

list_cipsInspect

Browse Canton Improvement Proposals (CIPs), optionally filtered by status (Draft/Review/Final/Withdrawn/Rejected/Superseded) and type (e.g. "Standards Track"). Returns a metadata list (id, title, status, type, author) — not full text. Use to discover or enumerate CIPs when you don't have a specific ID; use get_cip to read one. Canton/Daml/Splice governance only — not Cardano or other 'CIP' schemes.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoType filter, e.g. "Standards Track"
limitNo
statusNoall
list_deprecationsAInspect

List all known deprecated Daml/Canton CLI commands, packages, and tools with their modern replacements. Returns a compact table you can scan, optionally filtered by category (cli, package, tool, api, workflow). Canton/Daml/Splice only. Use this to enumerate or browse; use migrate_lookup for a specific name.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoall
Behavior4/5

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

With no annotations, the description carries full disclosure burden. It clearly states that the tool returns a 'compact table', supports optional filtering by category, and is scoped to specific platforms. It does not mention side effects, but as a listing operation this is acceptable. It lacks details about pagination or error handling, but overall is transparent.

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 only two sentences, fully front-loaded with the action and key details. No redundant or irrelevant information.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, no output schema, no nested objects), the description covers purpose, output format, filtering, and alternative usage. It does not detail the return table's exact columns or error scenarios, but these are not critical for a simple listing tool.

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?

Schema description coverage is 0%, so the description must compensate. It explains the 'category' parameter's enum values by listing them in context (cli, package, tool, api, workflow) and notes it's optional, adding meaning beyond the schema's bare enum. However, it omits the 'all' and 'other' options, slightly reducing completeness.

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 uses a specific verb ('list'), identifies the resource ('deprecated Daml/Canton CLI commands, packages, and tools'), and explicitly distinguishes it from the sibling tool 'migrate_lookup', making the purpose unmistakable.

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?

The description explicitly tells when to use this tool ('enumerate or browse') and directs to 'migrate_lookup' for specific name lookup. It also scopes usage to 'Canton/Daml/Splice only', providing clear guidance.

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

list_ecosystem_projectsInspect

List Canton Network ecosystem projects (DeFi protocols, wallets, custody, infrastructure, NaaS, etc.) from the curated canton.wiki catalog. Filter by category or free-text query. Returns name, category, description and URL — a static directory of who-builds-on-Canton, not live on-chain/TVL data (use get_token_market for live DeFi TVL). Canton-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNoSearch in title/description/tags
categoryNoFilter by category (e.g. "DeFi", "Wallets", "NaaS")
list_github_discussionsInspect

List GitHub Discussions from Canton Network repositories (currently canton-foundation/docs) cached by CCPEDIA, sorted by upvotes then recency; filter by repo or category. CANTON-ONLY and read from CCPEDIA's cache, NOT the live GitHub API or the user's own repos (use a GitHub MCP for those). This is GitHub Discussions — distinct from the Canton web forum (get_discussion) and the sync.global mailing lists (list_mailing_threads). Use get_github_discussion for full body + comments.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoFilter by repo, e.g. "canton-foundation/docs"
limitNo
categoryNoFilter by Discussions category, e.g. "Q&A", "Ideas"
list_governance_votesAInspect

List Canton Network on-chain DSO governance vote requests and their outcomes, from the ledger itself. Covers Featured App rights being granted or revoked, Super Validator reward-weight changes, SV offboarding, and AmuletRules/DsoRules config changes. CCPEDIA-unique: no other public source exposes this joined to the CIP corpus. Use for 'what has the DSO decided recently', 'which apps got Featured App status', 'what got rejected'. For one CIP's fate use get_cip_vote_outcome; for one Super Validator's record use list_votes_by_sv. Canton ecosystem only.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows (default 20).
actionNoFilter by action, e.g. "SRARC_GrantFeaturedAppRight", "SRARC_RevokeFeaturedAppRight", "SRARC_UpdateSvRewardWeight", "SRARC_OffboardSv".
statusNo"open" for votes still in flight, "closed" for decided ones.
outcomeNoFilter by outcome: "VRO_Accepted", "VRO_Rejected", "VRO_Expired".
Behavior3/5

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

With no annotations, the description carries full burden for behavioral disclosure. It describes the tool as listing votes and outcomes, implying a read-only operation, but does not explicitly state read-only behavior, authentication needs, rate limits, or response structure. It adds context about the data source but lacks depth on pagination or return format.

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

Conciseness4/5

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

The description is a single dense paragraph that packs information efficiently. It front-loads the main action and then adds detail. While not structured with bullets, it remains readable and concise with no redundant sentences.

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

Completeness3/5

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

Given no output schema, the description should explain the return structure. It mentions listing votes and outcomes but doesn't specify fields or format of the response. Input parameters are well-covered. The description provides context on use cases but is incomplete regarding what the agent receives.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The tool description repeats some parameter context (e.g., action examples) but doesn't significantly enhance what the schema already provides. No additional semantic details beyond the schema.

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 lists DSO governance votes and their outcomes from the ledger, with specific examples of covered decisions. It distinguishes itself from siblings (get_cip_vote_outcome, list_votes_by_sv) and highlights its unique value (joined to CIP corpus).

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?

Explicit use cases are given: 'what has the DSO decided recently', 'which apps got Featured App status', 'what got rejected'. It also provides alternative tools for specific queries ('For one CIP's fate use get_cip_vote_outcome; for one Super Validator's record use list_votes_by_sv') and scopes usage to Canton ecosystem.

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

list_mailing_threadsInspect

List threads from the Canton Network governance mailing lists (lists.sync.global groups: cip-discuss, cip-vote, cip-announce, globalSyncForum, grants-discuss, validator-announce). Filter by group, CIP number, or date. Canton-only. This is the EMAIL/mailing-list channel — distinct from the web forum (get_discussion) and GitHub Discussions (list_github_discussions). Returns thread metadata only; use get_mailing_thread for message bodies.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupNoRestrict to one of the six indexed groups.
limitNo
sinceNoEarliest last_post_at ISO date.
cip_idNoCIP number filter, e.g. "0117". Returns only threads tagged with this CIP.
offsetNo
list_reposAInspect

List the Canton Network GitHub repositories that CCPEDIA has indexed (Canton org repos — e.g. canton-foundation, Daml/Splice — excluding the dev-fund proposals repo), with the count of issues+PRs indexed per repo. CANTON-ONLY and read from CCPEDIA's cache — this is NOT a live GitHub API and does NOT list the user's own repos (use a GitHub MCP for that).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

With no annotations, the description carries full burden and discloses it's read-only, from a cache (not live), and lists what is returned (count of issues+PRs). No behavioral gaps.

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?

Two concise sentences front-loading the purpose and immediately providing usage boundaries. Every word adds value.

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 zero parameters and no output schema, the description fully covers what the tool does, its scope, and its output nature. No missing information.

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?

No parameters exist, so baseline is 4. The description does not need to add parameter info. Schema coverage is 100% (vacuously).

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 specific verb 'List' and resource 'Canton Network GitHub repositories that CCPEDIA has indexed', and distinguishes from sibling tools by explicitly excluding user repos and noting it's not a live GitHub API.

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?

The description provides explicit when-to-use (for Canton repos from CCPEDIA cache) and when-not-to (not for user's own repos, use a GitHub MCP instead), making alternatives clear.

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

list_videosInspect

List Canton Network videos cached in CCPEDIA, filtered by channel (Canton Network, Digital Asset, Sync Insights, Canton Foundation, Daml), publish date (since), and transcript availability. CANTON-ONLY corpus — these are curated Canton ecosystem videos, not general YouTube. Returns metadata only (id, title, channel, date); call get_video with an id for the transcript.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sinceNoEarliest published_at (ISO date, e.g. "2026-01-01"). Default: no lower bound.
offsetNo
channelNoChannel name filter, e.g. "Canton Network", "Digital Asset", "Sync Insights", "Canton Foundation", "Daml". Case-insensitive substring.
has_transcriptNoIf true, only return videos with a stored transcript. If false, only those still missing one. Omit for both.
list_votes_by_svAInspect

Get the on-chain voting record of Canton Super Validators: how many DSO governance votes each has cast, how often they voted for or against, how often they abstained, and the span of their participation. Use for 'how does Tradeweb vote', 'which SVs abstain most', 'who is most active in governance'. CCPEDIA-unique: derived from the full ledger vote history. Canton ecosystem only.

ParametersJSON Schema
NameRequiredDescriptionDefault
sv_nameNoSuper Validator short name, e.g. "Tradeweb-Markets-1", "Digital-Asset-1", "Cumberland-1". Omit for all of them.
Behavior3/5

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

No annotations are provided, so the description carries the burden. It describes the read operation and data source ('derived from the full ledger vote history'), but does not disclose authentication needs, rate limits, or performance characteristics. Adequate for a simple query tool but could be more explicit.

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

Conciseness4/5

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

Description is concise (three sentences) and front-loaded with the main action and output details. The examples and uniqueness claim are placed later, maintaining clarity without redundancy.

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

Completeness4/5

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

For a simple tool with one optional parameter and no output schema, the description covers the purpose, scope, and typical use cases. It mentions the unique derivation and ecosystem, but lacks details on return format or pagination, though these are not critical given the tool's simplicity.

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

Parameters3/5

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

Schema coverage is 100% and the description adds minimal value beyond the schema: it repeats the parameter name and provides example values. Baseline 3 is appropriate as the schema already documents the optional sv_name parameter sufficiently.

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?

Description clearly states it retrieves on-chain voting records of Canton Super Validators, listing specific metrics (votes cast, for/against/abstain counts, participation span). It distinguishes from sibling tools like 'get_cip_votes' by focusing on aggregate SV behavior rather than individual CIP votes.

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

Usage Guidelines4/5

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

Provides example queries ('how does Tradeweb vote', 'which SVs abstain most') and notes the Canton-only scope. Does not explicitly exclude alternatives or state when not to use, but the examples guide appropriate usage effectively.

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

list_whitepapersInspect

List every Canton Network whitepaper indexed by CCPEDIA, returning slug, title, description, tag and page count (metadata only, no body). Use the returned slug with get_whitepaper to fetch full content. Canton-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

migrate_lookupAInspect

Look up the modern replacement for a deprecated Daml/Canton CLI command, npm package, or tool (e.g. "daml start", "@daml/ledger", "Navigator", "Daml Triggers", "splice-wallet-payments subscription"). Returns the replacement, since-version, install instructions when applicable, and a migration note. Canton/Daml/Splice ecosystem only. Use when a user mentions a specific deprecated symbol; use list_deprecations to enumerate all known pairs or browse by category.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe deprecated command, package, or tool name to look up. Best-match search.
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses the return fields (replacement, since-version, install instructions, migration note) and ecosystem scope. It does not explicitly state read-only behavior, but the lookup nature implies it.

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 three sentences, front-loaded with the action, and includes examples, return format, ecosystem scope, and usage guidance. Every sentence adds value with no redundancy.

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

Completeness4/5

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

Given only one parameter and no output schema, the description is thorough: it explains what the tool returns, when to use it, and its ecosystem. It could mention error handling (e.g., no match found), but overall it adequately supports tool selection and invocation.

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?

Schema coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by providing examples of valid queries (e.g., 'daml start', '@daml/ledger') and clarifying it's a best-match search for deprecated symbols.

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: 'Look up the modern replacement for a deprecated Daml/Canton CLI command, npm package, or tool.' It gives specific examples and distinguishes from sibling 'list_deprecations' by stating when to use each.

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?

Explicit usage guidance: 'Use when a user mentions a specific deprecated symbol; use list_deprecations to enumerate all known pairs or browse by category.' This directly tells the agent when to invoke this tool versus an alternative.

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

outdated_guidance_detectorAInspect

Surface CCPEDIA content that mentions deprecated Canton/Daml tooling alongside the user's query — likely outdated. Cross-references foundation_kb.DEPRECATED with doc_pages, forum_posts, and blog_posts. Canton-specific.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesTopic to scan.
Behavior4/5

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

With no annotations, the description carries full burden. It reveals data sources (CCPEDIA, foundation_kb.DEPRECATED, doc_pages, forum_posts, blog_posts) and the logic of cross-referencing. It does not disclose read-only status or output format, but is fairly transparent for a detection tool.

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 two sentences, front-loaded with key action and sources, and includes a domain qualifier. Every sentence adds value without redundancy.

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

Completeness3/5

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

Given one parameter and no output schema, the description explains the tool's function and data sources. However, it lacks details on output format, result ranking, pagination, or behavior when no outdated content is found.

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

Parameters3/5

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

Schema coverage is 100% with parameter 'query' described as 'Topic to scan.' The tool description adds context that the query is used to surface outdated guidance, but does not significantly enhance the parameter meaning beyond the schema.

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 surfaces content mentioning deprecated Canton/Daml tooling related to a query, and cross-references specific sources. It distinguishes from siblings like check_deprecation and search by being focused on outdated guidance.

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

Usage Guidelines3/5

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

The description implies usage for finding outdated guidance on a topic and notes Canton-specificity, but does not explicitly state when to use or avoid this tool compared to alternatives like search or semantic_search.

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

proposal_success_predictorAInspect

Heuristic readiness score for a Dev Fund proposal draft, based on attributes that correlate with approval in the historical corpus: explicit milestones, code/PoC references, sources, scope realism. Canton-specific. Not a vote; a checklist.

ParametersJSON Schema
NameRequiredDescriptionDefault
draft_textYesFull draft text.
Behavior4/5

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

With no annotations, the description transparently explains the tool's heuristic nature, historical basis, and the attributes considered. It correctly notes it's a checklist, not a vote, but does not detail read-only behavior or data freshness, though these are implied.

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 very concise with three sentences, each adding important information: purpose, attributes, and caveats. No wasted words.

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

Completeness3/5

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

The description adequately explains the input and purpose but does not specify the output format (e.g., score range, label, or checklist items). Given no output schema, this leaves some ambiguity for an agent.

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 single parameter 'draft_text' is described in schema as 'Full draft text.' The description adds context that it's a Dev Fund proposal draft, reinforcing its purpose. This adds value beyond the schema.

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 provides a heuristic readiness score for a Dev Fund proposal draft, listing specific attributes and noting it's Canton-specific and not a vote. This distinguishes it from sibling tools like community_consensus or get_proposal_milestones.

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

Usage Guidelines4/5

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

The description implies use for assessing proposal drafts and sets expectations by stating it's not a vote. However, it does not explicitly mention when not to use or suggest alternative tools, which could be improved given the large sibling list.

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

search_communityAInspect

One-call semantic-style search across CCPEDIA's community sources at once: forum, mailing lists, blog, and GitHub discussions. Canton-specific. Use when you want to scan everything written by humans (not docs/code) for a topic.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax hits per source (default 5).
queryYesFree-text query.
Behavior3/5

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

No annotations are provided, so the description must bear full burden. It mentions 'semantic-style' and 'Canton-specific' but doesn't explain behavioral traits like result aggregation, ordering, or rate limits. While not misleading, more detail on how results are combined across sources would improve transparency.

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 two sentences, highly concise, and front-loaded with the core purpose and usage context. Every word adds value without redundancy.

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

Completeness4/5

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

Given two well-documented parameters, no output schema, and no annotations, the description covers the essential scope and usage. It could briefly describe the return format or example results, but overall is sufficiently complete for a search tool.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning to the parameters beyond what the schema already provides (free-text query, limit with max/min).

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 performs semantic-style search across multiple community sources (forum, mailing lists, blog, GitHub discussions) and specifies it is Canton-specific. It succinctly distinguishes itself from other search tools that might target single sources or non-human content.

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?

The description explicitly says 'Use when you want to scan everything written by humans (not docs/code) for a topic.' This provides clear, actionable guidance on when to invoke this tool versus alternatives like search_release_notes or get_doc.

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

search_github_issuesInspect

Full-text search across CCPEDIA's indexed GitHub issues (15+ Canton repos). Canton ecosystem only. Use to find prior reports / open bugs / requested features. For PRs use search_github (broader) or list_proposals.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows (default 10).
queryYesFree-text query.
stateNoIssue state filter (default: all).
search_mailing_listInspect

Search across CCPEDIA's indexed Canton mailing-list archives (cip-discuss, cip-vote, grants-discuss, validator-announce, etc). Canton-specific.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupNoOptional group_slug filter, e.g. "cip-discuss".
limitNoMax rows (default 10).
queryYesFree-text query — appears in subject or body.
search_release_notesAInspect

Search across release-notes bodies of all indexed Canton repos for a feature/keyword. Canton-specific. Use to find which release first mentioned X.

ParametersJSON Schema
NameRequiredDescriptionDefault
featureYesFeature keyword, e.g. "logical synchronizer", "topology", "wallet kernel".
Behavior3/5

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

No annotations provided, so the description carries the burden. It describes a read-only search operation but lacks details about return format or pagination. Adequate but not rich.

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?

Two sentences, front-loaded with action and purpose. No waste.

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

Completeness4/5

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

For a simple one-parameter search tool, the description covers what, where, and why. Could mention output format but not essential.

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

Parameters3/5

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

Schema coverage is 100% with a clear description of the 'feature' parameter. The tool description adds context but not additional parameter meaning beyond the schema.

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 it searches across release notes bodies of Canton repos for a feature/keyword, and specifies the use case of finding the first release mentioning a feature. This distinguishes it from generic search tools.

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

Usage Guidelines4/5

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

The description tells when to use it (for Canton-specific release note searches) and the goal (find first mention). It does not explicitly mention when not to use it, but the niche is clear.

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

search_talksAInspect

Search CCPEDIA's indexed Canton talks/videos (YouTube transcripts). Canton-specific. Returns matches across title + transcript with a short snippet around the hit.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows (default 5).
queryYesFree-text query — appears in title or transcript.
Behavior2/5

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

No annotations are provided. The description does not disclose behavioral traits such as rate limits, authorization needs, error handling, or what happens with no results. It only mentions the return format briefly.

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?

Two sentences, front-loaded with action and resource, no redundant information. Highly efficient.

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

Completeness3/5

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

Given no output schema, the description does mention return format (matches with snippet), but lacks details on result structure, error cases, or limitations. Adequate for a simple tool but not fully complete.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. The description adds context that the query searches title and transcript and returns snippets, but this is minimal beyond the schema.

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 searches Canton talks/videos with a specific verb ('Search'), resource ('Canton talks/videos'), and return type ('matches with snippet'). It differentiates from siblings like 'search' or 'semantic_search' by being Canton-specific.

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

Usage Guidelines3/5

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

The description mentions 'Canton-specific', implying use for Canton talk searches, but does not provide explicit when-to-use, when-not-to-use, or alternatives among the many sibling search tools.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources