Koskamo

CCPEDIA MCP

CCPEDIA provides an MCP server exposing 104 tools to query the Canton Network knowledge hub. It indexes Canton Improvement Proposals (CIPs), governance votes, developer documentation, community forum threads, whitepapers, and network metrics. The server allows AI agents to search, retrieve specific records, and access live network state without requiring authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

CCPEDIA MCP logo, by Unity NodesCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by Unity Nodes
MCP endpoint (Streamable HTTP)
https://ccpedia.xyz/mcp
Vendor documentation

What its tools do

104 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

Read-only (103)

Can change data (1)

104 of 104 have a description · 104 of 104 declare behavior hints · 95 of 96 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search Canton Improvement Proposals and their voting history
  • Retrieve technical documentation and glossary terms
  • Access community forum threads and mailing list archives
  • Query live network metrics and validator information

Source and maintenance

Community listingRegistry 1.0.1
Maintenance checked

Protocol and capabilities

Server
ccpedia 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
104 advertised
Resources
7 advertised
Resource templates
0 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

CCPEDIA indexes the Canton Network ecosystem: CIPs, Canton/Daml/Splice docs, the forum, Global Synchronizer mailing lists, GitHub, Dev Fund proposals, whitepapers, YouTube transcripts, and the on-chain governance record. Canton only. Do not use these tools for other blockchains, general web search, or local files. Picking a tool: - Conceptual or "how does X work" questions -> semantic_search. - Exact names, error strings, versions, identifiers -> search. - A specific CIP you can name -> get_cip, then get_cip_citations for its impact. - "Was this decided, and by whom" -> get_cip_vote_outcome or list_governance_votes. These read the on-chain DSO record and are authoritative over the vote-tally PDFs. - "Is my node current / what breaks if I upgrade" -> get_upgrade_status. - "Is this API still valid" -> check_deprecation. - Canton Dev Fund: one proposal in full -> get_proposal, then get_proposal_discussion (every comment, review and inline comment) and get_proposal_file (the proposal text). Who said what, or which proposals touch an idea -> search_dev_fund (mode "meaning" for a question in plain words). Which RFP fits an idea -> find_rfp_for_idea. Proposals still without a champion -> list_proposals_needing_champion. A person -> get_dev_fund_person. What happened lately -> get_dev_fund_activity. The list tool get_proposals is only an index. How proposals move, where they wait and on whom -> get_dev_fund_lifecycle; what is stuck -> list_stuck_proposals; duplicates, re-filings and two teams on one idea -> find_duplicate_proposals. Every answer should cite the URLs the tools return. When a tool reports that a dataset is empty or unsynced, say so rather than substituting a guess. Do not fabricate specifics. Config keys, YAML or Helm blocks, CLI flags, environment variables, party and contract IDs, addresses, and version numbers must be copied verbatim from a tool result. If the tools do not return an exact value, read the configuration or setup page with get_doc and quote it; if it still is not there, say the sources do not specify it and link where it lives, rather than inventing a plausible one. Separate what a source states from your own inference, and do not assert a single root cause the sources do not establish. If the user asks how to report a problem with this data or suggest a source, point them at https://ccpedia.xyz/contact. Do not raise it otherwise.

Tools

104 advertised

search
Advertised by the server during the last successful anonymous check.
Advertised read-only

Keyword/full-text search over the Canton Network knowledge base (CIPs, Canton/Daml/Splice docs, forum, mailing lists, whitepapers, grant proposals, blog, YouTube, GitHub). Canton-specific. Do NOT use for other blockchains, the web, or local files. Use this for exact-term/name lookups; use semantic_search instead for conceptual or 'how does X work' questions, and get_doc to read a full page once you have its id. NOTE: forum matches cover the topic TITLE and the FIRST POST only; a term that appears only inside a forum reply will not surface here, so use semantic_search (which indexes all forum post bodies) when a forum discussion is likely and this returns nothing.

