mcpcensus

MCP Census developer API

Select one exact MCP server. Apply a versioned policy. Get PASS, REVIEW, or BLOCK with ordered reasons, source times, validity, digests, and limits. Portal: /developers · OpenAPI: /openapi.json · MCP: api.mcpcensus.com/mcp.

free

10/day
  • Web lookup
  • REST + MCP · 10 unique/day per IP
  • No signup
TRY FREE

account

100/day
  • Free key · no card
  • REST + MCP
  • Same unique-lookup rules
GET A FREE KEY
Already on a paid plan?

Enter the email your plan is under. We send the key there (never shown on this page).

rest lookup
# search
curl "https://api.mcpcensus.com/v1/search?q=github" \
  -H "x-api-key: YOUR_KEY"

# one server
curl "https://api.mcpcensus.com/v1/server?name=io.github.netdata/mcp-server" \
  -H "x-api-key: YOUR_KEY"

Headers: x-ratelimit-remaining, x-tier. No key = 10/day. Free account key = 100/day. Quotas count unique lookups — asking for the same query or server again the same day is free. &limit= default 20, max 50.

preflight rest

Apply one named policy to one exact server

Input is closed. policy_id defaults to builtin:baseline. refresh defaults to never. if_stale needs an account key and can only probe the canonical stored Census URL under bounded quota and cooldown rules.

# exact policies and canonical ruleset
curl https://api.mcpcensus.com/v1/policies

# evaluate one exact canonical name
curl -X POST https://api.mcpcensus.com/v1/preflight \
  -H "content-type: application/json" \
  -H "x-api-key: YOUR_KEY" \
  -d '{"server_name":"io.github.owner/name","policy_id":"builtin:baseline","refresh":"never"}'

# authenticated audit history
curl -H "x-api-key: YOUR_KEY" https://api.mcpcensus.com/v1/evaluations
curl -H "x-api-key: YOUR_KEY" https://api.mcpcensus.com/v1/evaluations/AUDIT_ID
PASSevery rule in that exact policy revision passes on the facts in the result
REVIEWhuman judgment or more current required evidence is needed
BLOCKa hard failure violates policy, or strict@1 fails closed on required evidence

Every completed result includes ordered reasons, facts, source times, facts_digest, policy.digest, decision_input_digest, evaluated_at, valid_until, audit_signed: false, and limitations. Authenticated completed calls also include a random account-scoped audit ID retained for 90 days. Digests are not signatures.

Exact policy objects → · Method and limits → · Human console →

mcp

Point a client at the streamable HTTP endpoint. The server exposes exactly 10 tools:

  • census_search — search and select one exact canonical name
  • census_lookup — full evidence card for an exact name
  • census_stats — ecosystem headline counts
  • census_recent — recently discovered servers
  • census_coverage — public coverage and provenance report
  • census_watch_subscribe — watch one server (API key)
  • census_watch_list — list watches (API key)
  • census_watch_unsubscribe — stop a watch (API key)
  • census_preflight — PASS, REVIEW, or BLOCK for one exact name and policy
  • census_policy_list — exact policies and canonical ruleset

Required flow: search and select one exact canonical name; run census_preflight with a named policy; stop on BLOCK; ask a human on REVIEW; review permissions, scopes, code, data access, and runtime isolation after PASS; never install or run from a Census result alone.

{
  "mcpServers": {
    "mcp-census": {
      "url": "https://api.mcpcensus.com/mcp",
      "headers": { "x-api-key": "YOUR_KEY" }
    }
  }
}
add to your agent

Best path: paste this into any coding agent and let it install itself — same pattern as Cloudflare’s agent setup.

Fetch https://mcpcensus.com/agent-setup/prompt.md

Or one-click / copy-paste for a specific client. No button pretends more than the client can do.

