
This page is part of our MCP Security Center, within The MCP Guide. Want a second opinion on your setup? Request a free MCP readiness review.
An MCP security checklist is a short list of controls you confirm before and after connecting AI apps to MCP servers. The one below has 40 numbered items in eight groups. Copy it into a doc or ticket, assign an owner to each group, and mark each item yes, no or not applicable.
Every item traces back to a primary source. Most come from the official MCP Security Best Practices for the 2026-07-28 spec, the tools specification, or the OWASP MCP Top 10. OWASP lists that project as "Beta Release and Pilot Testing" as of October 2026, so expect its wording to change.
The checklist suits IT leads, small business owners and developers. Items marked "(builders)" are for teams that run or write their own servers.
Key Takeaways
- Start with an inventory, because you cannot secure MCP servers you do not know about.
- The spec says servers must accept only tokens issued for them and must never pass other tokens through.
- Local servers run code on your machine, so clients that offer one-click installs must show the exact command first.
- Keep a person able to deny tool calls, as the tools spec recommends, and log every call.
- Pin versions and track advisories, since several 2025 and 2026 MCP CVEs were fixed only by upgrading.
- Re-run the checklist quarterly and whenever you add a server.
How to use this checklist
Work top to bottom. Groups 1 and 2 matter most for everyone. Groups 3 to 5 depend on whether you use local servers, remote servers or both.
Write the date and the reviewer's name at the top. Keep the completed copy with your security records. A "no" is not a failure; it is a task with an owner and a due date.
The checklist
1. Inventory and approval
- We keep a written list of every MCP server in use, with publisher, version, hosting (local or remote) and business owner.
- We know which AI apps (clients) connect to each server.
- No new server touches company data without approval from a named person.
- We have checked for "shadow" servers. OWASP's entry on shadow MCP servers describes these as "unapproved or unsupervised deployments" and suggests regular discovery scans.
- Unused servers are removed, not just ignored.
2. Identity, tokens and scopes
- Remote servers use OAuth sign-in rather than shared, long-lived API keys, where the vendor offers both.
- Each server requests only the scopes it needs. The best practices list wildcard scopes such as
*,allorfull-accessas a common mistake. - Write access is granted only to workflows that need it. Everything else starts read-only.
- (builders) The server validates that tokens were issued for it. The best practices state that servers "MUST NOT accept any tokens that were not explicitly issued for the MCP server."
- (builders) The server never forwards a client's token to a downstream API (no "token passthrough").
- (builders) Proxy servers that use one static client ID show their own consent screen for each client, as the confused deputy section requires.
- Tokens are revoked when a person leaves or a server is retired.
3. Local servers
- Every local server comes from a publisher we can identify, such as a verified namespace in the official MCP Registry.
- Someone read the full install command before approving it. The spec says clients offering one-click setup must show "the exact command that will be executed, without truncation."
- Local servers use the stdio transport where possible. The best practices recommend stdio "to limit access to just the MCP client."
- Any local server using HTTP requires a token and listens only on 127.0.0.1, not all network interfaces.
- Local servers run in a sandbox or container with limited file and network access. See sandboxing local MCP servers.
4. Remote servers (builders)
- The server validates the
Originheader on every connection. The Streamable HTTP spec makes this a MUST, to block DNS rebinding. - Every connection is authenticated. Several 2026 CVEs involved HTTP modes with no authentication at all.
- State handles (cart IDs, workflow IDs) are random, bound to the signed-in user, and never treated as proof of identity.
- The client blocks OAuth discovery URLs that point at private IP ranges or cloud metadata addresses (SSRF protection).
- Authorization URLs are checked so only
https://(or loopbackhttp://in development) can open.
5. Tool use and approvals
- A person can see which tools are exposed and can deny any call. The tools spec says there "SHOULD always be a human in the loop."
- Payments, deletions and outbound messages need explicit confirmation.
- The client shows tool inputs before sending them, as the tools spec recommends, to catch accidental data leaks.
- Tool annotations (hints like "read-only") are not trusted unless the server is trusted. The spec makes this a MUST for clients.
- No single agent combines private data, untrusted content and a way to send data out, unless approvals sit in between.
- Tool descriptions are reviewed after updates, to catch a server that changed after approval.
6. Logging and monitoring
- Every tool call is logged with user, client, server, tool, inputs, result status and time.
- Scope changes are logged. The best practices suggest logging "elevation events (scope requested, granted subset) with correlation IDs."
- Secrets and tokens are masked in logs, including tokens inside URLs.
- Logs are stored where the people they record cannot delete them.
- Someone reviews alerts or a log sample on a set schedule.
7. Supply chain and updates
- Server versions are pinned. OWASP MCP04 says to pin exact versions and "avoid 'latest'."
- We watch security advisories for each server, SDK and client we use.
- MCP SDKs and clients are kept current. The incident tracker lists SDK and client CVEs fixed only by upgrading.
- Archived or unmaintained servers are replaced. Archived projects may not get security fixes.
8. Review and response
- This checklist is re-run at least quarterly and whenever a server is added.
- We have a written plan for a compromised server. See MCP incident response.
- Staff know how to report a suspicious AI action, and know they will not be blamed for reporting.
How the checklist maps to OWASP
Use this table when someone asks which risks the checklist covers.
| Checklist group | OWASP MCP Top 10 entries addressed |
|---|---|
| 1. Inventory and approval | MCP09 Shadow MCP Servers |
| 2. Identity, tokens and scopes | MCP01 Token Mismanagement, MCP02 Scope Creep, MCP07 Insufficient AuthN/AuthZ |
| 3. Local servers | MCP04 Supply Chain, MCP05 Command Injection |
| 4. Remote servers | MCP07 Insufficient AuthN/AuthZ |
| 5. Tool use and approvals | MCP03 Tool Poisoning, MCP06 Prompt Injection, MCP10 Context Over-Sharing |
| 6. Logging and monitoring | MCP08 Lack of Audit and Telemetry |
| 7. Supply chain and updates | MCP04 Supply Chain |
| 8. Review and response | All |
For a plain-English walk through each entry, see the OWASP MCP Top 10, explained.
What to fix first
If you score many "no" answers, do not try to fix everything at once. Fix in this order:
- Items 1, 3 and 5: know what is connected and remove what you do not need.
- Items 7, 8 and 24: cut access and add approvals for risky actions.
- Items 14 and 16: close the local-server gaps that allow code to run on your machines.
- Items 29 and 31: turn on logging, with secrets masked.
The rest can follow over the next quarter. The MCP security best practices from the spec explain the reasoning behind the builder items.
Next step
If you would like a second pair of eyes, our MCP readiness audit works through this checklist with your team and ranks the gaps by risk. Building your own server? Our MCP development team builds the builder items in from the start.
Frequently asked questions
Who should own the MCP security checklist?
Usually IT or security owns the checklist itself. Each group can have its own owner, such as a developer for the builder items. Name people, not teams, so tasks do not stall.
How long does it take to complete?
A small company with a handful of servers can finish a first pass in an afternoon. Larger estates take longer mainly because the inventory step takes longer. Later reviews are faster.
Do we need every item if we only use remote servers?
No. Skip group 3 if no one runs local servers, and mark those items not applicable. Recheck that answer each quarter, because developers often add local servers without telling anyone.
Is this checklist based on the latest MCP spec?
Yes. It was checked against the 2026-07-28 specification and its Security Best Practices page on 28 October 2026. When a new spec version ships, review groups 2 and 4 first, since authorization and transport rules change most.
Does passing this checklist make us compliant with a standard?
No. It is a practical control list, not a certification or legal assessment. It can feed into frameworks you already use, such as your third-party risk process.
Where can I find a version for vendors?
Use the MCP vendor security questionnaire. It turns these controls into questions a vendor answers in writing.