search input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "type": {
      "enum": [
        "all",
        "cip",
        "doc",
        "discussion",
        "mail",
        "whitepaper",
        "proposal",
        "blog",
        "youtube",
        "github",
        "governance"
      ],
      "type": "string",
      "default": "all",
      "description": "Restrict results to one source type; \"governance\" is the stated reasoning behind an on-chain DSO vote; \"all\" searches everything"
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 50,
      "minimum": 1,
      "description": "Max results to return (1-50)"
    },
    "query": {
      "type": "string",
      "description": "Search query"
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    }
  }
}
search annotations
{
  "title": "Search",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_cip
Advertised by the server during the last successful anonymous check.
Advertised read-only

Fetch the full markdown body of a single Canton Improvement Proposal (CIP) by its ID (e.g. "CIP-0042", "0042", "PR-0117"). Returns only what the proposal SAYS. To learn whether that CIP was approved, enforced, or acted on ON CHAIN, use get_cip_vote_outcome instead: reading the proposal text does not tell you its on-chain fate. For the status timeline use get_cip_history; to browse or filter multiple CIPs use list_cips. Canton/Daml/Splice ecosystem only, not Cardano or other CIP schemes.

get_cip input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "CIP ID: \"0001\", \"CIP-0042\", or \"PR-0117\""
    }
  }
}
get_cip annotations
{
  "title": "Get CIP",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_cips
Advertised by the server during the last successful anonymous check.
Advertised read-only

Browse Canton Improvement Proposals (CIPs), optionally filtered by status (Draft, Early Draft, In Review, Proposed, Proposed Amendment, Approved, Active, Final, Withdrawn, Rejected, Replaced, Obsolete, Pending) 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.

list_cips input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "type": {
      "type": "string",
      "description": "Type filter, e.g. \"Standards Track\""
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "How many CIPs to return. Default 20, max 100. The response states the full count, which can exceed this limit; page with offset."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    },
    "status": {
      "enum": [
        "Draft",
        "Early Draft",
        "In Review",
        "Proposed",
        "Proposed Amendment",
        "Approved",
        "Active",
        "Final",
        "Withdrawn",
        "Rejected",
        "Replaced",
        "Obsolete",
        "Pending",
        "Review",
        "Superseded",
        "all"
      ],
      "type": "string",
      "default": "all"
    }
  }
}
list_cips annotations
{
  "title": "List CIPs",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_discussion
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_discussion input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991
        },
        {
          "type": "string"
        }
      ],
      "description": "Forum topic ID from a search result, e.g. 3242 or \"topic:3242\". Not a doc-page id: those go to get_doc."
    }
  }
}
get_discussion annotations
{
  "title": "Get discussion",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_whitepaper
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_whitepaper input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Whitepaper slug, e.g. \"canton-network-whitepaper\""
    }
  }
}
get_whitepaper annotations
{
  "title": "Get whitepaper",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_whitepapers
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_whitepapers input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
list_whitepapers annotations
{
  "title": "List whitepapers",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_trending
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get this week's most popular/trending Canton Network content (CIPs, forum threads, docs, blog, etc.) ranked by an engagement score. Canton-specific. Not general crypto/social/news trends. Use for 'what's hot/popular on Canton right now'; use get_recent_changes instead for a chronological 'what changed recently' feed.

get_trending input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
get_trending annotations
{
  "title": "Get trending",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_radar
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_radar input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "level": {
      "enum": [
        "all",
        "critical",
        "important",
        "ecosystem"
      ],
      "type": "string",
      "default": "all",
      "description": "Severity floor. \"critical\" and \"important\" return only that level; \"ecosystem\" is the low-severity feed; \"all\" (default) returns every live alert."
    },
    "limit": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "How many alerts to return, most severe and most recent first. Default 25."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    }
  }
}
get_radar annotations
{
  "title": "Get radar",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_proposals
Advertised by the server during the last successful anonymous check.
Advertised read-only

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, board status and how many people commented; it is only an index. For one proposal in full (champion evidence, proposal file, every comment, review and timeline event) call get_proposal and get_proposal_discussion. Canton ecosystem only.

get_proposals input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "How many proposals to return. Default 20, max 50. The response states the full count."
    },
    "state": {
      "enum": [
        "open",
        "closed",
        "all"
      ],
      "type": "string",
      "default": "open",
      "description": "Grant-request state on GitHub. Defaults to \"open\", so the total reported is open requests rather than every proposal ever filed."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    }
  }
}
get_proposals annotations
{
  "title": "Get proposals",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_doc
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_doc input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991
        },
        {
          "type": "string"
        }
      ],
      "description": "Doc page ID from a search/semantic_search result, e.g. 3242 or \"doc:3242\". Not a forum topic id: those go to get_discussion."
    }
  }
}
get_doc annotations
{
  "title": "Get doc",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_cip_history
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_cip_history input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "CIP ID: \"0001\", \"CIP-0042\", or \"PR-0117\""
    }
  }
}
get_cip_history annotations
{
  "title": "Get CIP history",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_cip_attachments
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the file/PDF attachments of a single Canton Improvement Proposal (CIP): supporting documents and signed-vote-record PDFs, with filename, page count, URL, and the full text CCPEDIA has extracted from each. Many older CIPs publish the proposal ITSELF as a PDF and leave only a header block in markdown, so for those this returns the actual proposal text and get_cip returns the index entry. For the parsed who-voted-how breakdown use get_cip_votes. Canton ecosystem only. Not Cardano or other 'CIP' schemes.

get_cip_attachments input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "CIP ID: \"0001\", \"CIP-0042\""
    }
  }
}
get_cip_attachments annotations
{
  "title": "Get CIP attachments",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_cip_mentions
Advertised by the server during the last successful anonymous check.
Advertised read-only

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. Returns aggregated per-source counts, not individual items. For individual forum posts/mailing messages and CCPEDIA's finer per-message mailing-list granularity, use get_cip_citations instead. 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.

get_cip_mentions input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "CIP ID: \"0001\", \"CIP-0042\", or \"PR-0117\""
    }
  }
}
get_cip_mentions annotations
{
  "title": "Get CIP mentions",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_recent_changes
Advertised by the server during the last successful anonymous check.
Advertised read-only

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'.

get_recent_changes input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "days": {
      "type": "integer",
      "default": 7,
      "maximum": 90,
      "minimum": 1,
      "description": "How far back to look, in days, counted from now. Default 7, max 90."
    },
    "limit": {
      "type": "integer",
      "default": 50,
      "maximum": 500,
      "minimum": 1,
      "description": "How many changes to return, newest first. Default 50, max 500."
    }
  }
}
get_recent_changes annotations
{
  "title": "Get recent changes",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_network_stats
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_network_stats input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
get_network_stats annotations
{
  "title": "Get network stats",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_token_market
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_token_market input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
get_token_market annotations
{
  "title": "Get token market",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_asset_supply
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get total token supply for a Canton-ecosystem asset: Canton Coin (CC), CBTC, HECTO, HANDL, USDCx, EDELx, or cETH. Omit the asset param to get all seven. Each row carries provenance: Canton Coin's supply is chain_derived (verifiable via the Global Synchronizer Scan registry); every other asset's supply is issuer_reported (CIP-0056 states on-ledger publication does not allow independent verification of total supply, since the holdings it's computed from are private) - treat those numbers as the issuer's own claim, not an audited fact. Holder counts are usually not_disclosed (Canton's privacy model hides holdings from third parties by design) and appear as null, not zero. Sourced from CCTools' public API. Canton-only; cannot price or size-supply any other chain's tokens.

get_asset_supply input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "asset": {
      "type": "string",
      "description": "Slug or symbol to filter to one asset, e.g. \"cbtc\", \"CBTC\", \"canton-coin\", or \"CC\". Case-insensitive. Omit for all seven."
    }
  }
}
get_asset_supply annotations
{
  "title": "Get asset supply",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_defi_pools
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get per-pool DeFi liquidity data on Canton from OneSwap, Send, and Tradecraft: pair, TVL, fee rate, APY, and reserve amounts. This is pool-level detail; for aggregate protocol-level TVL across all of Canton DeFi use get_token_market instead (that one also lists Cantex, which this tool does not cover - Cantex's own API has been down and CCTools marks its numbers stale). Sourced from CCTools' public API. Canton-only.

get_defi_pools input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "protocol": {
      "enum": [
        "oneswap",
        "send",
        "tradecraft"
      ],
      "type": "string",
      "description": "Restrict to one DEX. Omit for all three."
    }
  }
}
get_defi_pools annotations
{
  "title": "Get defi pools",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_ecosystem_projects
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_ecosystem_projects input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 30,
      "maximum": 100,
      "minimum": 1,
      "description": "How many projects to return. Default 30, max 100. The response states the full count."
    },
    "query": {
      "type": "string",
      "description": "Search in title/description/tags"
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    },
    "category": {
      "type": "string",
      "description": "Filter by category (e.g. \"DeFi\", \"Wallets\", \"NaaS\")"
    },
    "liveness": {
      "enum": [
        "alive",
        "suspect",
        "dead",
        "unknown"
      ],
      "type": "string",
      "description": "Restrict to projects whose site last responded this way to CCPEDIA's daily probe. Omit for all of them; every row is labelled either way."
    }
  }
}
list_ecosystem_projects annotations
{
  "title": "List ecosystem projects",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_network_state
Advertised by the server during the last successful anonymous check.
Advertised read-only

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 the last published cumulative app/validator rewards in CC with the closed round and date they describe (flagged when upstream has stopped publishing them). 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).

get_network_state input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
get_network_state annotations
{
  "title": "Get network state",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_repos
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the Canton Network GitHub repositories that CCPEDIA has indexed (Canton org repos such as canton-foundation and 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).

list_repos input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
list_repos annotations
{
  "title": "List repos",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_github_discussions
Advertised by the server during the last successful anonymous check.
Advertised read-only

List GitHub Discussions from Canton Network and Digital Asset repositories cached by CCPEDIA, sorted by recency (newest first). Filter by repo or category, or call with no filter to see which repos are present. 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.

list_github_discussions input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "repo": {
      "type": "string",
      "description": "Filter by owner/name as shown in the unfiltered listing. Repos get transferred, so read the value from a result rather than assuming one."
    },
    "limit": {
      "type": "integer",
      "default": 15,
      "maximum": 50,
      "minimum": 1,
      "description": "How many discussions to return, newest first. Default 15, max 50."
    },
    "category": {
      "type": "string",
      "description": "Filter by Discussions category, e.g. \"Q&A\", \"Ideas\""
    }
  }
}
list_github_discussions annotations
{
  "title": "List GitHub discussions",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_github_discussion
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the full body and comments of a single GitHub Discussion from a Canton Network or Digital Asset repo, 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).

get_github_discussion input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "GitHub GraphQL node ID, e.g. \"D_kwDOMNgu5s4AY...\""
    }
  }
}
get_github_discussion annotations
{
  "title": "Get GitHub discussion",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_video
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a Canton Network video that CCPEDIA has cached (curated channels: Canton Network, Digital Asset, Sync Insights, Canton Foundation, Daml, Digital Asset Training) by its YouTube id: title, channel, publish date, description and the transcript, with the time of each passage when timings are stored. Pass query to get only the passages that mention a term, each with its time and a link that opens the video there. Pass offset to keep reading a long transcript past the first part. 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.

get_video input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "YouTube video id, e.g. \"dQw4w9WgXcQ\""
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "minLength": 2,
      "description": "Return only the passages of the transcript that mention these words, each with its time and a link that opens the video at that moment. Replaces the plain read; offset is ignored."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Character position to start reading the transcript from, for a long one. The response names the offset that continues the read."
    },
    "transcript_chars": {
      "type": "integer",
      "default": 12000,
      "maximum": 200000,
      "minimum": 0,
      "description": "Transcript characters to return. Default 12000; raise it (max 200000) for the full text, or set 0 for metadata only."
    }
  }
}
get_video annotations
{
  "title": "Get video",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_videos
Advertised by the server during the last successful anonymous check.
Advertised read-only

List Canton Network videos cached in CCPEDIA, filtered by channel (Canton Network, Digital Asset, Sync Insights, Canton Foundation, Daml, Digital Asset Training), 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.

list_videos input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "How many videos to return. Default 20, max 100."
    },
    "since": {
      "type": "string",
      "description": "Earliest published_at (ISO date, e.g. \"2026-01-01\"). Default: no lower bound."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    },
    "channel": {
      "type": "string",
      "description": "Channel name filter, one of Canton Network, Digital Asset, Sync Insights, Canton Foundation, Daml, Digital Asset Training. Case-insensitive substring."
    },
    "has_transcript": {
      "type": "boolean",
      "description": "If true, only return videos with a stored transcript. If false, only those still missing one. Omit for both."
    }
  }
}
list_videos annotations
{
  "title": "List videos",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_validator_fleet
Advertised by the server during the last successful anonymous check.
Advertised read-only

Where do you stand versus other Canton operators on your Splice version? Reports the whole DSO-approved validator fleet as a version distribution; call with no version to see the whole distribution, or pass your own version to get your exact position (early, typical, or dangerously behind most nodes). CCPEDIA-unique: no other public source publishes this. IMPORTANT: versions 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 pass/fail rule (are you above the required minimum) use get_upgrade_status. Canton ecosystem only.

get_validator_fleet input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "version": {
      "type": "string",
      "description": "Your Splice version, e.g. \"0.6.9\", to locate it in the distribution."
    }
  }
}
get_validator_fleet annotations
{
  "title": "Get validator fleet",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_validator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Look up an individual Canton validator node in the DSO registry by name or party id: its sponsor, self-reported Splice version and how stale that report is, when it was last active, the round range it has been earning over, and how many reward coupons it has missed. CCPEDIA-unique: derived from the DSO validator licenses on the public Scan API. Use for "is node X still live", "how reliable is X", and "who onboarded X" where the registry records a distinct sponsor (about half the fleet does; the rest name themselves and this says so rather than repeating the node name back). For the version distribution across the whole fleet use get_validator_fleet; for whether a version passes the MainNet minimum use get_upgrade_status; for Super Validator GOVERNANCE voting records use list_votes_by_sv, which is a different population. Canton ecosystem only.

get_validator input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Validator name or party id, whole or partial, e.g. \"GSF-validator-2\" or \"MPCH\"."
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum matches to return (default 10, max 50)."
    }
  }
}
get_validator annotations
{
  "title": "Get validator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_upcoming_deadlines
Advertised by the server during the last successful anonymous check.
Advertised read-only

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/validators#subscribe. For a verdict on your specific version use get_upgrade_status; for the full historical schedule use get_sv_schedule. Canton ecosystem only.

get_upcoming_deadlines input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "days": {
      "type": "integer",
      "maximum": 180,
      "minimum": 1,
      "description": "How far ahead to look, in days. Default 30."
    },
    "environment": {
      "type": "string",
      "description": "\"MainNet\", \"TestNet\" or \"DevNet\". Omit for all networks."
    },
    "validator_only": {
      "type": "boolean",
      "description": "Only events that require a validator operator to act."
    }
  }
}
get_upcoming_deadlines annotations
{
  "title": "Get upcoming deadlines",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_governance_votes
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_governance_votes input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 200,
      "minimum": 1,
      "description": "Max rows (default 20)."
    },
    "action": {
      "type": "string",
      "description": "Filter by action, e.g. \"SRARC_GrantFeaturedAppRight\", \"SRARC_RevokeFeaturedAppRight\", \"SRARC_UpdateSvRewardWeight\", \"SRARC_OffboardSv\"."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    },
    "status": {
      "enum": [
        "open",
        "closed"
      ],
      "type": "string",
      "description": "\"open\" for votes still in flight, \"closed\" for decided ones. Omit for both; there is no \"all\" value."
    },
    "outcome": {
      "enum": [
        "VRO_Accepted",
        "VRO_Rejected",
        "VRO_Expired"
      ],
      "type": "string",
      "description": "Filter by outcome. Omit for all outcomes; there is no \"all\" value."
    }
  }
}
list_governance_votes annotations
{
  "title": "List governance votes",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_governance_vote
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_governance_vote input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "tracking_cid"
  ],
  "properties": {
    "tracking_cid": {
      "type": "string",
      "description": "The vote request tracking contract id, or a unique prefix of it, as returned by list_governance_votes."
    }
  }
}
get_governance_vote annotations
{
  "title": "Get governance vote",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_votes_by_sv
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_votes_by_sv input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "sv_name": {
      "type": "string",
      "description": "Super Validator short name, e.g. \"Tradeweb-Markets-1\", \"Digital-Asset-1\", \"Cumberland-1\". Omit for all of them."
    }
  }
}
list_votes_by_sv annotations
{
  "title": "List votes by SV",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_cip_vote_outcome
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_cip_vote_outcome input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "cip_id"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "How many vote requests to return, newest first. Default 20, max 100. The response states the full count either way."
    },
    "cip_id": {
      "type": "string",
      "description": "CIP id, e.g. \"CIP-0116\", \"116\", \"0116\"."
    }
  }
}
get_cip_vote_outcome annotations
{
  "title": "Get CIP vote outcome",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_cip_votes
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the cip-vote mailing-list messages for a specific Canton Improvement Proposal (CIP), oldest first: the raw discussion trail as sent, with each SV/participant's vote stated in their message body ("… votes in favor / not in favor"). This is the message thread, NOT a pre-computed count; the first message is usually the proposal announcement, not a vote. For the on-chain accept/reject tally use get_cip_vote_outcome. Use for reading who said what 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.

get_cip_votes input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "cip_id"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "How many messages (oldest first) to return. Default 25, max 100. The header states the full count and the range shown."
    },
    "cip_id": {
      "type": "string",
      "description": "CIP id, e.g. \"0117\", \"0118\", or \"CIP-0117\". Numeric form preferred."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many messages before returning, for paging through a long vote thread."
    }
  }
}
get_cip_votes annotations
{
  "title": "Get CIP votes",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_mailing_threads
Advertised by the server during the last successful anonymous check.
Advertised read-only

List threads from the Canton Network governance mailing lists (lists.sync.global groups: cip-discuss, cip-vote, cip-announce, grants-discuss, validator-announce, tokenomics-announce, supervalidator-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.

list_mailing_threads input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "group": {
      "enum": [
        "cip-discuss",
        "cip-vote",
        "cip-announce",
        "grants-discuss",
        "validator-announce",
        "tokenomics-announce",
        "supervalidator-announce"
      ],
      "type": "string",
      "description": "Restrict to one of the 7 indexed groups."
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "How many threads to return. Default 20, max 100."
    },
    "since": {
      "type": "string",
      "description": "Earliest last_post_at ISO date."
    },
    "cip_id": {
      "type": "string",
      "description": "CIP number filter, e.g. \"0117\". Returns only threads tagged with this CIP."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    }
  }
}
list_mailing_threads annotations
{
  "title": "List mailing threads",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_mailing_thread
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_mailing_thread input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Thread id exactly as list_mailing_threads prints it. Both forms work: a numeric archive topic id (\"119286914\") and a message id for messages the archive never threaded (\"cip-discuss-809\")."
    },
    "limit": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "How many messages (oldest first) to return. Default 25, max 100. The header states the full held count and the range shown."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many messages before returning, for paging through a long thread."
    }
  }
}
get_mailing_thread annotations
{
  "title": "Get mailing thread",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_foundation_info
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_foundation_info input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "topic"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 3,
      "maximum": 10,
      "minimum": 1,
      "description": "How many matching sections to return. Default 3, max 10."
    },
    "topic": {
      "type": "string",
      "description": "Free-text topic, e.g. \"team\", \"executive director\", \"working groups\", \"membership\", \"grants\", \"board\"."
    }
  }
}
get_foundation_info annotations
{
  "title": "Get foundation info",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
semantic_search
Advertised by the server during the last successful anonymous check.
Advertised read-only

PRIMARY tool for open-ended questions: how / why / what-is, troubleshooting a symptom ("why is my balance zero", "how do I fix X"), and locating config or setup steps. Conceptual/meaning-based search over the full Canton corpus (CIPs, docs, forum, mailing lists, proposals, blog, releases, ecosystem, foundation KB, YouTube) using vector+FTS hybrid retrieval with reranking. Canton-specific. Use this FIRST for anything a specific tool does not clearly own; the narrow curated tools (get_faq, find_known_issues, diagnose_error) cover only small hand-picked sets or need a literal error string, so prefer semantic_search for real how/why/config questions. Then call get_doc with a returned id to read the full source page.

semantic_search input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 6,
      "maximum": 15,
      "minimum": 1,
      "description": "How many chunks to return. Default 6, max 15. Capped at 2 per document so one long file cannot take every slot."
    },
    "query": {
      "type": "string",
      "minLength": 2,
      "description": "Free-form question or phrase."
    },
    "source_types": {
      "type": "array",
      "items": {
        "enum": [
          "cip",
          "doc_page",
          "forum_topic",
          "mailing_message",
          "proposal",
          "github_item",
          "whitepaper",
          "blog_post",
          "github_release",
          "github_discussion",
          "ecosystem_project",
          "foundation_kb",
          "youtube_video",
          "gov_vote",
          "radar_item",
          "cip_attachment",
          "sdk_version",
          "dev_fund_comment",
          "dev_fund_file"
        ],
        "type": "string"
      },
      "description": "Restrict to these source types. \"proposal\" is a Dev Fund grant request; \"github_item\" is an ordinary issue or PR from any other indexed repo; \"sdk_version\" is a released package version from the npm/Docker registries; \"dev_fund_comment\" is a comment, review or inline review comment on a Dev Fund PR; \"dev_fund_file\" is a proposal file. Omit for all."
    }
  }
}
semantic_search annotations
{
  "title": "Semantic search",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
check_deprecation
Advertised by the server during the last successful anonymous check.
Advertised read-only

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. Accepts either one name or a block of prose: given prose it reports every deprecated item mentioned in it. Returns DEPRECATED (with replacement), CURRENT, or NOT_FOUND.

check_deprecation input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 2,
      "description": "Tool/package/command to check, e.g. \"daml-assistant\", \"Navigator\", \"dpm\", \"canton sandbox\". A longer block of text (a forum post, a draft answer) is scanned for every deprecated item it mentions."
    }
  }
}
check_deprecation annotations
{
  "title": "Check deprecation",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_started_guide
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_started_guide input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "background"
  ],
  "properties": {
    "background": {
      "enum": [
        "evm",
        "solana",
        "sui_move",
        "web_dev",
        "enterprise",
        "new_to_blockchain"
      ],
      "type": "string",
      "description": "Developer's primary background. Ask the user to select this before proceeding."
    }
  }
}
get_started_guide annotations
{
  "title": "Get started guide",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_faq
Advertised by the server during the last successful anonymous check.
Advertised read-only

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 the 3 NEAREST FAQ entries, which may not exactly match. Canton-specific, do NOT use for other blockchains or general/non-Canton questions. If none of the 3 directly answers the question, or the user needs specific config values, commands, or parameters, use semantic_search over the full docs (then get_doc) rather than answering from a near-miss. For a full onboarding path use get_started_guide; for API endpoint details use get_api_reference.

get_faq input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "question"
  ],
  "properties": {
    "question": {
      "type": "string",
      "description": "Developer's question, e.g. \"how do I install\", \"create party\", \"deploy to testnet\"."
    }
  }
}
get_faq annotations
{
  "title": "Get FAQ",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_api_reference
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_api_reference input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "api"
  ],
  "properties": {
    "api": {
      "enum": [
        "json_ledger_api",
        "grpc_ledger_api",
        "scan_api",
        "validator_api",
        "token_standard",
        "admin_api",
        "splice_http"
      ],
      "type": "string",
      "description": "Which API to look up."
    }
  }
}
get_api_reference annotations
{
  "title": "Get API reference",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
compare_to_evm
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

compare_to_evm input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "concept"
  ],
  "properties": {
    "concept": {
      "type": "string",
      "description": "EVM concept, e.g. \"smart contract\", \"wallet\", \"gas\", \"ERC20\", \"Hardhat\", \"Remix\", \"ABI\"."
    }
  }
}
compare_to_evm annotations
{
  "title": "Compare to EVM",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
migrate_lookup
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

migrate_lookup input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "The deprecated command, package, or tool name to look up. Best-match search."
    }
  }
}
migrate_lookup annotations
{
  "title": "Migrate lookup",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_deprecations
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_deprecations input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "category": {
      "enum": [
        "all",
        "cli",
        "package",
        "tool",
        "api",
        "workflow",
        "other"
      ],
      "type": "string",
      "default": "all",
      "description": "Kind of thing deprecated. \"all\" (default) returns every category."
    }
  }
}
list_deprecations annotations
{
  "title": "List deprecations",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_current_versions
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the freshest Canton SDK, Splice, Daml, and DPM versions ALL AT ONCE, 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 across MULTIPLE packages. If the user names ONE specific package and wants its release notes, use get_latest_release instead.

get_current_versions input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
get_current_versions annotations
{
  "title": "Get current versions",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_cip_citations
Advertised by the server during the last successful anonymous check.
Advertised read-only

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 (all indexed lists.sync.global groups; no group is excluded), 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, and a specific CIP id is already known. 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. For a general topic or feature name with NO known CIP id. E.g. 'featured app locking' rather than 'CIP-0116'. Use full_context instead, which searches by free text across the whole corpus rather than requiring an id. Canton/Daml/Splice ecosystem only.

get_cip_citations input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "cip_id"
  ],
  "properties": {
    "cip_id": {
      "type": "string",
      "description": "CIP id, e.g. \"CIP-0056\", \"0056\", \"PR-0117\". Padded or unpadded both accepted."
    }
  }
}
get_cip_citations annotations
{
  "title": "Get CIP citations",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_kb_drift
Advertised by the server during the last successful anonymous check.
Advertised read-only

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, network_state). 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.