CursorOpens Cursor’s install page (hands off to the desktop app when installed) and copies a full mcp.json snippet. If no install prompt: Cursor Settings → MCP → Add new global MCP server → paste. Remote URL: https://api.mcpcensus.com/mcp.ADD TO CURSOR
VS Codetrue one-click via VS Code's own install redirect (works with Copilot's MCP support)ADD TO VS CODE
ClaudeOpens Customize → Connectors and copies https://api.mcpcensus.com/mcp. Then: Add (top right) → Add custom connector → paste URL → name it e.g. MCP Census. Pro/Max (or Free with one custom connector).OPEN CLAUDE + COPY URL
Claude Codeone terminal command
ChatGPTNo install link exists. Paid plan + Settings → Connectors → Advanced → Developer mode, then Connectors → Create → paste URL (copied on click). Auth: none for free tier; optional x-api-key header if you have a key.
Grokopens grok.com/connectors and copies the endpoint — New Connector → Custom → pasteADD TO GROK
Gemini CLIone terminal command
Codexone terminal command

Endpoint: https://api.mcpcensus.com/mcp · agent install guide: /agent-setup/prompt.md · product map: /llms.txt

watch a server (agents)

Subscribe to one MCP server at a time. We notify only when something real changes on that server — remote goes down or comes back, health flips, verification-relevant legs move, or OSV security findings change. No noise when nothing happened.

Agent path (preferred): HTTPS webhook. Your agent POSTs a subscribe call; we POST signed events back. Human path: email. Free account key: 5 watches · pro: 50 · more by request.

# subscribe (API key required)
curl -X POST https://api.mcpcensus.com/v1/watch \
  -H "content-type: application/json" \
  -H "x-api-key: YOUR_KEY" \
  -d '{"server_name":"com.vercel/vercel-mcp","webhook_url":"https://your.agent/hooks/census"}'

# list · unsubscribe
curl -H "x-api-key: YOUR_KEY" https://api.mcpcensus.com/v1/watch
curl -X DELETE -H "x-api-key: YOUR_KEY" "https://api.mcpcensus.com/v1/watch?id=WATCH_ID"

# MCP tools (same server): census_watch_subscribe · census_watch_list · census_watch_unsubscribe

Webhook headers: X-Census-Event, X-Census-Signature: sha256=… (HMAC of body with the watch secret), X-Census-Watch-Id. Events: remote_down · remote_up · health_change · verified_change · security. Full agent notes in /llms.txt.

a health card
{
  "server_name": "io.github.owner/name",
  "health": "healthy | issues | unknown",
  "health_problems": ["repo_gone", "npm_deprecated", ...],
  "verified": true,
  "gh_stars": 1234, "months_since_push": 0.9,
  "gh_archived": false, "npm_deprecated": false,
  "name_collision_count": 3, "registry_status": "active",
  "trust_score": 78,
  "trust_factors": [{ "factor": "repo_live", "points": 10, "pillar": "maintenance",
      "evidence": "GitHub repo confirmed present and not archived" },
    { "factor": "awesome_listed", "points": 2, "pillar": "adoption",
      "evidence": "repository is listed in awesome-mcp-servers — https://github.com/punkpeye/awesome-mcp-servers" }, ...],
  "trust_pillars": [{ "pillar": "identity", "points": 15, "max": 20 },
      { "pillar": "maintenance", "points": 41, "max": 59 },
      { "pillar": "adoption", "points": 24, "max": 51 },
      { "pillar": "security", "points": 0, "max": 0 }], ...
}

health is healthy / issues / unknown. trust_score is 0–100 with trust_factors (and pillar groups) in the same response. Unknown is not a guess. Registry, GitHub, npm, PyPI.

verified

verified: true = live repo (not archived) + live package + active registry listing. Not a claim that npm publisher equals GitHub owner.

badge

Free SVG badge for READMEs. No key. Links to lookup.

# the image
GET https://mcpcensus.com/badge/io.github.owner/name.svg

# markdown embed
[![MCP Census](https://mcpcensus.com/badge/io.github.owner/name.svg)](https://mcpcensus.com/lookup?q=io.github.owner/name)
The MCP Census · Contact us · Policies · llms.txt for agents
Free tiers are published above. Production volume and price are arranged by email. Cancel anytime. 14-day refund on paid access.