Compuute MCP Security Scanner

Registre officiel Outils de développement

Scan any public GitHub MCP-server repo for security issues. 37 MCP-specific L1 rules, 8 languages.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http compuute-mcp-security-scanner 'https://scan.compuute.se/mcp/'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "compuute-mcp-security-scanner": {
            "type": "http",
            "url": "https://scan.compuute.se/mcp/"
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. compuute-scan-api
  2. Endpoints
  3. Agent-shaped API features
  4. Pricing
  5. Local development
  6. Tests
  7. Scripts
  8. Architecture
  9. Documentation
  10. Security
  11. License
  12. Author

compuute-scan-api

Scan-as-a-Service for MCP servers. HTTP + MCP wrapper around compuute-scan — the MCP-specific static security scanner. Designed for agent-callable consumption.

POST a public GitHub repo URL → get a structured security report scored against 38 MCP-specific rules across 8 languages (TS/JS, Python, Go, Rust, C#, Java, Kotlin).

Honesty note (read first): compuute-scan is a pattern-breadth detector, not an exploitability oracle. Historic false-positive rate after manual validation is ~90% on raw output (verified against modelcontextprotocol/servers: 138 raw findings → 13 confirmed). Every response carries a _disclaimer field stating this explicitly. Use findings as a triage queue, not as a list of confirmed vulnerabilities. See docs/FP-RATES.md for per-rule transparency.

Live at https://scan.compuute.se. Service version reported by /v1/health.


Endpoints

Core scan
MethodPathPurposeAuth
POST/v1/scanScan a public GitHub MCP-server repo (free tier, rate-limited)none
POST/v1/scan/paySame as above via x402 micropayment ($0.10 USDC on Base L2)X-Payment header

POST /v1/scan/pay with no body to read the payment requirements without paying — the request body is optional precisely so discovery probes reach the 402 instead of body validation. Verify with the Coinbase Agentic Wallet CLI:

npx awal x402 details https://scan.compuute.se/v1/scan/pay

| GET | /v1/scan/info | Scanner version + limits + supported ecosystems | none | | GET | /v1/health | Liveness + scanner-binary availability | none |

Machine-readable contracts
MethodPathPurpose
GET/openapi.jsonOpenAPI v3 spec with per-field descriptions
GET/docsSwagger UI for the OpenAPI spec
MCP server (live)
EndpointToolTransport
/mcp/scan_mcp_server(github_url)Streamable HTTP

Install in Claude Code: claude mcp add compuute-scan --transport http --url https://scan.compuute.se/mcp/

Discovery (/.well-known/)
PathFormatConsumer
/.well-known/agent-card.jsonA2A v1.0 Agent Card (canonical)A2A protocol clients
/.well-known/agent.jsonA2A Agent Card (alias)pre-1.0 A2A clients/crawlers
/.well-known/ai-plugin.jsonOpenAI plugin manifestChatGPT / OpenAI tools
/.well-known/x402.jsonx402 payment manifestCoinbase Agent.market crawlers, x402 aggregators
/.well-known/x402Alias of x402.jsonx402 probes without .json suffix
/llms.txtmarkdown summaryLLM-driven agent-search crawlers (Exa, Perplexity-style) per llmstxt.org
/robots.txtcrawler policysearch engines
/sitemap.xmlURL indexsearch engines
Example
curl -X POST https://scan.compuute.se/v1/scan \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 00000000-0000-0000-0000-000000000001' \
  -d '{"repo_url": "https://github.com/modelcontextprotocol/servers"}'

Response (truncated):

{
  "repo_url": "https://github.com/modelcontextprotocol/servers",
  "scanner": {"name": "compuute-scan", "version": "0.6.2", "layers_covered": ["L0", "L1"]},
  "summary": {"critical": 1, "high": 94, "medium": 22, "low": 0, "files_scanned": 77},
  "score": 0,
  "recommendation": "AVOID — 1 critical and 94 high finding(s)...",
  "top_findings": [...],
  "performance": {"clone_seconds": 1.2, "scan_seconds": 0.5, "repo_size_bytes": 41234},
  "_disclaimer": "PATTERN MATCH — compuute-scan is a static analyzer..."
}

Agent-shaped API features

FeatureHow
Idempotent retries (24h cache)Idempotency-Key header
HTTP cacheETag + Cache-Control: public, max-age=1800
Conditional GETIf-None-Match → 304 Not Modified
Rate-limit headersX-RateLimit-Limit/Remaining/Reset
Strict input validationPydantic extra="forbid", GitHub-HTTPS-only
OWASP security headersHSTS / X-Frame-Options / X-Content-Type-Options / CSP / Referrer-Policy / Permissions-Policy
OpenAPI for discoveryGET /openapi.json with descriptions on every field
MCP for agent discovery/mcp/ exposes scan_mcp_server tool
x402 for autonomous purchase/v1/scan/pay returns 402 with USDC/Base payment requirements
Honest framingEvery response carries _disclaimer — pattern match, not exploitability claim

Pricing

TierAudiencePrice
Open Source CLIIndie devs, agent builders$0 — npx compuute-scan ./repo
Hosted API (free)Agent operators evaluating MCP servers$0 — POST /v1/scan, rate-limited
Hosted API (x402)Autonomous agents in Agent.market ecosystem$0.10 USDC/scan — POST /v1/scan/pay
MCP Security AuditEnterprises shipping MCP to production$5K–$30K SoW
AI Procurement Risk AuditCFO/CTO/CISO buying enterprise AI capacity$5K–$15K SoW

Full breakdown with JSON-LD: https://compuute.se/pricing.

Local development

python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
export COMPUUTE_SCAN_PATH=$HOME/compuute-scan/compuute-scan.js
uvicorn main:app --reload

x402 payment env vars (all optional locally; /v1/scan/pay returns 503 until the wallet is set):

VarPurposeDefault
X402_WALLET_ADDRESSBase L2 address receiving USDCunset (x402 disabled)
X402_NETWORKCAIP-2 network id — eip155:8453 (Base mainnet) or eip155:84532 (Base Sepolia)eip155:8453
X402_PRICE_USDPrice per scan0.10
X402_FACILITATOR_URLFacilitator base URLCDP facilitator (serves both networks)
CDP_API_KEY_ID / CDP_API_KEY_SECRETCDP API key for facilitator verify/settle authunset (verify will be rejected)
Rehearsing payments on testnet

Set X402_NETWORK=eip155:84532 to quote prices in Base Sepolia USDC, which is free from a faucet. The CDP facilitator serves Sepolia too, so a testnet payment exercises the real verify/settle path and your real CDP API keys — without moving real money.

Asset address and EIP-712 domain are selected together per network: Base mainnet USDC signs as "USD Coin", Base Sepolia as "USDC". Mixing them fails every signature with an error that looks like a bad API key, which is why they live in one NETWORKS table rather than separate env vars.

Mainnet is the default and an unknown value falls back to it, so a typo can never silently ask real agents to pay in worthless testnet USDC. Check which mode is live with curl -s https://scan.compuute.se/v1/health — the x402 block reports network and testnet.

Tests

pytest tests/ -v
# 34 tests covering scan, x402, MCP, discovery, OpenAPI

Scripts

ScriptWhat it does
scripts/precheck.shStart-of-session check: branch, working tree, tests, live state, next backlog item
scripts/postcheck.shEnd-of-session check: committer hygiene, tests, append to docs/PROGRESS.md
scripts/status.sh30-second live-state check against scan.compuute.se (4 probes)
scripts/sbom.shGenerate CycloneDX SBOM, optionally upload to a GitHub Release
scripts/prospect-research.shPull qualified prospects from GitHub + Anthropic Registry, draft DM angles
scripts/measure-tiers.shT0/T1/T2 distribution snapshot per docs/agent-economy-strategy.md §5 — reach, engagement, conversion measured against Railway logs + Base RPC + GitHub stars

Architecture

  • api/services/scan.py — clone + sandbox + scan + parse. Pure functions.
  • api/services/x402_service.py — x402 v2 verify / settle on the official x402 SDK; CDP facilitator (Base mainnet) by default; Bazaar discovery extension in 402 bodies.
  • api/services/cdp_auth.py — minimal CDP API-key JWT auth for the facilitator (PyJWT + cryptography; avoids the full cdp-sdk).
  • api/serializers/scan_serializer.py — Pydantic models, strict validation.
  • api/routes/scan.py — HTTP layer for /v1/scan: idempotency, cache, ETag.
  • api/routes/scan_x402.py — HTTP layer for /v1/scan/pay.
  • api/routes/discovery.py — /.well-known/*, /robots.txt, /sitemap.xml.
  • api/mcp_server.py — FastMCP server exposing scan_mcp_server.
  • main.py — FastAPI wiring + middleware (security headers, CORS).

Bundled compuute-scan version is pinned in the Dockerfile (ARG COMPUUTE_SCAN_REF=v0.6.2).

Documentation

DocFor
docs/agent-economy-strategy.mdThe strategic doc — a16z-verified data, the 11-signal buyer-agent model, two-track strategy, 30-day pivot trigger. Read first if you're trying to understand the company.
docs/STRATEGY.mdPosition, pricing tiers, roadmap, decision log
docs/ARCHITECTURE.mdComponent diagram, request flow, threat model, deployment topology
docs/DEVELOPMENT.mdLocal setup, layout, code style, common pitfalls — onboard a new dev in 30 min
docs/MONITORING.mdEndpoints to watch, automated checks, runbook for failures
docs/FP-RATES.mdPer-rule false-positive transparency
docs/scan-self-triage.mdWhat this scanner reports when run against its own code
docs/whitepaper/MCP Security Methodology v1.0 (Markdown + PDF)
docs/case-studies/Three anonymized engagement reports from the May 2026 batch
docs/advisories/Public advisories under the COMPUUTE-YYYY-NNN numbering
docs/security/Self-pentest reports (90-day cadence)
docs/audits/The AI Procurement Risk Audit checklist (lead magnet)
docs/compliance/SOC 2 Type I readiness statement, TSC control mapping
docs/submissions/LangChain + CrewAI tool wrappers ready for PR/marketplace
skills/compuute-scan/Claude Skill package (SKILL.md + scan.sh) — submitted to anthropics/skills#1346
CODE_OF_CONDUCT.mdContributor Covenant 2.1
docs/launches/Show HN draft + posting checklist
docs/setup/Status page (BetterStack) + analytics (PostHog) setup guides
docs/agentic-market-submission.mdThree paths to Coinbase Agent.market listing
BACKLOG.mdGitHub Issues + Project board roadmap
IDEAS.mdComposted product hypotheses with gating rules
CONTRIBUTING.mdHow to contribute
SECURITY.mdVulnerability disclosure policy (90-day window)

Security

Found a vulnerability? See SECURITY.md — email security@compuute.se. We follow a 90-day coordinated disclosure window.

License

MIT (matches compuute-scan).

Author

Compuute AB — daniel@compuute.se

Questions fréquentes

Qu'est-ce que Compuute MCP Security Scanner ?

Scan any public GitHub MCP-server repo for security issues. 37 MCP-specific L1 rules, 8 languages.

Comment installer Compuute MCP Security Scanner ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http compuute-mcp-security-scanner 'https://scan.compuute.se/mcp/'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Compuute MCP Security Scanner ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

Compuute MCP Security Scanner est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Compuute MCP Security Scanner ?

Il est publié par Compuute. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.