Capabilities · manifest 0.1 · tools 2.0.0
For AI agents
Use any agent you like. The same 24 capabilities are available through several interfaces, so nothing ties you to one AI provider, browser or hosted service.
What these tools can't do: post, publish, sign in, change infrastructure, or certify anything. Every capability is read-only or prepare-only. Drafts, PR descriptions and AT Protocol records are returned to you to review and submit yourself. No tool runs code from a repository, and only the repository-assessment tools (and an assessment record built from a live scan) fetch anything: public files from GitHub, with no credentials.
Interfaces
- webmcp
- In-page tools via document.modelContext (site/assets/webmcp.js). Needs a browser with WebMCP enabled; native registration not yet verified.
- mcp_stdio
- Local MCP server: node bin/jrc-mcp.mjs (protocol 2026-07-28, plus legacy initialize). Uses repository files; no network except the GitHub-reading tools.
- http_static
- Static JSON under /api/v1/ for capabilities whose default answer is published data. Any static host can serve it.
- cli
- jrc tool NAME runs any capability exactly as the other interfaces do; cli_shortcut names a related convenience command, which may differ (it can read local files, for example). Node 20+, no runtime dependencies.
- website
- Pages with normal controls for people without an agent.
Use the local MCP server
Any MCP client can start it. It reads this repository's files, so it works offline and without jollyrogercharter.org:
git clone https://github.com/jollyrogercharter/charter.git jrc
# in your MCP client's server configuration:
{ "command": "node", "args": ["/path/to/jrc/bin/jrc-mcp.mjs"] }
Use the CLI
node bin/jrc.mjs tool list
echo '{"skills":["writing"]}' | node bin/jrc.mjs tool find_opportunities --input -
Use WebMCP
Open this site in a browser with WebMCP enabled; the tools register on every page. Native registration hasn't been verified yet. See the developer guide.
Assess a repository
assess_repository reads a public GitHub repository's file list and a few key files at one commit. An automated scan isn't a review: missing means not found, not proof of noncompliance. The adoption page runs the same code.
All capabilities
| Capability | Group | Safety | WebMCP / MCP | HTTP | CLI | Page |
|---|---|---|---|---|---|---|
get_charterGet the JRCv1 charter | charter | read-only | yes | /api/v1/charter.json | jrc tool get_charter | /charter/ |
get_project_statusGet project status | status | read-only | yes | /api/v1/status.json | jrc tool get_project_status | /status/ |
assess_jrc_manifestAssess a JRC manifest | conformance | read-only | yes | — | jrc tool assess_jrc_manifest | /check/ |
generate_adoption_planPlan next steps for adoption | conformance | read-only | yes | — | jrc tool generate_adoption_plan | — |
get_project_costsGet project costs | quartermaster | read-only | yes | /api/v1/costs.json | jrc tool get_project_costs | /costs/ |
get_open_challengesGet the Jolly Roger Challenge | community | read-only | yes | /api/v1/challenges.json | jrc tool get_open_challenges | /challenge/ |
assess_repositoryAssess a repository against JRCv1 | adoption | read-only network: github-public | yes | — | jrc tool assess_repository | /adopt/ |
prepare_adoption_roadmapPrepare a JRCv1 adoption roadmap | adoption | prepare-only network: github-public | yes | — | jrc tool prepare_adoption_roadmap | /adopt/ |
generate_jrc_manifestGenerate a candidate jrc.json | adoption | prepare-only network: github-public | yes | — | jrc tool generate_jrc_manifest | /adopt/ |
prepare_contributionPrepare a contribution for review | adoption | prepare-only network: github-public | yes | — | jrc tool prepare_contribution | /adopt/ |
run_challenge_checksRun the safe Jolly Roger Challenge checks | adoption | read-only network: github-public | yes | — | jrc tool run_challenge_checks | /adopt/ |
generate_assessment_reportGenerate the assessment report | adoption | prepare-only network: github-public | yes | — | jrc tool generate_assessment_report | /adopt/ |
list_debatesList RFCs and open debates | community | read-only | yes | /api/v1/debates.json | jrc tool list_debates | /debate/ |
get_debateGet one RFC's arguments | community | read-only | yes | — | jrc tool get_debate | /debate/ |
find_opportunitiesFind ways to contribute | community | read-only | yes | — | jrc tool find_opportunities | /debate/#contribute |
draft_community_postDraft an RFC, criticism or proposal | community | prepare-only | yes | — | jrc tool draft_community_post | — |
prepare_challenge_submissionPackage a challenge attempt | community | prepare-only | yes | — | jrc tool prepare_challenge_submission | — |
explain_costsExplain the cost categories | quartermaster | read-only | yes | /api/v1/cost-categories.json | jrc tool explain_costs | /costs/ |
compare_infrastructure_costsCompare two configurations | quartermaster | read-only | yes | — | jrc tool compare_infrastructure_costs | /costs/#compare |
estimate_savingsEstimate savings over time | quartermaster | read-only | yes | — | jrc tool estimate_savings | /costs/#compare |
prepare_cost_reduction_prPrepare a cost-reduction PR | quartermaster | prepare-only | yes | — | jrc tool prepare_cost_reduction_pr | — |
get_atproto_lexiconsGet the proposed AT Protocol Lexicons | atproto draft | read-only | yes | /api/v1/lexicons.json | jrc tool get_atproto_lexicons | /spec/atproto/ |
export_atproto_recordExport an AT Protocol record | atproto draft | prepare-only network: github-public (assessment kind only) | yes | — | jrc tool export_atproto_record | /spec/atproto/ |
prepare_atproto_publicationPrepare to publish a record yourself | atproto draft | prepare-only | yes | — | jrc tool prepare_atproto_publication | — |
Machine-readable: /api/v1/capabilities.json (schemas, annotations, safety, maturity, interfaces) and /api/v1/tools.json.
Not built yet
- MCP over Streamable HTTP (planned): Needs a server with rate limiting and an operator; the stdio server covers local use without one.
- HTTP API for the computational tools (assess, compare, draft) (planned): Needs a backend. Read-only data is already static JSON under /api/v1/.
- Publish AT Protocol records from the site with the user's own account (planned): Needs an atproto OAuth client and a consent screen; publishing must always be the user's explicit action. Lexicons aren't published yet either.
- Submit drafts to GitHub on the user's behalf (not-planned): Drafts are deliberately prepare-only: the person posts from their own account.
How results are labelled
- verified: checked by a reproducible method anyone can repeat (file-hash comparison)
- self-reported: the project's or manifest author's own claim; not independently checked
- unchecked: claimed with file evidence this tool couldn't read; neither confirmed nor refuted
- missing: not done, not supplied, or unknown
- estimate: a forecast or projection, not a recorded fact
- not-applicable: doesn't apply, with a stated reason
- historical: true when recorded; kept as history, not a current claim
Every result has ok:true|false. Facts carry basis: verified, self-reported, unchecked, missing, estimate, not-applicable, historical. null means unknown, never zero. Results link to evidence instead of embedding documents.
Privacy
No account, cookies, storage, analytics or third-party scripts. Anything you give a tool on this site is processed in your browser. The repository-assessment tools send requests from your browser straight to GitHub; nothing passes through this site.