civic-mcp-gateway — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited civic-mcp-gateway (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Connecting AI Agents to tools and data via the Civic MCP Gateway gives builders access to guardrails, scoped permissions, audit trails, and revocable access when calling MCP tools. Civic separates the permission layer from the AI agent so they can't get around restrictions.
This repository contains integration metadata, configuration files, and client examples. The gateway itself runs at [app.civic.com](https://app.civic.com).
Without an identity layer, any AI agent can call any MCP tool with no record of who authorized it, what it accessed, or how to revoke its access. Civic fixes that:
https://app.civic.com/hub/mcpTransport: Streamable HTTP Auth: Bearer token (generated at app.civic.com)
Sign in at app.civic.com and generate a bearer token from the onboarding flow.
Claude Desktop — native Streamable HTTP:
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"civic": {
"url": "https://app.civic.com/hub/mcp"
}
}
}Claude Code — native HTTP transport (no bridge needed):
claude mcp add --transport http civic https://app.civic.com/hub/mcpOr for stdio via Hub Bridge:
claude mcp add civic "npx @civic/hub-bridge"Cursor — native Streamable HTTP:
Add to your Cursor MCP config:
{
"mcpServers": {
"civic": {
"url": "https://app.civic.com/hub/mcp"
}
}
}Cline (VS Code) — add to cline_mcp_settings.json:
{
"mcpServers": {
"civic": {
"url": "https://app.civic.com/hub/mcp",
"headers": {
"Authorization": "Bearer YOUR_CIVIC_TOKEN"
}
}
}
}Windsurf — native Streamable HTTP, no bridge required:
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"civic": {
"serverUrl": "https://app.civic.com/hub/mcp"
}
}
}Windsurf handles OAuth automatically on first connection.
Append ?profile=your-toolkit to scope the gateway to a specific configuration:
https://app.civic.com/hub/mcp?profile=your-toolkitFor non-interactive agents that can't complete an OAuth flow, generate a bearer token at app.civic.com and pass it directly:
curl -X POST https://app.civic.com/hub/mcp \
-H "Authorization: Bearer $CIVIC_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'| Registry | Link |
|---|---|
| Smithery | smithery.ai/servers/@civic/civic-mcp-gateway |
| ClawHub | clawhub.ai/civictechuser/openclaw-civic-skill |
| Use case | What Civic adds |
|---|---|
| Gmail guardrails & audit | Block outbound sends with secrets, redact PII from email content, log every send |
| Google Calendar guardrails & audit | Prevent event deletion, restrict to business hours, block external attendees |
| PostgreSQL guardrails & audit | Block destructive queries, enforce read-only access, redact sensitive columns |
Full documentation at [docs.civic.com](https://docs.civic.com/civic/quickstart)
See civicteam/nexus-demo for a full client integration using Next.js, federated auth, and MCP tool visualization.
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.