AI Security

MCP Security Checker

A 33-point self-assessment of your MCP server implementation across six security domains. Answer each control to get a scored posture, a grade, and a prioritized fix list. Nothing is uploaded — the assessment runs entirely in your browser.

Start assessing

0/33 answered

Identity & Auth

Isolation

Tooling

Validation

Secrets & Deploy

Supply chain & Monitoring

1. Strong identity, authentication & policy

Authentication in MCP is optional by default, and many examples ship over plain HTTP. Treat auth as mandatory and enforce policy centrally.

CriticalOWASP §5 · Palo Alto

Do all remote MCP servers require OAuth 2.1 / OIDC (not optional, no anonymous access)?

HighOWASP §5

Is every request validated for token signature, issuer (iss), audience (aud) and expiry (exp)?

HighOWASP §5 · SlowMist: Least Privilege

Are access tokens short-lived (minutes) and narrowly scoped to the minimum needed?

CriticalOWASP §5

Do you avoid token passthrough — never forwarding the client's token to downstream APIs?

HighOWASP §5

Is authentication, authorization, consent and tool filtering enforced at a central policy/gateway layer?

HighOWASP §1 · SlowMist: Encrypted Communication

Is transport encrypted — TLS 1.2+ for remote, and local HTTP bound to 127.0.0.1 with Origin validation?

2. Strict isolation & lifecycle control

MCP servers manage many concurrent sessions and often share identity or compute. Without hard separation you get cross-tenant leakage and impersonation.

CriticalOWASP §1 · SlowMist: Data Isolation

Is per-user/per-session state fully isolated (no global variables, class attributes or shared singletons for user data)?

HighOWASP §1 · §7

Does each user's action run under a distinguishable identity (not one shared service account)?

HighOWASP §1 (Strict Lifecycle Management)

On session end / timeout / disconnect, are file handles, temp storage, in-memory context and cached tokens deterministically destroyed?

MediumOWASP §1 · §3

Are per-session resource quotas enforced (memory, CPU, filesystem, API rate) keyed to session/user?

HighOWASP §1 · Palo Alto (sandboxing)

Is tool/code execution sandboxed (containers or micro-VMs), not run in a shared host process?

3. Trusted, controlled tooling

Tool descriptions are fed to the model automatically, and tools can be swapped after approval ('rug pulls'). Treat tool definitions as a trust boundary.

HighOWASP §2 · SlowMist: Integrity Verification

Does every tool ship a cryptographically signed manifest (description, schema, version, permissions) verified at load time?

HighOWASP Vuln Landscape · Palo Alto (tool poisoning)

Are tools version-pinned so a trusted definition can't be silently swapped or modified at runtime ('rug pull')?

HighOWASP §2 · §7 (Peer Review)

Is there a formal approval workflow to add/update a tool (SAST, dependency scan, manual security review)?

CriticalOWASP §2 · Palo Alto (tool poisoning)

Do you validate that a tool's advertised description matches its actual runtime behavior?

MediumOWASP §2

Are only minimal, necessary tool fields exposed to the model (internal/sensitive metadata kept out of model context)?

HighSlowMist: Function Name Checking · Palo Alto

Are tool names namespaced and collisions detected, so a malicious server can't shadow a trusted tool's name?

4. Schema-driven validation & prompt-injection controls

Treat every message — from the model and from tools — as untrusted. Funnel intent through schemas and gate high-risk actions.

CriticalOWASP §3 · Minimum Bar 4

Are all MCP messages, tool inputs and tool outputs validated against a strict JSON Schema, rejecting anything malformed?

HighOWASP §3

Are inputs/outputs sanitized, encoded and size-limited (stripping sequences that enable XSS / SQLi / RCE)?

HighOWASP §4

Do you prefer structured JSON tool calls over free-form model-generated command text?

CriticalOWASP §4

Do high-risk actions (delete data, send money, system changes) pause for explicit human confirmation?

HighPalo Alto (consent fatigue) · SlowMist: Auto-approve Control

Are auto-approvals restricted so users aren't desensitized into blanket-approving (consent fatigue)?

MediumOWASP §4

For high-risk calls, do you run a separate policy/LLM-as-a-judge check in a distinct context?

5. Secrets & hardened deployment

Configuration files often store tokens in plaintext, and servers run with too much privilege. Lock down secrets and the runtime.

CriticalOWASP §6 · Palo Alto (plaintext credentials)

Are secrets stored in a vault (never in env vars, logs, plaintext config or code) and never exposed to the LLM?

HighOWASP §6

Does the server run in a minimal, hardened container as a non-root user with unnecessary packages/capabilities dropped?

HighOWASP §6

Is the server network-segmented (firewall / K8s NetworkPolicies blocking all inbound/outbound except what's required)?

MediumOWASP §6

Do responses to the model/client avoid leaking stack traces, tokens, filesystem paths or tool internals?

HighOWASP §6 · §8

Does CI/CD fail the build on a new vulnerability, unapproved dependency or failed policy check (security gate)?

6. Supply chain, monitoring & governance

Malicious servers get uploaded to unofficial repositories, and threats surface at runtime. Verify what you install and watch what it does.

HighPalo Alto (malicious repos) · SlowMist: Source Verification

Do you verify the source of every MCP server you install (guard against typosquatting / dependency confusion / fake branding)?

HighOWASP §6 · §8 · SlowMist: Supply Chain

Are dependencies version-pinned, scanned (SCA) and images signed, with an SBOM/AIBOM maintained?

HighOWASP §7 · SlowMist: Detailed Logging

Are all security-relevant events logged (tool calls with params, resource access, auth events, config changes) — immutably and with sensitive data redacted?

MediumOWASP §8 · SlowMist: Anomaly Detection

Do audit logs feed a monitoring system (SIEM) with real-time alerts on suspicious patterns (failed-validation spikes, high-frequency or anomalous tool calls)?

MediumOWASP §8

Are runtime protections in place (seccomp / AppArmor / specialized MCP runtime guards) to constrain a compromised tool?

Your prioritized action list

Answer the controls above and your prioritized gaps will appear here, worst-first.

Built on the work of others — please credit them too

This checklist adapts (does not copy) guidance from:

This self-assessment is guidance, not a guarantee — a high score reduces risk but does not certify security. Pair it with real testing (SAST/SCA, penetration testing) and the secure-MCP course.