get_kb_drift input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "refresh": {
      "type": "boolean",
      "default": false,
      "description": "If true, evaluate the rules now against the live tables and report that, without storing it. Default false uses the findings stored by the last daily check."
    }
  }
}
get_kb_drift annotations
{
  "title": "Get KB drift",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
diagnose_error
Advertised by the server during the last successful anonymous check.
Advertised read-only

Paste a Canton/Daml/Splice ERROR MESSAGE, stack trace, or error code and get the most likely resolved fixes from CCPEDIA history: forum threads where the same error was discussed, and related GitHub issues (each with its own date). Needs a literal error string or code (e.g. TOPOLOGY_TOO_MANY_PENDING_TOPOLOGY_TRANSACTIONS, ValidatorLicense); do NOT use it for symptom descriptions with no error text (e.g. "my balance is zero"), use semantic_search for those. Canton-specific. Returns top 3 matches each from forum and github.

diagnose_error input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "error_text"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 10,
      "minimum": 1,
      "description": "Max matches per source (default 3)."
    },
    "error_text": {
      "type": "string",
      "minLength": 8,
      "description": "Error message, stack trace, or status code. Longer/more distinctive text returns better matches."
    }
  }
}
diagnose_error annotations
{
  "title": "Diagnose error",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_breaking_changes
Advertised by the server during the last successful anonymous check.
Advertised read-only

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").

get_breaking_changes input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "from_sdk",
    "to_sdk"
  ],
  "properties": {
    "repo": {
      "type": "string",
      "description": "Optional repo hint: \"canton\", \"splice\" (alias for decentralized-canton-sync), \"daml\", or a full owner/name. Auto-inferred from version shape when omitted."
    },
    "to_sdk": {
      "type": "string",
      "description": "Target version, e.g. \"0.6.10\" or \"v3.5.6\"."
    },
    "from_sdk": {
      "type": "string",
      "description": "Origin version, e.g. \"0.5.0\" or \"v3.4.0\"."
    }
  }
}
get_breaking_changes annotations
{
  "title": "Get breaking changes",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_recurring_issue_fingerprint
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_recurring_issue_fingerprint input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "min_months": {
      "type": "integer",
      "maximum": 12,
      "minimum": 2,
      "description": "A keyword must appear in this many distinct months to count as recurring (default 3)."
    },
    "window_months": {
      "type": "integer",
      "maximum": 36,
      "minimum": 3,
      "description": "Look-back window in months (default 18)."
    }
  }
}
get_recurring_issue_fingerprint annotations
{
  "title": "Get recurring issue fingerprint",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_featured_apps
Advertised by the server during the last successful anonymous check.
Advertised read-only

List Canton Network Featured Apps from the live Scan-API-sourced catalogue. Filter by category (when known) and choose ordering. Canton-specific. Use for "what dApps are live on Canton?" or to discover providers offering a particular service. Returns name, provider/app_id, category, last_activity, url.

list_featured_apps input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "sort": {
      "enum": [
        "recent",
        "name",
        "tvl",
        "volume"
      ],
      "type": "string",
      "description": "Sort key (default: recent)."
    },
    "limit": {
      "type": "integer",
      "maximum": 200,
      "minimum": 1,
      "description": "Max rows (default 25)."
    },
    "category": {
      "type": "string",
      "description": "Filter by category, e.g. \"Validator\", \"DeFi\", \"Tokenized Assets\" (case-insensitive substring match)."
    }
  }
}
list_featured_apps annotations
{
  "title": "List featured apps",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_app_metrics
Advertised by the server during the last successful anonymous check.
Advertised read-only

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, and last activity from the Featured Apps registry. Canton-specific. TVL / volume / users may be null when only the Scan API source is available.

get_app_metrics input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "app_id"
  ],
  "properties": {
    "app_id": {
      "type": "string",
      "description": "Featured-app contract id, or a unique prefix of it as shown by list_featured_apps."
    }
  }
}
get_app_metrics annotations
{
  "title": "Get app metrics",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_apps_by_pattern
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

find_apps_by_pattern input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "pattern"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Max rows (default 10)."
    },
    "pattern": {
      "type": "string",
      "description": "Free text, e.g. \"AMM\", \"wallet\", \"DeFi vault\", \"validator\"."
    }
  }
}
find_apps_by_pattern annotations
{
  "title": "Find apps by pattern",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_upgrade_status
Advertised by the server during the last successful anonymous check.
Advertised read-only

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?".

get_upgrade_status input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "environment"
  ],
  "properties": {
    "version": {
      "type": "string",
      "description": "Splice version the node currently runs, e.g. \"0.6.9\". Omit to get the schedule without a verdict."
    },
    "environment": {
      "enum": [
        "DevNet",
        "TestNet",
        "MainNet"
      ],
      "type": "string",
      "description": "Which network the node runs on."
    }
  }
}
get_upgrade_status annotations
{
  "title": "Get upgrade status",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_sv_schedule
Advertised by the server during the last successful anonymous check.
Advertised read-only

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?".

get_sv_schedule input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Max rows (default 20)."
    },
    "environment": {
      "enum": [
        "DevNet",
        "TestNet",
        "MainNet"
      ],
      "type": "string",
      "description": "Restrict to one environment. Omit for all."
    },
    "upcoming_only": {
      "type": "boolean",
      "description": "If true (default), only events with start_at >= today."
    }
  }
}
get_sv_schedule annotations
{
  "title": "Get SV schedule",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_upcoming_operations
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_upcoming_operations input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "days": {
      "type": "integer",
      "default": 30,
      "maximum": 180,
      "minimum": 1,
      "description": "Days ahead to look (1-180, default 30)."
    }
  }
}
get_upcoming_operations annotations
{
  "title": "Get upcoming operations",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_recent_deployments
Advertised by the server during the last successful anonymous check.
Advertised read-only

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?".

get_recent_deployments input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "How many deployments to return, newest first. Default 10, max 50."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    }
  }
}
get_recent_deployments annotations
{
  "title": "Get recent deployments",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
detect_cip_dependency_chain
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

detect_cip_dependency_chain input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "cip_id"
  ],
  "properties": {
    "cip_id": {
      "type": "string",
      "description": "Starting CIP or PR id, e.g. \"0112\", \"CIP-0112\", or \"PR-203\"."
    }
  }
}
detect_cip_dependency_chain annotations
{
  "title": "Detect CIP dependency chain",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
compare_governance_outcomes
Advertised by the server during the last successful anonymous check.
Advertised read-only

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 opened in the window that are closed today (merged, withdrawn and rejected are not distinguished; no close dates are stored). Canton-specific. Use to summarise "what governance has shipped this quarter?".

compare_governance_outcomes input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "window_days": {
      "type": "integer",
      "default": 90,
      "maximum": 365,
      "minimum": 7,
      "description": "Window in days, 7-365 (default 90)."
    }
  }
}
compare_governance_outcomes annotations
{
  "title": "Compare governance outcomes",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_sdk_changelog
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_sdk_changelog input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "version"
  ],
  "properties": {
    "repo": {
      "type": "string",
      "description": "Optional repo hint: canton, daml, dpm, splice."
    },
    "version": {
      "type": "string",
      "description": "Version tag, e.g. \"3.5.6\", \"v3.5.6\", \"0.6.10\"."
    }
  }
}
get_sdk_changelog annotations
{
  "title": "Get SDK changelog",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_community
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

search_community input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1,
      "description": "Max hits per source (default 5)."
    },
    "query": {
      "type": "string",
      "minLength": 2,
      "description": "Free-text query."
    }
  }
}
search_community annotations
{
  "title": "Search community",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_github_issues
Advertised by the server during the last successful anonymous check.
Advertised read-only

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 get_proposals (Dev Fund grant PRs) or search with type="github" (broader).

search_github_issues input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Max rows (default 10)."
    },
    "query": {
      "type": "string",
      "minLength": 2,
      "description": "Free-text query."
    },
    "state": {
      "enum": [
        "open",
        "closed",
        "all"
      ],
      "type": "string",
      "description": "Issue state filter (default: all)."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    }
  }
}
search_github_issues annotations
{
  "title": "Search GitHub issues",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_blog_posts
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the blog posts CCPEDIA holds: articles, news and press releases from Canton, Digital Asset and the Canton Foundation, and in tabs of their own partner press, network notices from the release channel, and third-party reprints. Omit source for what the Blog page shows under All. Pass query to search titles and text. Returns metadata only (id, title, kind, author, date); call get_blog_post with an id to read one. Release notes are not blog posts: they are under /releases.

list_blog_posts input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "How many posts to return. Default 20, max 50."
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "minLength": 2,
      "description": "Words to look for in titles and text. Results come best match first."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    },
    "source": {
      "enum": [
        "blog",
        "news",
        "press-release",
        "canton-foundation",
        "da-blog",
        "partner-news",
        "notices",
        "third-party"
      ],
      "type": "string",
      "description": "Which tab: blog (Blog), news (News), press-release (Press), canton-foundation (Foundation), da-blog (Digital Asset), partner-news (Partner press), notices (Network notices), third-party (Third-party). Omit for All, which is first-party writing only."
    }
  }
}
list_blog_posts annotations
{
  "title": "List blog posts",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_blog_post
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get one blog post by the id list_blog_posts or search gave: title, kind, author, date and the text. Articles, news and press releases from Canton, Digital Asset and the Canton Foundation and network notices are returned in full; reprints and partner press are returned as an excerpt with a link to the original, the same as the website. Pass offset to keep reading a long post past the first part.

get_blog_post input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Post id, for example \"www-canton-network-blog-canton-summit-2026-takeaways\"."
    },
    "chars": {
      "type": "integer",
      "default": 12000,
      "maximum": 200000,
      "minimum": 0,
      "description": "Characters of text to return. Default 12000; raise it (max 200000) for the whole post, or set 0 for metadata only."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Character position to start reading from, for a long post. The response names the offset that continues the read."
    }
  }
}
get_blog_post annotations
{
  "title": "Get blog post",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_talks
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search CCPEDIA's indexed Canton talks/videos (YouTube transcripts). Canton-specific. Returns matches across title + transcript with the best-matching passage, its time in the video and a link that opens the video there.

search_talks input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1,
      "description": "Max rows (default 5)."
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "minLength": 2,
      "description": "Free-text query. Appears in title or transcript."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    }
  }
}
search_talks annotations
{
  "title": "Search talks",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_known_issues
Advertised by the server during the last successful anonymous check.
Advertised read-only

Surface known UNRESOLVED problems matching a free-text description: forum threads with zero replies but high views, plus open GitHub issues. Answers "is anyone else hitting this?". Canton-specific. Does NOT return fixes, solutions, config, or how-to steps, and returns nothing when no open issue matches; for "how do I fix / configure / why does X happen" use semantic_search (then get_doc) instead.

find_known_issues input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "description"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 15,
      "minimum": 1,
      "description": "Max rows per source (default 5)."
    },
    "description": {
      "type": "string",
      "minLength": 8,
      "description": "What you're seeing. Short prose, not a stack trace (for that use diagnose_error)."
    }
  }
}
find_known_issues annotations
{
  "title": "Find known issues",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_cip_for_feature
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

find_cip_for_feature input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "feature"
  ],
  "properties": {
    "feature": {
      "type": "string",
      "minLength": 2,
      "description": "Feature description, e.g. \"wallet abstraction\", \"token standard\", \"validator staking\"."
    }
  }
}
find_cip_for_feature annotations
{
  "title": "Find CIP for feature",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_cip_implementation_status
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_cip_implementation_status input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "cip_id"
  ],
  "properties": {
    "cip_id": {
      "type": "string",
      "description": "CIP id, e.g. \"0112\", \"CIP-0112\", \"PR-0088\"."
    }
  }
}
get_cip_implementation_status annotations
{
  "title": "Get CIP implementation status",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_latest_release
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the single latest release (version tag, publish date, and GitHub release-notes link) for ONE NAMED Canton-ecosystem package: canton, daml, dpm, or splice. Canton-specific. Requires a package name as input. Use when the user names a specific package ("what's the latest daml release", "latest canton version"); use get_current_versions instead for a cross-package snapshot of all four at once or MainNet/TestNet deployment status.

get_latest_release input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "package"
  ],
  "properties": {
    "package": {
      "type": "string",
      "description": "Repo or package name: \"canton\", \"daml\", \"dpm\", \"splice\", or a full owner/repo."
    }
  }
}
get_latest_release annotations
{
  "title": "Get latest release",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_release_notes
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

search_release_notes input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "feature"
  ],
  "properties": {
    "feature": {
      "type": "string",
      "minLength": 2,
      "description": "Feature keyword, e.g. \"logical synchronizer\", \"topology\", \"wallet kernel\"."
    }
  }
}
search_release_notes annotations
{
  "title": "Search release notes",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_security_patches
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

find_security_patches input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 30,
      "minimum": 1,
      "description": "Max rows (default 10)."
    }
  }
}
find_security_patches annotations
{
  "title": "Find security patches",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_npm_packages
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

get_npm_packages input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Max packages (default 25)."
    },
    "query": {
      "type": "string",
      "description": "Optional substring filter on package name."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    }
  }
}
get_npm_packages annotations
{
  "title": "Get npm packages",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_similar_projects
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find Canton ecosystem projects most similar to a free-text description by matching across title + category + description + tags: searches only the live ecosystem directory. Canton-specific. Useful before proposing a project to check overlap; to also check pending/past Dev Fund proposals for the same idea, use detect_builder_overlap instead.

find_similar_projects input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "description"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1,
      "description": "Max rows (default 10)."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    },
    "description": {
      "type": "string",
      "minLength": 4,
      "description": "Project description / idea."
    }
  }
}
find_similar_projects annotations
{
  "title": "Find similar projects",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_mailing_list
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

search_mailing_list input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "group": {
      "type": "string",
      "description": "Optional group_slug filter, e.g. \"cip-discuss\"."
    },
    "limit": {
      "type": "integer",
      "maximum": 30,
      "minimum": 1,
      "description": "Max rows (default 10)."
    },
    "query": {
      "type": "string",
      "minLength": 2,
      "description": "Free-text query. Appears in subject or body."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    }
  }
}
search_mailing_list annotations
{
  "title": "Search mailing list",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_maintainer_guidance
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

find_maintainer_guidance input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "topic"
  ],
  "properties": {
    "topic": {
      "type": "string",
      "minLength": 2,
      "description": "Topic keyword, e.g. \"topology\", \"wallet\", \"DAR upload\"."
    }
  }
}
find_maintainer_guidance annotations
{
  "title": "Find maintainer guidance",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_issue_status
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

get_issue_status input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "repo",
    "number"
  ],
  "properties": {
    "repo": {
      "type": "string",
      "description": "Repo, e.g. \"canton-foundation/canton-dev-fund\" or shorthand \"canton-dev-fund\"."
    },
    "number": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "description": "Issue or PR number."
    }
  }
}
get_issue_status annotations
{
  "title": "Get issue status",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_code_examples
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

find_code_examples input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "topic"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 15,
      "minimum": 1,
      "description": "Max rows (default 5)."
    },
    "topic": {
      "type": "string",
      "minLength": 2,
      "description": "Topic keyword."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used."
    }
  }
}
find_code_examples annotations
{
  "title": "Find code examples",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_funding_landscape
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_funding_landscape input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "category": {
      "type": "string",
      "description": "Optional label filter, e.g. \"daml-tooling\", \"node-deployment-operations\"."
    }
  }
}
get_funding_landscape annotations
{
  "title": "Get funding landscape",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_proposal_milestones
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

get_proposal_milestones input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "pr_number"
  ],
  "properties": {
    "pr_number": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "description": "PR number in canton-foundation/canton-dev-fund."
    }
  }
}
get_proposal_milestones annotations
{
  "title": "Get proposal milestones",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_ecosystem_gaps
Advertised by the server during the last successful anonymous check.
Advertised read-only

Surface ecosystem gaps: high-view forum threads with zero replies (unanswered demand), mailing threads that got no reply, and open Dev Fund proposals with no label assigned (waiting for a SIG or champion). Canton-specific. Use to find "where the ecosystem needs help". For per-category funding levels use get_funding_landscape.

get_ecosystem_gaps input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1,
      "description": "Max rows per gap type (default 5)."
    }
  }
}
get_ecosystem_gaps annotations
{
  "title": "Get ecosystem gaps",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
detect_builder_overlap
Advertised by the server during the last successful anonymous check.
Advertised read-only

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. Broader than find_similar_projects, which only searches the live ecosystem directory. Canton-specific. Cuts manual cross-reference research before submitting a new proposal.

detect_builder_overlap input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "idea"
  ],
  "properties": {
    "idea": {
      "type": "string",
      "minLength": 6,
      "description": "One-paragraph project idea or capability description."
    }
  }
}
detect_builder_overlap annotations
{
  "title": "Detect builder overlap",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
proposal_success_predictor
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

proposal_success_predictor input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "draft_text"
  ],
  "properties": {
    "draft_text": {
      "type": "string",
      "minLength": 40,
      "description": "Full draft text."
    }
  }
}
proposal_success_predictor annotations
{
  "title": "Proposal success predictor",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_rfps
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the Canton Foundation Dev Fund Requests for Proposals (RFPs) from the 2026-2028 roadmap: number, title, category, and how many Dev Fund proposals declare each one. Pass number to read one RFP in full: what the Foundation asks for, its stated appetite for grants, prior funded examples, and the proposals declaring it. RFP numbers are the ones proposals and labels use (RFP 18 is Integration into SDLCs). A proposal counts only if a label, its PR text, its title or its proposal file names the RFP, and most proposals do not, so a low count is not proof that an area is uncrowded. Canton-specific. To find the RFP that fits an idea use find_rfp_for_idea.

list_rfps input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "number": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1,
      "description": "RFP number to read in full, e.g. 18. Omit to list every RFP."
    }
  }
}
list_rfps annotations
{
  "title": "List rfps",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_rfp_for_idea
Advertised by the server during the last successful anonymous check.
Advertised read-only

Given a project idea, find which Canton Dev Fund RFP(s) it fits and how crowded that area is. Matches the idea against the RFP texts in the 2026-2028 roadmap (shared terms, shown), then for the best fits shows what the Foundation asks for, its stated appetite for grants, and the proposals that declare the RFP. Also shows the existing Dev Fund proposals closest to the idea by text whether or not they declared an RFP, because most never did. The match is lexical, so a fit with few shared terms is weak and flagged as such. If no RFP fits, the idea can still be filed as an individual initiative (outside the roadmap). Canton-specific. For the full RFP list use list_rfps; to include ecosystem projects as well as proposals use detect_builder_overlap.

find_rfp_for_idea input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "idea"
  ],
  "properties": {
    "idea": {
      "type": "string",
      "minLength": 6,
      "description": "One-paragraph project idea or capability description."
    }
  }
}
find_rfp_for_idea annotations
{
  "title": "Find rfp for idea",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_proposals_needing_champion
Advertised by the server during the last successful anonymous check.
Advertised read-only

List open Canton Dev Fund proposals waiting in the Needs Champion or Incoming columns of the Foundation's project board, i.e. with no champion confirmed there, oldest first, with what the proposal file and the PR text say about its champion. A proposal needs a champion, a sponsor from the Tech & Ops Committee, to move into review, and many stall without one. The bot labels needs-champion and champion-confirmed are deliberately NOT used as evidence: champion-confirmed is set from the PR text at filing and has been wrong. Evidence is the board column (champion assigned, Ready for Vote, Voting Live, Approved) plus the Champion line in the proposal file and in the PR text; a name there is the applicant's claim, not a confirmation. A proposal whose file is not held and whose PR text is silent is reported as "not stated", which does not mean "none". SIG-membership PRs are excluded. Canton-specific.

list_proposals_needing_champion input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "rfp": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1,
      "description": "Only proposals that declare this RFP number (label, PR text, title or proposal file)."
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "How many proposals to return. Default 20, max 50. The response states the full count."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many before returning, for paging past the limit."
    }
  }
}
list_proposals_needing_champion annotations
{
  "title": "List proposals needing champion",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_proposal
Advertised by the server during the last successful anonymous check.
Advertised read-only

Everything CCPEDIA holds about ONE Canton Dev Fund proposal (a pull request in canton-foundation/canton-dev-fund), by its PR number: state and project-board column, labels, the facts parsed from the proposal file (organization, author, declared RFP, champion, funding in CC, duration, SIG label, milestones), champion evidence (board column, proposal file, PR text), reviewers, discussion statistics, and the timeline of label, reviewer, rename and board events. Use after get_proposals, list_proposals_needing_champion or search_dev_fund returned a number. For the full conversation use get_proposal_discussion, for the full proposal text get_proposal_file. Canton-specific.

get_proposal input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "number"
  ],
  "properties": {
    "number": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1,
      "description": "PR (or issue) number in canton-foundation/canton-dev-fund, e.g. 439."
    }
  }
}
get_proposal annotations
{
  "title": "Get proposal",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_proposal_discussion
Advertised by the server during the last successful anonymous check.
Advertised read-only

The conversation on ONE Canton Dev Fund proposal, oldest first: every comment, every formal review (approved, changes requested, commented) and every inline review comment on the proposal file, with author, GitHub role (member, collaborator, none), date, and the text. Pages with offset. Use to read what reviewers, champions and the committee actually said, or why a proposal stalled. Canton-specific.

get_proposal_discussion input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "number"
  ],
  "properties": {
    "kind": {
      "enum": [
        "issue_comment",
        "review_comment",
        "review"
      ],
      "type": "string",
      "description": "Only this kind: issue_comment (conversation), review_comment (inline on the file), review (a formal review verdict)."
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 30,
      "minimum": 1,
      "description": "How many entries to return. Default 10, max 30. The response states the full count."
    },
    "number": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1,
      "description": "PR (or issue) number in canton-foundation/canton-dev-fund."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many entries, for paging."
    }
  }
}
get_proposal_discussion annotations
{
  "title": "Get proposal discussion",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_proposal_file
Advertised by the server during the last successful anonymous check.
Advertised read-only

The full text of the proposal file(s) a Canton Dev Fund PR adds (proposals/*.md or rfps/<category>/*.md), exactly as in the PR head: abstract, specification, milestones, acceptance criteria, funding. A PR can add several files; pass path to pick one. Use after get_proposal when the details matter. Canton-specific.

get_proposal_file input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "number"
  ],
  "properties": {
    "path": {
      "type": "string",
      "maxLength": 300,
      "description": "One of the paths listed for that PR. Omit for the first file."
    },
    "number": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1,
      "description": "PR number in canton-foundation/canton-dev-fund."
    }
  }
}
get_proposal_file annotations
{
  "title": "Get proposal file",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_dev_fund
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search ALL Canton Dev Fund text for words: proposal files, PR descriptions, every comment, formal review and inline review comment, ranked by relevance with a snippet around the match. Scope can be narrowed to comments, proposal_files or descriptions, and to one GitHub author. Use for "who said what about X", "which proposals mention Y", "did a reviewer object to Z". Default mode "words" is lexical (the words must appear, exact and exhaustive). Mode "meaning" searches the same text by meaning with embeddings plus words, so "did anyone worry about validator uptime" finds a comment that never says uptime; it cannot be limited to one author. For a ranked pick among whole proposals for an idea use find_rfp_for_idea or detect_builder_overlap. Canton-specific.

search_dev_fund input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "mode": {
      "enum": [
        "words",
        "meaning"
      ],
      "type": "string",
      "default": "words",
      "description": "words (default): exact, exhaustive, every word must appear. meaning: best match by meaning and words together, over comments, proposal files and PR descriptions; does not support the author filter."
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 30,
      "minimum": 1,
      "description": "How many hits to return. Default 10, max 30."
    },
    "query": {
      "type": "string",
      "maxLength": 300,
      "minLength": 2,
      "description": "Words to look for, e.g. \"indexer champion\" or \"volatility amendment\". In mode \"meaning\", a plain-language question or phrase."
    },
    "scope": {
      "enum": [
        "all",
        "comments",
        "proposal_files",
        "descriptions"
      ],
      "type": "string",
      "default": "all",
      "description": "all, comments (comments + reviews + inline review comments), proposal_files, or descriptions (titles and descriptions of pull requests and tracking issues)."
    },
    "author": {
      "type": "string",
      "maxLength": 80,
      "description": "GitHub login; limits comments and PR descriptions to that person."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many hits, for paging."
    }
  }
}
search_dev_fund annotations
{
  "title": "Search dev fund",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_dev_fund_activity
Advertised by the server during the last successful anonymous check.
Advertised read-only

What happened in the Canton Dev Fund lately, newest first: new comments and reviews with a snippet, and (optionally) timeline events such as labels added, reviewers requested, proposals renamed, merged, closed or moved on the project board. Use for "what is going on in the Dev Fund", "what did the committee say this week", "which proposals just got reviewed". Canton-specific.

get_dev_fund_activity input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "days": {
      "type": "integer",
      "default": 7,
      "maximum": 120,
      "minimum": 1,
      "description": "Look back this many days. Default 7, max 120."
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "How many entries. Default 20, max 50."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many entries, for paging."
    },
    "include_events": {
      "type": "boolean",
      "default": true,
      "description": "Also list timeline events (labels, reviewer requests, renames, board moves). Default true."
    }
  }
}
get_dev_fund_activity annotations
{
  "title": "Get dev fund activity",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_dev_fund_lifecycle
Advertised by the server during the last successful anonymous check.
Advertised read-only

How Canton Dev Fund proposals actually move through the Foundation project board, from the recorded column history: the funnel (how many reach each column), median and p90 days in each column, time to decision, time to the first human response, how many open proposals wait on the applicant, the committee, a vote or nobody, bot labels against the board, and steps back. Pass number for one proposal: every stay in a column with the date and who moved it, its waiting state with the reason, first response, votes and steps back. Pass view "flow" for the weekly opened, voting, approved and closed counts and the open backlog. Percentiles are linear interpolation; open proposals are never mixed into completed-stay statistics; every figure carries its n and the board history has known gaps, stated in the answer. Canton-specific.

get_dev_fund_lifecycle input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "view": {
      "enum": [
        "overview",
        "flow"
      ],
      "type": "string",
      "default": "overview",
      "description": "overview (default) or flow (weekly numbers). Ignored when number is given."
    },
    "number": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1,
      "description": "A proposal (PR) number: its own history instead of the overview."
    }
  }
}
get_dev_fund_lifecycle annotations
{
  "title": "Get dev fund lifecycle",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_stuck_proposals
Advertised by the server during the last successful anonymous check.
Advertised read-only

Open Canton Dev Fund proposals that nothing has happened on for at least a number of days (no human comment, review or board move), oldest first, grouped by who the next step is on: the applicant (the committee asked for changes), the committee (someone is assigned or it is ready for a vote), nobody picked it up (no champion, no reviewer), or a vote. Each item states the reason in plain words and who acted last. Proposals whose board history is incomplete are listed apart as unplaced. Use for "what is stuck and on whom". Canton-specific.

list_stuck_proposals input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "How many proposals. Default 20, max 50. The response states the full count."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many, for paging."
    },
    "stuck_days": {
      "type": "integer",
      "default": 30,
      "maximum": 365,
      "minimum": 7,
      "description": "Idle for at least this many days. Default 30."
    },
    "waiting_on": {
      "enum": [
        "applicant",
        "committee",
        "nobody picked it up",
        "vote"
      ],
      "type": "string",
      "description": "Only proposals whose next step is on this side."
    }
  }
}
list_stuck_proposals annotations
{
  "title": "List stuck proposals",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_duplicate_proposals
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find Canton Dev Fund proposals that duplicate, re-file or overlap each other, from the proposal files compared by meaning plus identical text, title, author and organization. Without a number it lists groups (for example the same text filed twice, a team re-filing under Dev Fund 2.0, two teams building the same indexer), by default only groups with an open proposal; with a number it lists the closest proposals to that one with the evidence. Each group states its relation (exact duplicate, likely resubmission, likely duplicate by another filer, overlap, possible overlap, related by the same applicant, likely amendment), a confidence and the numbers behind it. Overlap is a lead to read both proposals, not a verdict; possible overlap is wrong more often than right, and amendments and same-applicant relations are left out unless asked for. Canton-specific.

find_duplicate_proposals input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 30,
      "minimum": 1,
      "description": "How many groups or neighbours. Default 10, max 30. The response states the full count."
    },
    "scope": {
      "enum": [
        "open",
        "all"
      ],
      "type": "string",
      "default": "open",
      "description": "open (default): groups with at least one open proposal. all: every group, closed ones too."
    },
    "number": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1,
      "description": "A proposal (PR) number: list the proposals closest to it instead of listing groups."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Skip this many groups, for paging."
    },
    "relations": {
      "type": "array",
      "items": {
        "enum": [
          "exact-duplicate",
          "likely-amendment",
          "likely-resubmission",
          "likely-duplicate",
          "overlap",
          "possible-overlap",
          "same-applicant-related"
        ],
        "type": "string"
      },
      "description": "Only these relations. Default: exact-duplicate, likely-duplicate, likely-resubmission and overlap, the same set the Dev Fund Navigator page counts. likely-amendment (maintainer edits), same-applicant-related and possible-overlap only when asked for."
    },
    "min_similarity": {
      "type": "number",
      "maximum": 1,
      "minimum": 0.3,
      "description": "Raise the similarity floor, 0 to 1 on the proposal-file comparison. Defaults are the validated thresholds."
    }
  }
}
find_duplicate_proposals annotations
{
  "title": "Find duplicate proposals",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_dev_fund_person
Advertised by the server during the last successful anonymous check.
Advertised read-only

Who is this person in the Canton Dev Fund, by GitHub login: their SIG memberships and organization (from the SIG directory), the proposals they authored, how much they comment and review (and how often they approve or request changes), which proposals asked them to review, which they were assigned, and where a champion line names them. Use to judge who a possible champion or reviewer is and how responsive they are. Canton-specific.

get_dev_fund_person input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "login"
  ],
  "properties": {
    "login": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "GitHub login, e.g. \"waynecollier-da\" or \"srikanth-bitdynamics\"."
    }
  }
}
get_dev_fund_person annotations
{
  "title": "Get dev fund person",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
full_context
Advertised by the server during the last successful anonymous check.
Advertised read-only

Single free-text 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 described in words, even if that topic happens to be a known CIP's nickname (e.g. 'featured app locking'). This tool does not require a CIP id. If the user already gives a specific CIP id/number, use get_cip_citations instead for a deeper single-CIP citation graph. For narrow single-source searches prefer the specialised tools.

full_context input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "topic"
  ],
  "properties": {
    "topic": {
      "type": "string",
      "minLength": 2,
      "description": "Topic / question."
    },
    "limit_per_source": {
      "type": "integer",
      "maximum": 10,
      "minimum": 1,
      "description": "Max rows per source (default 3)."
    }
  }
}
full_context annotations
{
  "title": "Full context",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
community_consensus
Advertised by the server during the last successful anonymous check.
Advertised read-only

Surface signals of what the Canton community thinks about a topic: the forum threads that match it best by meaning (views, replies, distinct participants), the mailing-list threads that match best with how many messages mention every term, and the first reply on the best-matching thread. Canton-specific. Not sentiment-analysis; a structured roundup the caller can summarise.

community_consensus input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "topic"
  ],
  "properties": {
    "topic": {
      "type": "string",
      "minLength": 2,
      "description": "Topic to assess."
    }
  }
}
community_consensus annotations
{
  "title": "Community consensus",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_expert
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

find_expert input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "topic"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 15,
      "minimum": 1,
      "description": "Max authors (default 5)."
    },
    "topic": {
      "type": "string",
      "minLength": 2,
      "description": "Topic / domain to find experts for."
    }
  }
}
find_expert annotations
{
  "title": "Find expert",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
detect_drift
Advertised by the server during the last successful anonymous check.
Advertised read-only

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).

detect_drift input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "topic"
  ],
  "properties": {
    "topic": {
      "type": "string",
      "minLength": 2,
      "description": "Topic to cross-check."
    }
  }
}
detect_drift annotations
{
  "title": "Detect drift",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
learning_path
Advertised by the server during the last successful anonymous check.
Advertised read-only

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).

learning_path input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "goal"
  ],
  "properties": {
    "goal": {
      "type": "string",
      "minLength": 2,
      "description": "What the learner wants to do, e.g. \"build a Canton dApp\", \"operate a validator\", \"write a CIP\"."
    }
  }
}
learning_path annotations
{
  "title": "Learning path",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
outdated_guidance_detector
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

outdated_guidance_detector input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "description": "Topic to scan."
    }
  }
}
outdated_guidance_detector annotations
{
  "title": "Outdated guidance detector",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
ecosystem_dependency_graph
Advertised by the server during the last successful anonymous check.
Advertised read-only

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?".

ecosystem_dependency_graph input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "topic"
  ],
  "properties": {
    "topic": {
      "type": "string",
      "minLength": 2,
      "description": "Topic / category / project family."
    }
  }
}
ecosystem_dependency_graph annotations
{
  "title": "Ecosystem dependency graph",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_collaboration_opportunities
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

find_collaboration_opportunities input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "project"
  ],
  "properties": {
    "project": {
      "type": "string",
      "minLength": 2,
      "description": "Project name or slug to look around."
    }
  }
}
find_collaboration_opportunities annotations
{
  "title": "Find collaboration opportunities",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_canton_mcps
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_canton_mcps input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
list_canton_mcps annotations
{
  "title": "List Canton MCPs",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
call_canton_mcp
Advertised by the server during the last successful anonymous check.
Open-world

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.

call_canton_mcp input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "server",
    "tool"
  ],
  "properties": {
    "tool": {
      "type": "string",
      "description": "Tool name to call on that server"
    },
    "server": {
      "type": "string",
      "description": "Target MCP id from list_canton_mcps (e.g. \"ccpedia\", \"x402-mcp\")"
    },
    "arguments": {
      "type": "object",
      "description": "Arguments object for that tool",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  }
}
call_canton_mcp annotations
{
  "title": "Call Canton MCP",
  "readOnlyHint": false,
  "openWorldHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

7 advertised

deprecations

Advertised by the server during the last successful anonymous check.

deprecations URI
ccpedia://deprecations
versions

Advertised by the server during the last successful anonymous check.

versions URI
ccpedia://versions
tools

Advertised by the server during the last successful anonymous check.

tools URI
ccpedia://tools
docs-index

Advertised by the server during the last successful anonymous check.

docs-index URI
ccpedia://docs-index
community

Advertised by the server during the last successful anonymous check.

community URI
ccpedia://community
zenith

Advertised by the server during the last successful anonymous check.

zenith URI
ccpedia://zenith
status

Advertised by the server during the last successful anonymous check.

status URI
ccpedia://status

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
2224 ms
95th percentile latency
2224 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 2224 ms · metadata changed · 104 tool(s), 7 resource(s), 0 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http ccpedia-mcp https://ccpedia.xyz/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add ccpedia-mcp --url https://ccpedia.xyz/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable ccpedia-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "ccpedia-mcp": {
      "url": "https://ccpedia.xyz/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "ccpedia-mcp": {
      "type": "streamableHttp",
      "url": "https://ccpedia.xyz/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start ccpedia-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "ccpedia-mcp": {
      "type": "http",
      "url": "https://ccpedia.xyz/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http ccpedia-mcp https://ccpedia.xyz/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://ccpedia.xyz/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "ccpedia-mcp": {
      "serverUrl": "https://ccpedia.xyz/mcp"
    }
  }
}

Let your agent find its tools

Find servers like CCPEDIA MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.