{"schema_version":"verify.report.v1","generated_at":"2026-09-02T08:19:09.152388+00:00","snapshot_id":"trustsnap_3037eb15b9441e65","server":{"namespace":"github-unitynodes","name":"ccpedia-mcp","title":"UnityNodes/ccpedia-mcp","description":"Hosted MCP server for the Canton Network's public record: CIPs, docs, forum, mailing lists, whitepapers, governance. No API key, no signup, read only.","homepage_url":"https://ccpedia.xyz/mcp","docs_url":"https://ccpedia.xyz/mcp","icon_url":"https://avatars.githubusercontent.com/u/159138743?v=4","support_url":"https://github.com/UnityNodes/ccpedia-mcp","remote_url":"https://ccpedia.xyz/mcp","server_card_url":null,"latest_version":null,"current_status":"healthy","current_score":59.9,"transport_type":"streamable-http","has_oauth":false,"has_dcr":false,"has_prompts":false,"tool_count":88,"current_validation_schema_version":"8058defc70ca932c","last_validated_at":"2026-09-02T03:04:46.300162+00:00","registry_source":"github_topic_registry","registry_identifier":"github_topic_registry:UnityNodes/ccpedia-mcp","canonical_identifier":null,"current_score_components":{"auth_operability_score":2.0,"error_contract_score":1.0,"rate_limit_semantics_score":2.0,"schema_completeness_score":3.0,"backward_compatibility_score":4.0,"slo_health_score":3.0,"security_hygiene_score":3.0,"task_success_score":4.0,"trust_confidence_score":2.0,"abuse_noise_ratio_score":4.0,"prompt_contract_score":0.0,"resource_contract_score":2.0,"discovery_metadata_score":2.0,"registry_consistency_score":2.0,"installability_score":4.0,"session_semantics_score":4.0,"tool_surface_design_score":3.0,"result_shape_stability_score":3.0,"oauth_interop_score":0.0,"recovery_semantics_score":0.0,"maintenance_signal_score":2.0,"adoption_signal_score":2.0,"freshness_confidence_score":4.0,"transport_fidelity_score":4.0,"spec_recency_score":2.0,"session_resume_score":3.0,"step_up_auth_score":0.0,"transport_compliance_score":2.0,"utility_coverage_score":0.0,"advanced_capability_coverage_score":1.0,"connector_publishability_score":2.0,"tool_snapshot_churn_score":4.0,"connector_replay_score":4.0,"request_association_score":0.0,"interactive_flow_safety_score":0.0,"action_safety_score":3.0,"official_registry_presence_score":2.0,"safety_transparency_score":2.0,"tool_capability_clarity_score":4.0,"destructive_operation_safety_score":3.0,"egress_ssrf_resilience_score":3.0,"execution_sandbox_safety_score":4.0,"data_exfiltration_resilience_score":3.0,"least_privilege_scope_score":3.0,"secret_handling_hygiene_score":3.0,"dependency_supply_chain_signal_score":0.0,"input_sanitization_safety_score":3.0,"tool_namespace_clarity_score":4.0},"capability_taxonomy":[],"machine_summary":{},"taxonomy_tags":[],"score_decomposition":[],"validation_diff":null,"tool_snapshot_diff":null,"connector_replay":{},"request_association":{},"production_readiness":{"code":"needs_remediation","label":"Needs remediation","reason":"Current validation evidence shows operational or discovery gaps that should be fixed first.","badge":"score-low","critical_alerts":0,"high_or_critical_alerts":0,"degraded_by_active_alerts":false},"recommended_for":[],"history_summary":{},"validation_timeline":[],"evidence_confidence":{"score":82.5,"label":"high","reason":"Based on 6 recent validations, 15 captured checks, and validation age of 5.2 hours.","live_check_count":15,"validation_age_hours":5.24,"basis":{"evidence_bearing_validations":6,"affirmative_live_check_count":15,"validation_age_hours":5.24,"freshness_threshold_hours":24}},"incident_feed":[],"disputes":[],"remediations":[],"client_remediation_modes":[],"client_profiles":[],"client_readiness_verdicts":[],"publishability_policy_profiles":[],"compatibility_fixtures":[],"install_snippets":{},"aliases":[],"raw_evidence":{"checks":{"probe_noise_resilience":{"status":"ok","latency_ms":753.16,"details":{"url":"https://ccpedia.xyz/robots.txt","http_status":200,"headers":{"content-type":"text/plain","set-cookie":"ccpedia_sid=40cf1a67d25b716e41c5ce1715ece000; Path=/; Expires=Thu, 02 Sep 2027 03:04:40 GMT; Max-Age=31536000; Secure; SameSite=lax","strict-transport-security":"max-age=31536000; includeSubDomains; preload"},"validation_disallowed":false,"consent_error":null}},"server_card":{"status":"error","latency_ms":648.14,"details":{"url":"https://ccpedia.xyz/.well-known/mcp/server-card.json","error":"Client error '404 Not Found' for url 'https://ccpedia.xyz/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404"}},"oauth_protected_resource":{"status":"error","latency_ms":463.47,"details":{"url":"https://ccpedia.xyz/.well-known/oauth-protected-resource","error":"Client error '404 Not Found' for url 'https://ccpedia.xyz/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404"}},"oauth_authorization_server":{"status":"missing","latency_ms":null,"details":{"reason":"no_authorization_server"}},"openid_configuration":{"status":"missing","latency_ms":null,"details":{"reason":"no_authorization_server"}},"initialize":{"status":"ok","latency_ms":645.73,"details":{"url":"https://ccpedia.xyz/mcp","payload":{"result":{"protocolVersion":"2025-03-26","capabilities":{"tools":{"listChanged":true},"resources":{"listChanged":true}},"serverInfo":{"name":"ccpedia","version":"1.0.0","description":"Canton Network knowledge base: CIPs, docs, forum, whitepapers, proposals and more."},"instructions":"CCPEDIA indexes the Canton Network ecosystem: CIPs, Canton/Daml/Splice docs, the forum,\nGlobal Synchronizer mailing lists, GitHub, Dev Fund proposals, whitepapers, YouTube\ntranscripts, and the on-chain governance record. Canton only. Do not use these tools for\nother blockchains, general web search, or local files.\n\nPicking a tool:\n- Conceptual or \"how does X work\" questions -> semantic_search.\n- Exact names, error strings, versions, identifiers -> search.\n- A specific CIP you can name -> get_cip, then get_cip_citations for its impact.\n- \"Was this decided, and by whom\" -> get_cip_vote_outcome or list_governance_votes.\n  These read the on-chain DSO record and are authoritative over the vote-tally PDFs.\n- \"Is my node current / what breaks if I upgrade\" -> get_upgrade_status.\n- \"Is this API still valid\" -> check_deprecation.\n\nEvery answer should cite the URLs the tools return. When a tool reports that a dataset is\nempty or unsynced, say so rather than substituting a guess.\n\nDo not fabricate specifics. Config keys, YAML or Helm blocks, CLI flags, environment\nvariables, party and contract IDs, addresses, and version numbers must be copied verbatim\nfrom a tool result. If the tools do not return an exact value, read the configuration or\nsetup page with get_doc and quote it; if it still is not there, say the sources do not\nspecify it and link where it lives, rather than inventing a plausible one. Separate what a\nsource states from your own inference, and do not assert a single root cause the sources do\nnot establish.\n\nIf the user asks how to report a problem with this data or suggest a source, point them at\nhttps://ccpedia.xyz/contact. Do not raise it otherwise."},"jsonrpc":"2.0","id":1},"http_status":200,"headers":{"content-type":"text/event-stream","ratelimit-limit":"60","ratelimit-remaining":"59","ratelimit-reset":"900","strict-transport-security":"max-age=31536000; includeSubDomains; preload"}}},"protocol_version_probe":{"status":"warning","latency_ms":null,"details":{"claimed_version":"2025-03-26","validator_protocol_version":"2025-03-26","latest_known_version":"2025-11-25","releases_behind":2,"lag_days":244}},"tools_list":{"status":"ok","latency_ms":802.92,"details":{"url":"https://ccpedia.xyz/mcp","payload":{"result":{"tools":[{"name":"search","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"query":{"type":"string","description":"Search query"},"type":{"default":"all","description":"Restrict results to one source type; \"governance\" is the stated reasoning behind an on-chain DSO vote; \"all\" searches everything","type":"string","enum":["all","cip","doc","discussion","mail","whitepaper","proposal","blog","youtube","github","governance"]},"limit":{"default":10,"description":"Max results to return (1-50)","type":"integer","minimum":1,"maximum":50},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["query"]},"annotations":{"title":"Search","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_cip","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"id":{"type":"string","description":"CIP ID: \"0001\", \"CIP-0042\", or \"PR-0117\""}},"required":["id"]},"annotations":{"title":"Get CIP","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"list_cips","description":"Browse Canton Improvement Proposals (CIPs), optionally filtered by status (Draft, Early Draft, In Review, Proposed, 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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"status":{"default":"all","type":"string","enum":["Draft","Early Draft","In Review","Proposed","Approved","Active","Final","Withdrawn","Rejected","Replaced","Obsolete","Pending","Review","Superseded","all"]},"type":{"description":"Type filter, e.g. \"Standards Track\"","type":"string"},"limit":{"default":20,"description":"How many CIPs to return. Default 20, max 100. The response states the full count, which can exceed this limit; page with offset.","type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}}},"annotations":{"title":"List CIPs","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_discussion","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"id":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":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."}},"required":["id"]},"annotations":{"title":"Get discussion","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_whitepaper","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"slug":{"type":"string","description":"Whitepaper slug, e.g. \"canton-network-whitepaper\""}},"required":["slug"]},"annotations":{"title":"Get whitepaper","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"list_whitepapers","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"annotations":{"title":"List whitepapers","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_trending","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"annotations":{"title":"Get trending","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_radar","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"level":{"default":"all","description":"Severity floor. \"critical\" and \"important\" return only that level; \"ecosystem\" is the low-severity feed; \"all\" (default) returns every live alert.","type":"string","enum":["all","critical","important","ecosystem"]},"limit":{"default":25,"description":"How many alerts to return, most severe and most recent first. Default 25.","type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}}},"annotations":{"title":"Get radar","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_proposals","description":"List Canton Network Dev Fund grant proposals: community funding requests tracked on GitHub. Filterable by state (open/closed/all). Use for 'what grants/funding requests exist' questions. NOT the same as Canton Improvement Proposals (CIPs): those are governance specs (use list_cips / get_cip). Returns number, title, state, author, and board status. Canton ecosystem only.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"state":{"default":"open","description":"Grant-request state on GitHub. Defaults to \"open\", so the total reported is open requests rather than every proposal ever filed.","type":"string","enum":["open","closed","all"]},"limit":{"default":20,"description":"How many proposals to return. Default 20, max 50. The response states the full count.","type":"integer","minimum":1,"maximum":50},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}}},"annotations":{"title":"Get proposals","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_doc","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"id":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":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."}},"required":["id"]},"annotations":{"title":"Get doc","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_cip_history","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"id":{"type":"string","description":"CIP ID: \"0001\", \"CIP-0042\", or \"PR-0117\""}},"required":["id"]},"annotations":{"title":"Get CIP history","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_cip_attachments","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"id":{"type":"string","description":"CIP ID: \"0001\", \"CIP-0042\""}},"required":["id"]},"annotations":{"title":"Get CIP attachments","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_cip_mentions","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"id":{"type":"string","description":"CIP ID: \"0001\", \"CIP-0042\", or \"PR-0117\""}},"required":["id"]},"annotations":{"title":"Get CIP mentions","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_recent_changes","description":"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'.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"days":{"default":7,"description":"How far back to look, in days, counted from now. Default 7, max 90.","type":"integer","minimum":1,"maximum":90},"limit":{"default":50,"description":"How many changes to return, newest first. Default 50, max 200.","type":"integer","minimum":1,"maximum":200}}},"annotations":{"title":"Get recent changes","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_network_stats","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"annotations":{"title":"Get network stats","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_token_market","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"annotations":{"title":"Get token market","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"list_ecosystem_projects","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"category":{"description":"Filter by category (e.g. \"DeFi\", \"Wallets\", \"NaaS\")","type":"string"},"query":{"description":"Search in title/description/tags","type":"string"},"liveness":{"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.","type":"string","enum":["alive","suspect","dead","unknown"]},"limit":{"default":30,"description":"How many projects to return. Default 30, max 100. The response states the full count.","type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}}},"annotations":{"title":"List ecosystem projects","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_network_state","description":"Get the latest Canton Network ON-CHAIN state snapshot from the public Scan API (api.cantonnodes.com): Super Validator list & count, voting threshold, sequencer count, latest mining round, featured-apps count, and cumulative app/validator rewards in CC. Canton-only, cached snapshot (captured_at). This is live network telemetry. NOT CCPEDIA content counts (get_network_stats) and NOT price/TVL (get_token_market).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"annotations":{"title":"Get network state","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"list_repos","description":"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).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"annotations":{"title":"List repos","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"list_github_discussions","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"repo":{"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.","type":"string"},"category":{"description":"Filter by Discussions category, e.g. \"Q&A\", \"Ideas\"","type":"string"},"limit":{"default":15,"description":"How many discussions to return, newest first. Default 15, max 50.","type":"integer","minimum":1,"maximum":50}}},"annotations":{"title":"List GitHub discussions","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_github_discussion","description":"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).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"id":{"type":"string","description":"GitHub GraphQL node ID, e.g. \"D_kwDOMNgu5s4AY...\""}},"required":["id"]},"annotations":{"title":"Get GitHub discussion","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_video","description":"Get a Canton Network video that CCPEDIA has cached (curated channels: Canton Network, Digital Asset, Sync Insights, Canton Foundation, Daml) by its YouTube id: title, channel, publish date, description and full transcript text if stored. CANTON-ONLY and limited to videos already in CCPEDIA's index. Does NOT fetch arbitrary YouTube videos (use a dedicated YouTube tool for that). Obtain ids from list_videos or search.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"id":{"type":"string","description":"YouTube video id, e.g. \"dQw4w9WgXcQ\""},"transcript_chars":{"default":12000,"description":"Transcript characters to return. Default 12000; raise it (max 200000) for the full text, or set 0 for metadata only.","type":"integer","minimum":0,"maximum":200000}},"required":["id"]},"annotations":{"title":"Get video","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"list_videos","description":"List Canton Network videos cached in CCPEDIA, filtered by channel (Canton Network, Digital Asset, Sync Insights, Canton Foundation, Daml), publish date (since), and transcript availability. CANTON-ONLY corpus. These are curated Canton ecosystem videos, not general YouTube. Returns metadata only (id, title, channel, date); call get_video with an id for the transcript.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"channel":{"description":"Channel name filter, e.g. \"Canton Network\", \"Digital Asset\", \"Sync Insights\", \"Canton Foundation\", \"Daml\". Case-insensitive substring.","type":"string"},"since":{"description":"Earliest published_at (ISO date, e.g. \"2026-01-01\"). Default: no lower bound.","type":"string"},"has_transcript":{"description":"If true, only return videos with a stored transcript. If false, only those still missing one. Omit for both.","type":"boolean"},"limit":{"default":20,"description":"How many videos to return. Default 20, max 100.","type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}}},"annotations":{"title":"List videos","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_validator_fleet","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"version":{"description":"Your Splice version, e.g. \"0.6.9\", to locate it in the distribution.","type":"string"}}},"annotations":{"title":"Get validator fleet","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_validator","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"name":{"type":"string","description":"Validator name or party id, whole or partial, e.g. \"GSF-validator-2\" or \"MPCH\"."},"limit":{"description":"Maximum matches to return (default 10, max 50).","type":"integer","minimum":1,"maximum":50}},"required":["name"]},"annotations":{"title":"Get validator","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_upcoming_deadlines","description":"Canton operational deadlines coming up: scheduled upgrades, minimum-version raises, topology freezes and Logical Synchronizer Upgrades, per network. Use for \"what do I have to do in the next N days\" on DevNet, TestNet or MainNet. Events whose network could not be attributed are excluded rather than guessed, because a wrong deadline is worse than a missing one. A subscribable calendar of the same data is at https://ccpedia.xyz/calendar. For a verdict on your specific version use get_upgrade_status; for the full historical schedule use get_sv_schedule. Canton ecosystem only.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"environment":{"description":"\"MainNet\", \"TestNet\" or \"DevNet\". Omit for all networks.","type":"string"},"days":{"description":"How far ahead to look, in days. Default 30.","type":"integer","minimum":1,"maximum":180},"validator_only":{"description":"Only events that require a validator operator to act.","type":"boolean"}}},"annotations":{"title":"Get upcoming deadlines","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"list_governance_votes","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"limit":{"description":"Max rows (default 20).","type":"integer","minimum":1,"maximum":200},"action":{"description":"Filter by action, e.g. \"SRARC_GrantFeaturedAppRight\", \"SRARC_RevokeFeaturedAppRight\", \"SRARC_UpdateSvRewardWeight\", \"SRARC_OffboardSv\".","type":"string"},"outcome":{"description":"Filter by outcome. Omit for all outcomes; there is no \"all\" value.","type":"string","enum":["VRO_Accepted","VRO_Rejected","VRO_Expired"]},"status":{"description":"\"open\" for votes still in flight, \"closed\" for decided ones. Omit for both; there is no \"all\" value.","type":"string","enum":["open","closed"]},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}}},"annotations":{"title":"List governance votes","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_governance_vote","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"tracking_cid":{"type":"string","description":"The vote request tracking contract id, or a unique prefix of it, as returned by list_governance_votes."}},"required":["tracking_cid"]},"annotations":{"title":"Get governance vote","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"list_votes_by_sv","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"sv_name":{"description":"Super Validator short name, e.g. \"Tradeweb-Markets-1\", \"Digital-Asset-1\", \"Cumberland-1\". Omit for all of them.","type":"string"}}},"annotations":{"title":"List votes by SV","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_cip_vote_outcome","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"cip_id":{"type":"string","description":"CIP id, e.g. \"CIP-0116\", \"116\", \"0116\"."},"limit":{"default":20,"description":"How many vote requests to return, newest first. Default 20, max 100. The response states the full count either way.","type":"integer","minimum":1,"maximum":100}},"required":["cip_id"]},"annotations":{"title":"Get CIP vote outcome","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_cip_votes","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"cip_id":{"type":"string","description":"CIP id, e.g. \"0117\", \"0118\", or \"CIP-0117\". Numeric form preferred."},"limit":{"default":25,"description":"How many messages (oldest first) to return. Default 25, max 100. The header states the full count and the range shown.","type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"description":"Skip this many messages before returning, for paging through a long vote thread.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["cip_id"]},"annotations":{"title":"Get CIP votes","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"list_mailing_threads","description":"List threads from the Canton Network governance mailing lists (lists.sync.global groups: cip-discuss, cip-vote, cip-announce, globalSyncForum, 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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"group":{"description":"Restrict to one of the 8 indexed groups.","type":"string","enum":["cip-discuss","cip-vote","cip-announce","globalSyncForum","grants-discuss","validator-announce","tokenomics-announce","supervalidator-announce"]},"cip_id":{"description":"CIP number filter, e.g. \"0117\". Returns only threads tagged with this CIP.","type":"string"},"since":{"description":"Earliest last_post_at ISO date.","type":"string"},"limit":{"default":20,"description":"How many threads to return. Default 20, max 100.","type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}}},"annotations":{"title":"List mailing threads","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_mailing_thread","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","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":{"default":25,"description":"How many messages (oldest first) to return. Default 25, max 100. The header states the full held count and the range shown.","type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"description":"Skip this many messages before returning, for paging through a long thread.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id"]},"annotations":{"title":"Get mailing thread","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_foundation_info","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"topic":{"type":"string","description":"Free-text topic, e.g. \"team\", \"executive director\", \"working groups\", \"membership\", \"grants\", \"board\"."},"limit":{"default":3,"description":"How many matching sections to return. Default 3, max 10.","type":"integer","minimum":1,"maximum":10}},"required":["topic"]},"annotations":{"title":"Get foundation info","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"semantic_search","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"query":{"type":"string","minLength":2,"description":"Free-form question or phrase."},"source_types":{"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. Omit for all.","type":"array","items":{"type":"string","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"]}},"limit":{"default":6,"description":"How many chunks to return. Default 6, max 15. Capped at 2 per document so one long file cannot take every slot.","type":"integer","minimum":1,"maximum":15}},"required":["query"]},"annotations":{"title":"Semantic search","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"check_deprecation","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","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."}},"required":["name"]},"annotations":{"title":"Check deprecation","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_started_guide","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"background":{"type":"string","enum":["evm","solana","sui_move","web_dev","enterprise","new_to_blockchain"],"description":"Developer's primary background. Ask the user to select this before proceeding."}},"required":["background"]},"annotations":{"title":"Get started guide","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_faq","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"question":{"type":"string","description":"Developer's question, e.g. \"how do I install\", \"create party\", \"deploy to testnet\"."}},"required":["question"]},"annotations":{"title":"Get FAQ","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_api_reference","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"api":{"type":"string","enum":["json_ledger_api","grpc_ledger_api","scan_api","validator_api","token_standard","admin_api","splice_http"],"description":"Which API to look up."}},"required":["api"]},"annotations":{"title":"Get API reference","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"compare_to_evm","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"concept":{"type":"string","description":"EVM concept, e.g. \"smart contract\", \"wallet\", \"gas\", \"ERC20\", \"Hardhat\", \"Remix\", \"ABI\"."}},"required":["concept"]},"annotations":{"title":"Compare to EVM","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"migrate_lookup","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"query":{"type":"string","description":"The deprecated command, package, or tool name to look up. Best-match search."}},"required":["query"]},"annotations":{"title":"Migrate lookup","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"list_deprecations","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"category":{"default":"all","description":"Kind of thing deprecated. \"all\" (default) returns every category.","type":"string","enum":["all","cli","package","tool","api","workflow","other"]}}},"annotations":{"title":"List deprecations","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_current_versions","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"annotations":{"title":"Get current versions","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_cip_citations","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"cip_id":{"type":"string","description":"CIP id, e.g. \"CIP-0056\", \"0056\", \"PR-0117\". Padded or unpadded both accepted."}},"required":["cip_id"]},"annotations":{"title":"Get CIP citations","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_kb_drift","description":"Report where the Foundation Build-on-Canton KB snapshot (which CCPEDIA syncs daily from github.com/canton-network-devs/Build-on-Canton-MCP) diverges from CCPEDIA's live signals (github_releases, mailing_messages). Returns each drifted (category, key) with the KB value, the live value derived right now, the drift age in days, and severity (info | warn | stale). Use this when a user or another agent quotes a Canton SDK / Splice / DPM / Daml version from foundation_kb and you need to confirm whether it is still current. CCPEDIA-specific transparency layer: no other Canton MCP server exposes this kind of cross-source quality audit. Canton/Daml/Splice ecosystem only.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"refresh":{"default":false,"description":"If true, re-run the validator before returning the report. Default false uses the most recent stored findings.","type":"boolean"}}},"annotations":{"title":"Get KB drift","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"diagnose_error","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"error_text":{"type":"string","minLength":8,"description":"Error message, stack trace, or status code. Longer/more distinctive text returns better matches."},"limit":{"description":"Max matches per source (default 3).","type":"integer","minimum":1,"maximum":10}},"required":["error_text"]},"annotations":{"title":"Diagnose error","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_breaking_changes","description":"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\").","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"from_sdk":{"type":"string","description":"Origin version, e.g. \"0.5.0\" or \"v3.4.0\"."},"to_sdk":{"type":"string","description":"Target version, e.g. \"0.6.10\" or \"v3.5.6\"."},"repo":{"description":"Optional repo hint: \"canton\", \"splice\" (alias for decentralized-canton-sync), \"daml\", or a full owner/name. Auto-inferred from version shape when omitted.","type":"string"}},"required":["from_sdk","to_sdk"]},"annotations":{"title":"Get breaking changes","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_recurring_issue_fingerprint","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"window_months":{"description":"Look-back window in months (default 18).","type":"integer","minimum":3,"maximum":36},"min_months":{"description":"A keyword must appear in this many distinct months to count as recurring (default 3).","type":"integer","minimum":2,"maximum":12}}},"annotations":{"title":"Get recurring issue fingerprint","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"list_featured_apps","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"category":{"description":"Filter by category, e.g. \"Validator\", \"DeFi\", \"Tokenized Assets\" (case-insensitive substring match).","type":"string"},"sort":{"description":"Sort key (default: recent).","type":"string","enum":["recent","name","tvl","volume"]},"limit":{"description":"Max rows (default 25).","type":"integer","minimum":1,"maximum":200}}},"annotations":{"title":"List featured apps","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_app_metrics","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"app_id":{"type":"string","description":"Featured-app contract id, or a unique prefix of it as shown by list_featured_apps."}},"required":["app_id"]},"annotations":{"title":"Get app metrics","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"find_apps_by_pattern","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"pattern":{"type":"string","description":"Free text, e.g. \"AMM\", \"wallet\", \"DeFi vault\", \"validator\"."},"limit":{"description":"Max rows (default 10).","type":"integer","minimum":1,"maximum":50}},"required":["pattern"]},"annotations":{"title":"Find apps by pattern","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_upgrade_status","description":"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?\".","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"environment":{"type":"string","enum":["DevNet","TestNet","MainNet"],"description":"Which network the node runs on."},"version":{"description":"Splice version the node currently runs, e.g. \"0.6.9\". Omit to get the schedule without a verdict.","type":"string"}},"required":["environment"]},"annotations":{"title":"Get upgrade status","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_sv_schedule","description":"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?\".","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"environment":{"description":"Restrict to one environment. Omit for all.","type":"string","enum":["DevNet","TestNet","MainNet"]},"upcoming_only":{"description":"If true (default), only events with start_at >= today.","type":"boolean"},"limit":{"description":"Max rows (default 20).","type":"integer","minimum":1,"maximum":100}}},"annotations":{"title":"Get SV schedule","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_upcoming_operations","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"days":{"default":30,"description":"Days ahead to look (1-180, default 30).","type":"integer","minimum":1,"maximum":180}}},"annotations":{"title":"Get upcoming operations","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_recent_deployments","description":"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?\".","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"limit":{"description":"How many deployments to return, newest first. Default 10, max 50.","type":"integer","minimum":1,"maximum":50},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}}},"annotations":{"title":"Get recent deployments","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"detect_cip_dependency_chain","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"cip_id":{"type":"string","description":"Starting CIP or PR id, e.g. \"0112\", \"CIP-0112\", or \"PR-203\"."}},"required":["cip_id"]},"annotations":{"title":"Detect CIP dependency chain","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"compare_governance_outcomes","description":"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?\".","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"window_days":{"default":90,"description":"Window in days, 7-365 (default 90).","type":"integer","minimum":7,"maximum":365}}},"annotations":{"title":"Compare governance outcomes","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_sdk_changelog","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"version":{"type":"string","description":"Version tag, e.g. \"3.5.6\", \"v3.5.6\", \"0.6.10\"."},"repo":{"description":"Optional repo hint: canton, daml, dpm, splice.","type":"string"}},"required":["version"]},"annotations":{"title":"Get SDK changelog","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"search_community","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"query":{"type":"string","minLength":2,"description":"Free-text query."},"limit":{"description":"Max hits per source (default 5).","type":"integer","minimum":1,"maximum":20}},"required":["query"]},"annotations":{"title":"Search community","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"search_github_issues","description":"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).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"query":{"type":"string","minLength":2,"description":"Free-text query."},"state":{"description":"Issue state filter (default: all).","type":"string","enum":["open","closed","all"]},"limit":{"description":"Max rows (default 10).","type":"integer","minimum":1,"maximum":50},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["query"]},"annotations":{"title":"Search GitHub issues","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"search_talks","description":"Search CCPEDIA's indexed Canton talks/videos (YouTube transcripts). Canton-specific. Returns matches across title + transcript with a short snippet around the hit.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"query":{"type":"string","minLength":2,"description":"Free-text query. Appears in title or transcript."},"limit":{"description":"Max rows (default 5).","type":"integer","minimum":1,"maximum":20},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["query"]},"annotations":{"title":"Search talks","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"find_known_issues","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"description":{"type":"string","minLength":8,"description":"What you're seeing. Short prose, not a stack trace (for that use diagnose_error)."},"limit":{"description":"Max rows per source (default 5).","type":"integer","minimum":1,"maximum":15}},"required":["description"]},"annotations":{"title":"Find known issues","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"find_cip_for_feature","description":"Given a Canton feature or capability description, find the matching CIP(s) by searching titles and bodies. Canton-specific. Use to answer \"is there a CIP for X?\".","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"feature":{"type":"string","minLength":2,"description":"Feature description, e.g. \"wallet abstraction\", \"token standard\", \"validator staking\"."}},"required":["feature"]},"annotations":{"title":"Find CIP for feature","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_cip_implementation_status","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"cip_id":{"type":"string","description":"CIP id, e.g. \"0112\", \"CIP-0112\", \"PR-0088\"."}},"required":["cip_id"]},"annotations":{"title":"Get CIP implementation status","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_latest_release","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"package":{"type":"string","description":"Repo or package name: \"canton\", \"daml\", \"dpm\", \"splice\", or a full owner/repo."}},"required":["package"]},"annotations":{"title":"Get latest release","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"search_release_notes","description":"Search across release-notes bodies of all indexed Canton repos for a feature/keyword. Canton-specific. Use to find which release first mentioned X.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"feature":{"type":"string","minLength":2,"description":"Feature keyword, e.g. \"logical synchronizer\", \"topology\", \"wallet kernel\"."}},"required":["feature"]},"annotations":{"title":"Search release notes","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"find_security_patches","description":"Surface release notes likely to contain security or CVE fixes. Canton-specific. Heuristic: matches release bodies containing security / CVE / vulnerability / patch keywords.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"limit":{"description":"Max rows (default 10).","type":"integer","minimum":1,"maximum":30}}},"annotations":{"title":"Find security patches","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_npm_packages","description":"List the indexed Canton/Daml npm packages (sdk_versions registry=npm) optionally filtered by name. Canton-specific.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"query":{"description":"Optional substring filter on package name.","type":"string"},"limit":{"description":"Max packages (default 25).","type":"integer","minimum":1,"maximum":50},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}}},"annotations":{"title":"Get npm packages","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"find_similar_projects","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"description":{"type":"string","minLength":4,"description":"Project description / idea."},"limit":{"description":"Max rows (default 10).","type":"integer","minimum":1,"maximum":20},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["description"]},"annotations":{"title":"Find similar projects","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"search_mailing_list","description":"Search across CCPEDIA's indexed Canton mailing-list archives (cip-discuss, cip-vote, grants-discuss, validator-announce, etc). Canton-specific.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"query":{"type":"string","minLength":2,"description":"Free-text query. Appears in subject or body."},"group":{"description":"Optional group_slug filter, e.g. \"cip-discuss\".","type":"string"},"limit":{"description":"Max rows (default 10).","type":"integer","minimum":1,"maximum":30},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["query"]},"annotations":{"title":"Search mailing list","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"find_maintainer_guidance","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"topic":{"type":"string","minLength":2,"description":"Topic keyword, e.g. \"topology\", \"wallet\", \"DAR upload\"."}},"required":["topic"]},"annotations":{"title":"Find maintainer guidance","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_issue_status","description":"Look up one GitHub issue or PR by repo + number. Canton/Daml/Splice repos only.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"repo":{"type":"string","description":"Repo, e.g. \"canton-foundation/canton-dev-fund\" or shorthand \"canton-dev-fund\"."},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Issue or PR number."}},"required":["repo","number"]},"annotations":{"title":"Get issue status","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"find_code_examples","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"topic":{"type":"string","minLength":2,"description":"Topic keyword."},"limit":{"description":"Max rows (default 5).","type":"integer","minimum":1,"maximum":15},"offset":{"default":0,"description":"Skip this many before returning, for paging past the limit. The response states the full count and echoes the offset used.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["topic"]},"annotations":{"title":"Find code examples","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_funding_landscape","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"category":{"description":"Optional label filter, e.g. \"daml-tooling\", \"node-deployment-operations\".","type":"string"}}},"annotations":{"title":"Get funding landscape","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_proposal_milestones","description":"For one Canton Dev Fund proposal PR, list any related milestone tracking issues (issues whose body or title references the PR number). Canton-specific.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"pr_number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"PR number in canton-foundation/canton-dev-fund."}},"required":["pr_number"]},"annotations":{"title":"Get proposal milestones","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"get_ecosystem_gaps","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"limit":{"description":"Max rows per gap type (default 5).","type":"integer","minimum":1,"maximum":20}}},"annotations":{"title":"Get ecosystem gaps","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"detect_builder_overlap","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"idea":{"type":"string","minLength":6,"description":"One-paragraph project idea or capability description."}},"required":["idea"]},"annotations":{"title":"Detect builder overlap","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"proposal_success_predictor","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"draft_text":{"type":"string","minLength":40,"description":"Full draft text."}},"required":["draft_text"]},"annotations":{"title":"Proposal success predictor","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"full_context","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"topic":{"type":"string","minLength":2,"description":"Topic / question."},"limit_per_source":{"description":"Max rows per source (default 3).","type":"integer","minimum":1,"maximum":10}},"required":["topic"]},"annotations":{"title":"Full context","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"community_consensus","description":"Surface signals of what the Canton community thinks about a topic: forum thread reply ratios, mailing list debate volume, and the first reply on the most-viewed thread. Canton-specific. Not sentiment-analysis; a structured roundup the caller can summarise.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"topic":{"type":"string","minLength":2,"description":"Topic to assess."}},"required":["topic"]},"annotations":{"title":"Community consensus","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"find_expert","description":"Rank likely Canton experts on a topic across CCPEDIA: forum activity matching the topic, plus overall forum/GitHub volume of that author. Canton-specific.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"topic":{"type":"string","minLength":2,"description":"Topic / domain to find experts for."},"limit":{"description":"Max authors (default 5).","type":"integer","minimum":1,"maximum":15}},"required":["topic"]},"annotations":{"title":"Find expert","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"detect_drift","description":"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).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"topic":{"type":"string","minLength":2,"description":"Topic to cross-check."}},"required":["topic"]},"annotations":{"title":"Detect drift","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"learning_path","description":"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).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","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\"."}},"required":["goal"]},"annotations":{"title":"Learning path","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"outdated_guidance_detector","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"query":{"type":"string","minLength":2,"description":"Topic to scan."}},"required":["query"]},"annotations":{"title":"Outdated guidance detector","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"ecosystem_dependency_graph","description":"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?\".","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"topic":{"type":"string","minLength":2,"description":"Topic / category / project family."}},"required":["topic"]},"annotations":{"title":"Ecosystem dependency graph","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"find_collaboration_opportunities","description":"Given one Canton ecosystem project, find others with complementary tags/category that could plug in. Canton-specific. Lightweight heuristic: overlap of tags + adjacent categories.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"project":{"type":"string","minLength":2,"description":"Project name or slug to look around."}},"required":["project"]},"annotations":{"title":"Find collaboration opportunities","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"list_canton_mcps","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"annotations":{"title":"List Canton MCPs","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"execution":{"taskSupport":"forbidden"}},{"name":"call_canton_mcp","description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"server":{"type":"string","description":"Target MCP id from list_canton_mcps (e.g. \"ccpedia\", \"x402-mcp\")"},"tool":{"type":"string","description":"Tool name to call on that server"},"arguments":{"description":"Arguments object for that tool","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["server","tool"]},"annotations":{"title":"Call Canton MCP","readOnlyHint":false,"openWorldHint":true},"execution":{"taskSupport":"forbidden"}}]},"jsonrpc":"2.0","id":2},"http_status":200,"headers":{"content-type":"text/event-stream","ratelimit-limit":"60","ratelimit-remaining":"59","ratelimit-reset":"900","strict-transport-security":"max-age=31536000; includeSubDomains; preload"}}},"prompts_list":{"status":"missing","latency_ms":140.78,"details":{"url":"https://ccpedia.xyz/mcp","payload":{"jsonrpc":"2.0","id":3,"error":{"code":-32601,"message":"Method not found"}},"http_status":200,"headers":{"content-type":"text/event-stream","ratelimit-limit":"60","ratelimit-remaining":"59","ratelimit-reset":"900","strict-transport-security":"max-age=31536000; includeSubDomains; preload"},"reason":"not_supported"}},"prompt_get":{"status":"missing","latency_ms":null,"details":{"reason":"not_advertised"}},"resources_list":{"status":"ok","latency_ms":227.17,"details":{"url":"https://ccpedia.xyz/mcp","payload":{"result":{"resources":[{"uri":"ccpedia://deprecations","name":"deprecations"},{"uri":"ccpedia://versions","name":"versions"},{"uri":"ccpedia://tools","name":"tools"},{"uri":"ccpedia://docs-index","name":"docs-index"},{"uri":"ccpedia://community","name":"community"},{"uri":"ccpedia://zenith","name":"zenith"},{"uri":"ccpedia://status","name":"status"}]},"jsonrpc":"2.0","id":5},"http_status":200,"headers":{"content-type":"text/event-stream","ratelimit-limit":"60","ratelimit-remaining":"58","ratelimit-reset":"899","strict-transport-security":"max-age=31536000; includeSubDomains; preload"}}},"resource_read":{"status":"ok","latency_ms":633.29,"details":{"url":"https://ccpedia.xyz/mcp","payload":{"result":{"contents":[{"uri":"ccpedia://deprecations","mimeType":"application/json","text":"[\n  {\n    \"key\": \"@daml/ledger\",\n    \"title\": \"@daml/ledger\",\n    \"url\": null,\n    \"replaced_by\": \"@c7/ledger\",\n    \"metadata\": {\n      \"name\": \"@daml/ledger\",\n      \"replacement\": \"@c7/ledger\",\n      \"note\": \"@daml/ledger is deprecated. Use community-maintained @c7/ledger.\",\n      \"since\": \"Canton 3.3+\"\n    }\n  },\n  {\n    \"key\": \"@daml/react\",\n    \"title\": \"@daml/react\",\n    \"url\": null,\n    \"replaced_by\": \"@c7/react\",\n    \"metadata\": {\n      \"name\": \"@daml/react\",\n      \"replacement\": \"@c7/react\",\n      \"note\": \"@daml/react is deprecated. Use community-maintained @c7/react.\",\n      \"since\": \"Canton 3.3+\"\n    }\n  },\n  {\n    \"key\": \"Daml Assistant (daml-assistant)\",\n    \"title\": \"Daml Assistant (daml-assistant)\",\n    \"url\": null,\n    \"replaced_by\": \"Digital Asset Package Manager (DPM)\",\n    \"metadata\": {\n      \"name\": \"Daml Assistant (daml-assistant)\",\n      \"replacement\": \"Digital Asset Package Manager (DPM)\",\n      \"note\": \"daml-assistant is ONLY for legacy Splice 0.4.x / Canton 3.3. For Canton 3.4+ / Splice 0.5.0+, always use DPM.\",\n      \"installReplacement\": \"Mac/Linux: curl https://get.digitalasset.com/install/install.sh | sh\\nWindows: Download the Windows installer from the DPM docs.\",\n      \"since\": \"Canton 3.4 / Splice 0.5.0\"\n    }\n  },\n  {\n    \"key\": \"Daml Hub\",\n    \"title\": \"Daml Hub\",\n    \"url\": null,\n    \"replaced_by\": \"Self-hosted Canton Sandbox / LocalNet / DevNet\",\n    \"metadata\": {\n      \"name\": \"Daml Hub\",\n      \"replacement\": \"Self-hosted Canton Sandbox / LocalNet / DevNet\",\n      \"note\": \"Daml Hub has been discontinued. Use Canton Sandbox for local dev, CN Quickstart LocalNet, or DevNet/TestNet.\",\n      \"since\": \"2024\"\n    }\n  },\n  {\n    \"key\": \"Daml Triggers\",\n    \"title\": \"Daml Triggers\",\n    \"url\": null,\n    \"replaced_by\": \"Backend automation via Ledger API\",\n    \"metadata\": {\n      \"name\": \"Daml Triggers\",\n      \"replacement\": \"Backend automation via Ledger API\",\n      \"note\": \"Daml Triggers deprecated. Implement automation in your backend using gRPC/JSON Ledger API update stream.\",\n      \"since\": \"Canton 3.0+\"\n    }\n  },\n  {\n    \"key\": \"Navigator\",\n    \"title\": \"Navigator\",\n    \"url\": null,\n    \"replaced_by\": \"JSON Ledger API + custom frontend\",\n    \"metadata\": {\n      \"name\": \"Navigator\",\n      \"replacement\": \"JSON Ledger API + custom frontend\",\n      \"note\": \"Navigator is discontinued. Build frontends using the JSON Ledger API (port 7575) or gRPC API.\",\n      \"since\": \"Canton 3.0+\"\n    }\n  },\n  {\n    \"key\": \"daml build\",\n    \"title\": \"daml build\",\n    \"url\": null,\n    \"replaced_by\": \"dpm build\",\n    \"metadata\": {\n      \"name\": \"daml build\",\n      \"replacement\": \"dpm build\",\n      \"note\": \"Use 'dpm build' to compile. 'dpm build --all' for multi-package projects.\",\n      \"since\": \"Canton 3.4\"\n    }\n  },\n  {\n    \"key\": \"daml ledger allocate-parties\",\n    \"title\": \"daml ledger allocate-parties\",\n    \"url\": null,\n    \"replaced_by\": \"POST /v2/parties/allocate on JSON Ledger API\",\n    \"metadata\": {\n      \"name\": \"daml ledger allocate-parties\",\n      \"replacement\": \"POST /v2/parties/allocate on JSON Ledger API\",\n      \"note\": \"Use the JSON Ledger API (port 7575) or gRPC PartyManagementService.\",\n      \"since\": \"Canton 3.4\"\n    }\n  },\n  {\n    \"key\": \"daml ledger upload-dar\",\n    \"title\": \"daml ledger upload-dar\",\n    \"url\": null,\n    \"replaced_by\": \"JSON / gRPC Ledger API or Declarative API\",\n    \"metadata\": {\n      \"name\": \"daml ledger upload-dar\",\n      \"replacement\": \"JSON / gRPC Ledger API or Declarative API\",\n      \"note\": \"Use JSON Ledger API or gRPC PackageService to upload DARs.\",\n      \"since\": \"Canton 3.4\"\n    }\n  },\n  {\n    \"key\": \"daml new\",\n    \"title\": \"daml new\",\n    \"url\": null,\n    \"replaced_by\": \"dpm new\",\n    \"metadata\": {\n      \"name\": \"daml new\",\n      \"replacement\": \"dpm new\",\n      \"note\": \"Use 'dpm new <name>' or 'dpm new <name> --template <t>' for templates like daml-intro-compose.\",\n      \"since\": \"Canton 3.4\"\n    }\n  },\n  {\n    \"key\": \"daml start\",\n    \"title\": \"daml start\",\n    \"url\": null,\n    \"replaced_by\": \"dpm sandbox + dpm build + Ledger API\",\n    \"metadata\": {\n      \"name\": \"daml start\",\n      \"replacement\": \"dpm sandbox + dpm build + Ledger API\",\n      \"note\": \"'daml start' is legacy. Use 'dpm sandbox' for local ledger, 'dpm build' to compile, JSON/gRPC API for upload/allocate.\",\n      \"since\": \"Canton 3.4\"\n    }\n  },\n  {\n    \"key\": \"daml test\",\n    \"title\": \"daml test\",\n    \"url\": null,\n    \"replaced_by\": \"dpm test\",\n    \"metadata\": {\n      \"name\": \"daml test\",\n      \"replacement\": \"dpm test\",\n      \"note\": \"Use 'dpm test' for Daml Script tests. 'dpm test --files <file>' for specific files.\",\n      \"since\": \"Canton 3.4\"\n    }\n  },\n  {\n    \"key\": \"prune_to_offset (PQS SQL function)\",\n    \"title\": \"prune_to_offset (PQS SQL function)\",\n    \"url\": null,\n    \"replaced_by\": \"prune_archived_to_offset()\",\n    \"metadata\": {\n      \"name\": \"prune_to_offset (PQS SQL function)\",\n      \"replacement\": \"prune_archived_to_offset()\",\n      \"note\": \"Deprecated since 3.5.0. Known to cause deadlocks and performance bottlenecks.\",\n      \"since\": \"Canton 3.5\"\n    }\n  },\n  {\n    \"key\": \"splice-wallet-payments subscription\",\n    \"title\": \"splice-wallet-payments subscription\",\n    \"url\": null,\n    \"replaced_by\": \"Token Standard (CIP-0056) DVP workflows\",\n    \"metadata\": {\n      \"name\": \"splice-wallet-payments subscription\",\n      \"replacement\": \"Token Standard (CIP-0056) DVP workflows\",\n      \"note\": \"CC subscription workflow in splice-wallet-payments is deprecated. Use token standard DVP workflows.\",\n      \"since\": \"Splice 0.4+\"\n    }\n  }\n]"}]},"jsonrpc":"2.0","id":6},"http_status":200,"headers":{"content-type":"text/event-stream","ratelimit-limit":"60","ratelimit-remaining":"59","ratelimit-reset":"900","strict-transport-security":"max-age=31536000; includeSubDomains; preload"},"resource_uri":"ccpedia://deprecations"}},"determinism_probe":{"status":"ok","latency_ms":376.37,"details":{"attempts":2,"successful":2,"matches":2,"stable_ratio":1.0,"baseline_signature":"af82d318c1bf4b02a6f77fed39f2ac25d491414b2d19c7f9273e502a8a173804","errors":[]}},"instruction_tool_reference_probe":{"status":"warning","latency_ms":null,"details":{"referenced_tools":["these"],"missing_tools":["these"],"observed_tool_count":88}},"session_resume_probe":{"status":"warning","latency_ms":null,"details":{"reason":"no_session_id","transport":"streamable-http","resume_expected":true,"protocol_version":"2025-03-26"}},"step_up_auth_probe":{"status":"missing","latency_ms":null,"details":{"oauth_present":false,"auth_required_checks":[],"supported_scopes":[],"scope_specificity_ratio":0.0,"broad_scopes":[],"challenge_headers":[],"step_up_signals":[],"minimal_scope_documented":false}},"transport_compliance_probe":{"status":"warning","latency_ms":738.55,"details":{"transport":"streamable-http","session_id_present":false,"protocol_header_present":false,"last_event_id_visible":false,"requested_protocol_version":"2025-03-26","bad_protocol_status_code":400,"bad_protocol_payload":{"jsonrpc":"2.0","error":{"code":-32000,"message":"Bad Request: Unsupported protocol version: 1999-99-99 (supported versions: 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07)"},"id":null},"bad_protocol_headers":{"content-type":"application/json","ratelimit-limit":"60","ratelimit-remaining":"59","ratelimit-reset":"900","strict-transport-security":"max-age=31536000; includeSubDomains; preload"},"bad_protocol_error":null,"delete_status_code":null,"delete_error":null,"expired_session_status_code":null,"expired_session_error":null,"issues":["missing_session_id","missing_protocol_header"]}},"utility_coverage_probe":{"status":"missing","latency_ms":245.64,"details":{"completions":{"advertised":false,"sample_target":{"type":"resource","uri":"ccpedia://deprecations"},"live_probe":"not_executed"},"pagination":{"supported":false,"next_cursor_methods":[],"metadata_signal":false},"tasks":{"advertised":false,"probe_status":"missing","http_status":200},"initialize_capability_keys":["resources","tools"]}},"advanced_capabilities_probe":{"status":"warning","latency_ms":null,"details":{"capabilities":{"prompts":false,"resources":true,"completions":false,"roots":false,"sampling":false,"elicitation":false,"structured_outputs":false,"resource_links":true},"enabled_count":2,"enabled":["resource_links","resources"],"initialize_capability_keys":["resources","tools"]}},"tool_snapshot_probe":{"status":"ok","latency_ms":null,"details":{"current_tool_count":88,"previous_tool_count":88,"similarity":1.0,"added":[],"removed":[],"changed_outputs":[]}},"connector_replay_probe":{"status":"ok","latency_ms":null,"details":{"backward_compatible":true,"would_break_after_refresh":false,"added_tools":[],"removed_tools":[],"required_arg_breaks":[],"output_breaks":[],"additive_output_changes":[]}},"request_association_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_request_association_capabilities_advertised"}},"interactive_flow_probe":{"status":"missing","latency_ms":null,"details":{"risk_hits":[],"safe_hits":[],"oauth_supported":false,"prompt_available":false}},"action_safety_probe":{"status":"ok","latency_ms":null,"details":{"summary":{"tool_count":88,"high_risk_tools":0,"destructive_tools":0,"exec_tools":0,"egress_tools":1,"secret_tools":0,"bulk_access_tools":0,"declared_non_read_only_tools":1,"annotation_conflict_tools":2,"risk_distribution":{"low":87,"medium":1,"high":0,"critical":0},"capability_distribution":{"read":87,"network":1},"has_mutating_capability":false,"has_non_read_capability":false},"auth_present":false,"safeguard_count":3,"confirmation_signals":["get_cip","list_cips","get_validator_fleet","get_kb_drift","detect_cip_dependency_chain","compare_governance_outcomes","proposal_success_predictor"],"reason":null}},"official_registry_probe":{"status":"missing","latency_ms":null,"details":{"registry_source":"github_topic_registry","direct_match":false,"official_peer_count":0}},"provenance_divergence_probe":{"status":"not_assessed","latency_ms":null,"details":{"direct_official_match":false,"registry_title":null,"server_card_title":null,"registry_version":null,"server_card_version":null,"registry_homepage":null,"server_card_homepage":null,"registry_repository":null,"server_card_repository":null,"drift_fields":[],"metadata_document_count":1,"compared_fields":["title","version","homepage","repository"],"readable_sources":[],"comparable_field_count":0}},"schema_divergence_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_server_card_tools","compared_tool_count":0,"compared_dimensions":["server_name","server_version","declared_vs_observed_auth","tool_membership","parameter_names","required_parameters","parameter_types","output_schema_presence"],"server_name_mismatch":false,"card_server_name":null,"live_server_name":"ccpedia","server_version_mismatch":false,"card_server_version":null,"live_server_version":"1.0.0","auth_scheme_mismatch":false}},"connector_publishability_probe":{"status":"warning","latency_ms":null,"details":{"transport":"streamable-http","tool_count":88,"high_risk_tools":0,"blockers":["protocol_version","session_resume","step_up_auth","transport_compliance","request_association","server_card"],"criteria":{"remote_transport":true,"initialize":true,"tools_list":true,"protocol_version":false,"session_resume":false,"step_up_auth":false,"transport_compliance":false,"connector_replay":true,"request_association":false,"action_safety":true,"server_card":false,"tool_surface":true,"auth_flow":true}}}}},"active_alerts":[{"code":"instruction_tool_reference_mismatch","severity":"low","title":"Server instructions name unavailable tools","message":"Initialize instructions reference tools not present in tools/list: these","addressee":"publisher"}],"maintainer_analytics":{},"public_server_reputation":{},"maintainer_response_quality":{},"maintainer_annotations":[],"maintainer_rebuttals":[],"security_posture_summary":{},"tool_security_inventory":[],"transport_compliance":{},"utility_coverage":{},"write_action_governance":{},"provenance_divergence":{},"alias_consolidation":{},"alert_routing":{},"authenticated_validation":{},"hosted_runtime":{},"action_controls_diff":null,"benchmark_tasks":[],"latest_capability_counts":{},"point_loss_breakdown":[],"verdict_traces":{},"current_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_3037eb15b9441e65","generated_at":"2026-09-02T08:19:09.162951+00:00","trust_evaluated_at":"2026-09-02T08:19:09.162951+00:00","evidence_revision":"4971c2b8ff57fb42cce18ed6","source":"current_snapshot","server":"github-unitynodes/ccpedia-mcp","last_validated_at":"2026-09-02T03:04:46.300162+00:00","validation_age_hours":5.24,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-09-02T03:04:46.300162+00:00","age_hours":5.24,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":59.9,"raw_score":59.9,"confidence_score":82.5,"confidence_weighted_score":49.4,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":59.9,"display_score":59.9,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Block for production","why":"score below evaluation threshold","next_action":"revalidate, add safeguards, export policy","reason_count":1},"production_readiness_class":{"code":"needs_remediation","label":"Needs remediation","reason":"Current validation evidence shows operational or discovery gaps that should be fixed first."},"evidence_confidence":{"score":82.5,"label":"high","validation_age_hours":5.24,"live_check_count":15,"basis":{"evidence_bearing_validations":6,"affirmative_live_check_count":15,"validation_age_hours":5.24,"freshness_threshold_hours":24}},"active_alerts":[{"code":"instruction_tool_reference_mismatch","severity":"low","title":"Server instructions name unavailable tools"}],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":1,"high_or_critical":0,"total":1},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-09-02T08:19:09.162951+00:00"}},"trust_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_3037eb15b9441e65","generated_at":"2026-09-02T08:19:09.162951+00:00","trust_evaluated_at":"2026-09-02T08:19:09.162951+00:00","evidence_revision":"4971c2b8ff57fb42cce18ed6","source":"current_snapshot","server":"github-unitynodes/ccpedia-mcp","last_validated_at":"2026-09-02T03:04:46.300162+00:00","validation_age_hours":5.24,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-09-02T03:04:46.300162+00:00","age_hours":5.24,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":59.9,"raw_score":59.9,"confidence_score":82.5,"confidence_weighted_score":49.4,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":59.9,"display_score":59.9,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Block for production","why":"score below evaluation threshold","next_action":"revalidate, add safeguards, export policy","reason_count":1},"production_readiness_class":{"code":"needs_remediation","label":"Needs remediation","reason":"Current validation evidence shows operational or discovery gaps that should be fixed first."},"evidence_confidence":{"score":82.5,"label":"high","validation_age_hours":5.24,"live_check_count":15,"basis":{"evidence_bearing_validations":6,"affirmative_live_check_count":15,"validation_age_hours":5.24,"freshness_threshold_hours":24}},"active_alerts":[{"code":"instruction_tool_reference_mismatch","severity":"low","title":"Server instructions name unavailable tools"}],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":1,"high_or_critical":0,"total":1},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-09-02T08:19:09.162951+00:00"}},"agent_commerce":{},"latest_claim":null,"maintainer_profile_slug":null,"watch_summary":{},"partial":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"trust_evaluated_at":"2026-09-02T08:19:09.162951+00:00","evidence_revision":"4971c2b8ff57fb42cce18ed6","active_alert_summary":{"critical":0,"high":0,"medium":0,"low":1,"high_or_critical":0,"total":1},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-09-02T08:19:09.162951+00:00"},"owner_opted_out":false},"latest_validation":null,"current_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_3037eb15b9441e65","generated_at":"2026-09-02T08:19:09.162951+00:00","trust_evaluated_at":"2026-09-02T08:19:09.162951+00:00","evidence_revision":"4971c2b8ff57fb42cce18ed6","source":"current_snapshot","server":"github-unitynodes/ccpedia-mcp","last_validated_at":"2026-09-02T03:04:46.300162+00:00","validation_age_hours":5.24,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-09-02T03:04:46.300162+00:00","age_hours":5.24,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":59.9,"raw_score":59.9,"confidence_score":82.5,"confidence_weighted_score":49.4,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":59.9,"display_score":59.9,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Block for production","why":"score below evaluation threshold","next_action":"revalidate, add safeguards, export policy","reason_count":1},"production_readiness_class":{"code":"needs_remediation","label":"Needs remediation","reason":"Current validation evidence shows operational or discovery gaps that should be fixed first."},"evidence_confidence":{"score":82.5,"label":"high","validation_age_hours":5.24,"live_check_count":15,"basis":{"evidence_bearing_validations":6,"affirmative_live_check_count":15,"validation_age_hours":5.24,"freshness_threshold_hours":24}},"active_alerts":[{"code":"instruction_tool_reference_mismatch","severity":"low","title":"Server instructions name unavailable tools"}],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":1,"high_or_critical":0,"total":1},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-09-02T08:19:09.162951+00:00"}},"trust_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_3037eb15b9441e65","generated_at":"2026-09-02T08:19:09.162951+00:00","trust_evaluated_at":"2026-09-02T08:19:09.162951+00:00","evidence_revision":"4971c2b8ff57fb42cce18ed6","source":"current_snapshot","server":"github-unitynodes/ccpedia-mcp","last_validated_at":"2026-09-02T03:04:46.300162+00:00","validation_age_hours":5.24,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-09-02T03:04:46.300162+00:00","age_hours":5.24,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":59.9,"raw_score":59.9,"confidence_score":82.5,"confidence_weighted_score":49.4,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":59.9,"display_score":59.9,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Block for production","why":"score below evaluation threshold","next_action":"revalidate, add safeguards, export policy","reason_count":1},"production_readiness_class":{"code":"needs_remediation","label":"Needs remediation","reason":"Current validation evidence shows operational or discovery gaps that should be fixed first."},"evidence_confidence":{"score":82.5,"label":"high","validation_age_hours":5.24,"live_check_count":15,"basis":{"evidence_bearing_validations":6,"affirmative_live_check_count":15,"validation_age_hours":5.24,"freshness_threshold_hours":24}},"active_alerts":[{"code":"instruction_tool_reference_mismatch","severity":"low","title":"Server instructions name unavailable tools"}],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":1,"high_or_critical":0,"total":1},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-09-02T08:19:09.162951+00:00"}},"partial":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"snapshot_invariant":{"schema_version":"verify.snapshot_invariant.v1","server":"github-unitynodes/ccpedia-mcp","ok":true,"surface_snapshot_ids":{"page":"trustsnap_3037eb15b9441e65","badge":null,"report":"trustsnap_3037eb15b9441e65","policy":null},"checked_surfaces":["page","report"],"unchecked_surfaces":["badge","policy"],"checked_count_surfaces":[],"count_mismatches":{},"checked_at":"2026-09-02T08:19:09.153381+00:00"},"history":{},"production_readiness":{"code":"needs_remediation","label":"Needs remediation","reason":"Current validation evidence shows operational or discovery gaps that should be fixed first.","badge":"score-low","critical_alerts":0,"high_or_critical_alerts":0,"degraded_by_active_alerts":false},"agent_commerce_readiness":{},"evidence_confidence":{"score":82.5,"label":"high","reason":"Based on 6 recent validations, 15 captured checks, and validation age of 5.2 hours.","live_check_count":15,"validation_age_hours":5.24,"basis":{"evidence_bearing_validations":6,"affirmative_live_check_count":15,"validation_age_hours":5.24,"freshness_threshold_hours":24}},"recommended_for":[],"active_alerts":[{"code":"instruction_tool_reference_mismatch","severity":"low","title":"Server instructions name unavailable tools","message":"Initialize instructions reference tools not present in tools/list: these","addressee":"publisher"}],"remediations":[],"cache_note":"Fast fallback response; full report evidence is deferred to protect web capacity. Fields listed in fields_unavailable (including tool_security_inventory, and write_action_governance) are not yet computed on this response -- an empty value means unchecked, not confirmed clean. Treat partial responses as indeterminate.","publisher_claim":{"verified":false,"status":"unclaimed","claim_url":"https://verify.sentinelsignal.io/claim?server=github-unitynodes%2Fccpedia-mcp&source=report_json","reason_code":"claim_to_publish_metadata","reason":"Claim this profile to verify publisher identity, add evidence, and manage trust metadata.","score_neutral":true},"observed_attention":{"schema":"verify.observed_attention.v1","window_days":30,"level":"none","label":"No observed attention","summary":"No recent machine-readable trust or discovery activity observed for this server.","segments":{"useful_ai_user":{"level":"none","observed":false,"description":"AI-assisted user sessions such as ChatGPT/User or Claude/User."},"machine_trust_evaluator":{"level":"none","observed":false,"description":"Synthetic sessions inspecting multiple trust surfaces such as report, policy, ledger, badge, trust-summary, or compare."},"possible_agent_or_script":{"level":"none","observed":false,"description":"Structured direct sessions with rapid profile, compare, report, policy, badge, or trust-surface fan-out."},"isolated_machine_surface":{"level":"none","observed":false,"description":"Aged-out direct synthetic singleton sessions that touched a machine-readable trust surface without becoming a broader evaluator."},"ai_crawler":{"level":"none","observed":false,"description":"Known AI crawler activity such as ClaudeBot, GPTBot, or similar crawlers."},"search_crawler":{"level":"none","observed":false,"description":"Search and SEO crawler activity."},"browser_like_automation":{"level":"none","observed":false,"description":"Browser-like synthetic sessions with rapid structured endpoint activity."},"confirmed_human":{"level":"none","observed":false,"description":"Confirmed browser-session human activity."}},"surfaces_observed":{"server_profile":false,"compare":false,"compare_json":false,"compare_api":false,"report_json":false,"policy":false,"ledger":false,"badge_metadata":false,"badge_svg":false,"trust_summary":false,"mcp_tool":false},"claim_prompt":{"recommended":false,"reason":"No claim prompt is recommended from observed attention in the current window."},"notes":["Observed attention is based on segmented first-party telemetry.","Crawler and evaluator activity is not treated as confirmed human demand.","Public levels are bucketed to avoid exposing raw traffic counts."]},"owner_activation":{"claim_recommended":false,"reason":"no_observed_attention"},"related_machine_surfaces":{"compare_index":"/compare.json","compare_api":"/v1/compare?server=github-unitynodes%2Fccpedia-mcp","trust_summary":"/v1/servers/github-unitynodes/ccpedia-mcp/trust-summary","ledger":"/v1/servers/github-unitynodes/ccpedia-mcp/ledger","policy":"/v1/servers/github-unitynodes/ccpedia-mcp/policy","report":"/v1/servers/github-unitynodes/ccpedia-mcp/report"},"intelligence_api":{"available":true,"signup_url":"https://verify.sentinelsignal.io/verify-intelligence-api","use_case":"Programmatic MCP server trust, comparison, policy, and evidence enrichment."},"trust_evaluated_at":"2026-09-02T08:19:09.162951+00:00","evidence_revision":"4971c2b8ff57fb42cce18ed6","active_alert_summary":{"critical":0,"high":0,"medium":0,"low":1,"high_or_critical":0,"total":1},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-09-02T08:19:09.162951+00:00"}}