Dev Fund
Canton Dev Fund proposal intelligence. Open asks, milestones, builder overlap detection, success prediction, RFP matching, champion gaps, full proposal dossiers, discussion, files and search, lifecycle analytics, stuck proposals and duplicate detection.
Canton Dev Fund proposal intelligence. Open asks, milestones, builder overlap detection, success prediction, RFP matching, champion gaps, full proposal dossiers, discussion, files and search, lifecycle analytics, stuck proposals and duplicate detection.
17 tools in this group.
detect_builder_overlap
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.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"detect_builder_overlap","arguments":{}}}'find_duplicate_proposals
Find Canton Dev Fund proposals that duplicate, re-file or overlap each other, from the proposal files compared by meaning plus identical text, title, author and organization. Without a number it lists groups (for example the same text filed twice, a team re-filing under Dev Fund 2.0, two teams building the same indexer), by default only groups with an open proposal; with a number it lists the closest proposals to that one with the evidence. Each group states its relation (exact duplicate, likely resubmission, likely duplicate by another filer, overlap, possible overlap, related by the same applicant, likely amendment), a confidence and the numbers behind it. Overlap is a lead to read both proposals, not a verdict; possible overlap is wrong more often than right, and amendments and same-applicant relations are left out unless asked for. Canton-specific.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_duplicate_proposals","arguments":{}}}'find_rfp_for_idea
Given a project idea, find which Canton Dev Fund RFP(s) it fits and how crowded that area is. Matches the idea against the RFP texts in the 2026-2028 roadmap (shared terms, shown), then for the best fits shows what the Foundation asks for, its stated appetite for grants, and the proposals that declare the RFP. Also shows the existing Dev Fund proposals closest to the idea by text whether or not they declared an RFP, because most never did. The match is lexical, so a fit with few shared terms is weak and flagged as such. If no RFP fits, the idea can still be filed as an individual initiative (outside the roadmap). Canton-specific. For the full RFP list use list_rfps; to include ecosystem projects as well as proposals use detect_builder_overlap.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_rfp_for_idea","arguments":{}}}'get_dev_fund_activity
What happened in the Canton Dev Fund lately, newest first: new comments and reviews with a snippet, and (optionally) timeline events such as labels added, reviewers requested, proposals renamed, merged, closed or moved on the project board. Use for "what is going on in the Dev Fund", "what did the committee say this week", "which proposals just got reviewed". Canton-specific.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_dev_fund_activity","arguments":{}}}'get_dev_fund_lifecycle
How Canton Dev Fund proposals actually move through the Foundation project board, from the recorded column history: the funnel (how many reach each column), median and p90 days in each column, time to decision, time to the first human response, how many open proposals wait on the applicant, the committee, a vote or nobody, bot labels against the board, and steps back. Pass number for one proposal: every stay in a column with the date and who moved it, its waiting state with the reason, first response, votes and steps back. Pass view "flow" for the weekly opened, voting, approved and closed counts and the open backlog. Percentiles are linear interpolation; open proposals are never mixed into completed-stay statistics; every figure carries its n and the board history has known gaps, stated in the answer. Canton-specific.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_dev_fund_lifecycle","arguments":{}}}'get_dev_fund_person
Who is this person in the Canton Dev Fund, by GitHub login: their SIG memberships and organization (from the SIG directory), the proposals they authored, how much they comment and review (and how often they approve or request changes), which proposals asked them to review, which they were assigned, and where a champion line names them. Use to judge who a possible champion or reviewer is and how responsive they are. Canton-specific.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_dev_fund_person","arguments":{}}}'get_funding_landscape
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.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_funding_landscape","arguments":{}}}'get_proposal
Everything CCPEDIA holds about ONE Canton Dev Fund proposal (a pull request in canton-foundation/canton-dev-fund), by its PR number: state and project-board column, labels, the facts parsed from the proposal file (organization, author, declared RFP, champion, funding in CC, duration, SIG label, milestones), champion evidence (board column, proposal file, PR text), reviewers, discussion statistics, and the timeline of label, reviewer, rename and board events. Use after get_proposals, list_proposals_needing_champion or search_dev_fund returned a number. For the full conversation use get_proposal_discussion, for the full proposal text get_proposal_file. Canton-specific.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_proposal","arguments":{}}}'get_proposal_discussion
The conversation on ONE Canton Dev Fund proposal, oldest first: every comment, every formal review (approved, changes requested, commented) and every inline review comment on the proposal file, with author, GitHub role (member, collaborator, none), date, and the text. Pages with offset. Use to read what reviewers, champions and the committee actually said, or why a proposal stalled. Canton-specific.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_proposal_discussion","arguments":{}}}'get_proposal_file
The full text of the proposal file(s) a Canton Dev Fund PR adds (proposals/.md or rfps/<category>/.md), exactly as in the PR head: abstract, specification, milestones, acceptance criteria, funding. A PR can add several files; pass path to pick one. Use after get_proposal when the details matter. Canton-specific.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_proposal_file","arguments":{}}}'get_proposal_milestones
For one Canton Dev Fund proposal PR, list any related milestone tracking issues (issues whose body or title references the PR number). Canton-specific.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_proposal_milestones","arguments":{}}}'get_proposals
List Canton Network Dev Fund grant proposals: community funding requests tracked on GitHub. Filterable by state (open/closed/all). Use for 'what grants/funding requests exist' questions. NOT the same as Canton Improvement Proposals (CIPs): those are governance specs (use list_cips / get_cip). Returns number, title, state, author, board status and how many people commented; it is only an index. For one proposal in full (champion evidence, proposal file, every comment, review and timeline event) call get_proposal and get_proposal_discussion. Canton ecosystem only.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_proposals","arguments":{}}}'list_proposals_needing_champion
List open Canton Dev Fund proposals waiting in the Needs Champion or Incoming columns of the Foundation's project board, i.e. with no champion confirmed there, oldest first, with what the proposal file and the PR text say about its champion. A proposal needs a champion, a sponsor from the Tech & Ops Committee, to move into review, and many stall without one. The bot labels needs-champion and champion-confirmed are deliberately NOT used as evidence: champion-confirmed is set from the PR text at filing and has been wrong. Evidence is the board column (champion assigned, Ready for Vote, Voting Live, Approved) plus the Champion line in the proposal file and in the PR text; a name there is the applicant's claim, not a confirmation. A proposal whose file is not held and whose PR text is silent is reported as "not stated", which does not mean "none". SIG-membership PRs are excluded. Canton-specific.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_proposals_needing_champion","arguments":{}}}'list_rfps
List the Canton Foundation Dev Fund Requests for Proposals (RFPs) from the 2026-2028 roadmap: number, title, category, and how many Dev Fund proposals declare each one. Pass number to read one RFP in full: what the Foundation asks for, its stated appetite for grants, prior funded examples, and the proposals declaring it. RFP numbers are the ones proposals and labels use (RFP 18 is Integration into SDLCs). A proposal counts only if a label, its PR text, its title or its proposal file names the RFP, and most proposals do not, so a low count is not proof that an area is uncrowded. Canton-specific. To find the RFP that fits an idea use find_rfp_for_idea.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_rfps","arguments":{}}}'list_stuck_proposals
Open Canton Dev Fund proposals that nothing has happened on for at least a number of days (no human comment, review or board move), oldest first, grouped by who the next step is on: the applicant (the committee asked for changes), the committee (someone is assigned or it is ready for a vote), nobody picked it up (no champion, no reviewer), or a vote. Each item states the reason in plain words and who acted last. Proposals whose board history is incomplete are listed apart as unplaced. Use for "what is stuck and on whom". Canton-specific.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_stuck_proposals","arguments":{}}}'proposal_success_predictor
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.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"proposal_success_predictor","arguments":{}}}'search_dev_fund
Search ALL Canton Dev Fund text for words: proposal files, PR descriptions, every comment, formal review and inline review comment, ranked by relevance with a snippet around the match. Scope can be narrowed to comments, proposal_files or descriptions, and to one GitHub author. Use for "who said what about X", "which proposals mention Y", "did a reviewer object to Z". Default mode "words" is lexical (the words must appear, exact and exhaustive). Mode "meaning" searches the same text by meaning with embeddings plus words, so "did anyone worry about validator uptime" finds a comment that never says uptime; it cannot be limited to one author. For a ranked pick among whole proposals for an idea use find_rfp_for_idea or detect_builder_overlap. Canton-specific.
curl -X POST https://ccpedia.xyz/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_dev_fund","arguments":{}}}'Featured apps and SV
Live Featured Apps from the Scan API, the Super Validator operations calendar, and the DSO validator registry. Schedules, freezes, upgrades, releases, validator lookups.
Onboarding and drift
Get started fast, follow a learning path, see where curated KBs drift from live Canton state.