Installing an MCP server gives an AI agent new abilities, and new ways to go wrong. A server can read files, query databases, send messages or run commands, and its tool descriptions are text the model trusts. Most servers are fine. Some are abandoned, over-privileged or poorly built, and a few are malicious. This guide gives a practical, step-by-step audit you can run before any MCP server reaches a developer laptop or a production agent.
If you are new to the protocol, start with our explainer on what MCP is.
The single most useful check is the publisher. A server run by the company that owns the underlying system, such as GitHub’s server for GitHub or Stripe’s for Stripe, is almost always safer than a community wrapper around the same API.
An unmaintained server will not get fixes when new attack techniques appear.
Tool descriptions are instructions the model reads, so they are a prime place to hide prompt injection. List every tool the server exposes and read each description and parameter schema in full.
Our guide on what prompt injection is explains why this matters.
Sort tools into read, write and destructive actions. A documentation server should only read. A server that can delete records, send messages, move money or run shell commands deserves much closer scrutiny and should require human approval for those actions.
Our list of AI agent identity and access management platforms covers tools for managing these credentials at scale.
For open-source local servers, a short code review goes a long way.
Run the server in a sandbox or container first, with restricted file and network access, and watch what it does. Call each tool with realistic inputs and with deliberately malicious ones, and confirm errors are handled safely. Our list of AI sandboxes for coding agents covers environments built for this.
Automated scanners can check tool descriptions for injection, compare servers against known-bad lists and flag risky permissions. Several are covered in our list of MCP security tools, and endpoint products in our list of security tools for AI coding agents can risk-score servers already installed on developer machines.
Approve servers for specific uses rather than everywhere. A browser automation server might be fine in a test environment but not on a laptop signed in to production systems. Record approved servers, versions and scopes in an allow-list, and enforce it through project config files or an MCP gateway.
An audit is a snapshot. Log tool calls, alert on unusual patterns such as large data reads or new outbound destinations, and re-review servers when they release new versions or change their tools.
| Check | What Good Looks Like |
| Publisher | Official vendor server, verified in the MCP Registry |
| Maintenance | Recent releases and responsive security contact |
| Tool descriptions | Plain, relevant, no instructions aimed at the model |
| Capabilities | Read-only where possible, risky tools disabled or gated |
| Authentication | Per-user OAuth or a narrowly scoped key |
| Code and dependencies | Reviewed, pinned and free of known vulnerabilities |
| Isolation test | No unexpected file or network access |
| Scanning | Clean results from an MCP security scanner |
| Approval | Listed on an allow-list with version and scope |
| Monitoring | Tool calls logged and reviewed |
They are much safer than unknown ones, but still check permissions, keep them updated and limit their tools to what you need.
A quick review of an official remote server can take minutes. A local community server with broad access deserves an hour or more, including code review and an isolation test.
Developers can run the basic checks, but organizations using many agents should keep a central allow-list owned by security or platform teams.
Auditing an MCP server comes down to a few questions: who publishes it, what it can do, what it tells your AI, how it authenticates and what it does when you run it. Answer those before installation, keep an allow-list and keep watching after approval. Combined with the controls in our AI agent security checklist, this turns MCP from a blind spot into a governed part of your stack.