Developer Tools
anc.dev
An MCP server that exposes the anc.dev registry of scored CLIs and agent-native CLI principles for listing, searching, and retrieving tool and principle details.
ENDPOINT 1
https://anc.dev/mcp
MCP server metadata
- Name
- anc
- Version
- 0.1.0
anc.dev exposes the agent-native CLI standard catalog over a streamable HTTP MCP server, per spec revision 2026-07-28. Every scored CLI, every principle of the spec, and the vendored spec sections are queryable without authentication. Response format is driven by the Accept header. The server accepts application/json alone, text/event-stream alone, both together (any order, any q-values), */*, and absent Accept. JSON wins ties; q-values resolve unequal preferences. A request that accepts neither MIME type receives 406 Not Acceptable with a text/plain body, no JSON-RPC envelope, since the rejection is pre-JSON-RPC. Surface: 13 tools (list_tools, get_tool, search_tools, list_principles, get_principle, list_spec_sections, get_spec_section, get_scorecard, score_cli, get_website_audit, audit_website, list_website_audits, get_web_remediation) plus 5 resources total (1 concrete anc://registry plus 4 templates anc://tool/{slug}, anc://principle/{n}, anc://spec/{section}, anc://scorecard/{binary}). Per-item records live behind the templates; full schemas are on tools/list and resources/templates/list. The four web tools score a website and its MCP server against the same eight principles as a CLI. get_website_audit reads a cached web scorecard by URL (miss returns next_tool: audit_website); audit_website runs a fresh audit and returns a single terminal scorecard with no progress notifications (stateless mode); list_website_audits returns the curated web leaderboard; get_web_remediation returns the static fix for a web-audit check id. Web scorecards carry the score_pct/score/categories/results shape at https://anc.dev/web-scorecard-schema. Every read and transact tool returns the one result envelope: { kind, tier, target, scorecard_url, markdown_url, json_url, freshness, spec_version, scorecard } plus the lane metadata. The same envelope is what https://anc.dev/score/<target>/json serves, so a tool result and the page an agent follows it to cannot disagree. Follow scorecard_url for the page, markdown_url or json_url for the pinned twins. Errors carry on two layers. Tool-level failures return CallToolResult with isError: true plus a textual message; the JSON-RPC envelope itself is successful. Transport-level failures return JSON-RPC error envelopes at HTTP 200 (-32099 rate-limit breach at either limiter, -32022 with data.supported listing 2026-07-28 when the disabled legacy lane rejects a request) or at HTTP 400 (-32700 malformed JSON with id null, -32600 invalid batch, -32020 header mismatch, and -32022 with data.requested for an unsupported version claim). The 406 Accept-header rejection is the one transport error that bypasses the JSON-RPC envelope. Rate limits are split. 60 requests per 60 seconds per IP gate every call (MCP_LIMITER). 5 fresh audits per 60 minutes per IP gate score_cli cache-miss audits only (MCP_AUDIT_LIMITER). audit_website has its own budget: a per-IP burst limiter (WEB_AUDIT_LIMITER_IP) plus 30 fresh audits per 60 minutes per IP, no anon fallback. All keyed on cf-connecting-ip; the read tier falls back to a shared anon bucket, the audit tiers reject on missing IP rather than consuming a shared bucket. Four of the five kill switches let the operator disable the whole surface (MCP_ENABLED), only the cost-bearing CLI audit tool (MCP_LIVE_SCORING_ENABLED), the website audit (WEB_AUDIT_ENABLED), or only the following of declared hosts (WEB_AUDIT_FOLLOW_ENABLED) without a deploy; the fifth (MCP_LEGACY_ENABLED) surfaces as the -32022 legacy reject above. By default (follow_declarations true) a website audit also contacts third-party hosts the site declares. An MCP server the site's server card names gets GETs for the documents that could confirm it (a card at <endpoint>/server-card, its host's /.well-known/ai-catalog.json, RFC 9728 protected-resource metadata) and is wire-probed (JSON-RPC POSTs, a CORS preflight) only after one of those documents on the endpoint's own host names the endpoint. An API host anchored in the site's api-catalog gets document fetches (its OpenAPI description) and one GET to a nonsense path on the site's declaration alone. anc sends no plaintext request: an http URL, declared or linked, and any redirect to http, is never requested. Each audit follows at most 4 off-origin hosts with at most 12 follow-phase document requests inside a 6-second follow window, so following lengthens an audit's wall time. Across all audits and sites, following is also capped at about 30 audits per hour per declared registrable domain; an audit past that cap leaves that domain's hosts unprobed, and when the site has a saved scorecard from the last 24 hours that audit is returned without replacing it, with no scorecard_url, markdown_url, or json_url. follow_declarations false audits only the site and returns a result that is never saved, and the operator can switch following off for every audit (WEB_AUDIT_FOLLOW_ENABLED). Spec revision is pinned to 2026-07-28; the /.well-known/mcp/server-card.json server card advertises the same value, and the two are bumped in lockstep when the SDK is upgraded. Connect now at https://anc.dev/mcp (no authentication). Full recipes remain at https://anc.dev/mcp-skill.md.
Known tools 13
list_spec_sectionsReturn the table of contents for the vendored agentnative spec at the current spec_version.
Inferred read-onlyget_website_auditRead a cached website agent-readiness scorecard by URL without re-running the audit.
Inferred read-onlyaudit_websiteRun a fresh website agent-readiness audit and return the complete scorecard.
Inferred read-onlylist_website_auditsReturn the website half of the leaderboard (curated + opted-in).
Inferred read-onlyget_web_remediationReturn the canonical remediation for a web-audit check by id (e.g.
Inferred read-onlyCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.anc]
url = "https://anc.dev/mcp"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"anc": {
"type": "http",
"url": "https://anc.dev/mcp"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: anc
Remote MCP URL: https://anc.dev/mcp
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"anc": {
"url": "https://anc.dev/mcp"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"anc": {
"type": "http",
"url": "https://anc.dev/mcp"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "anc",
"transport": "streamable-http",
"url": "https://anc.dev/mcp"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
TRUST AND VERIFICATION EVIDENCE
Loading Trust v2 evidence…
Checking the associated registrable domain. The BuiltWith key remains server-side.
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.