Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Treat every MCP server as software you are choosing to trust. Before connecting, verify who maintains it, inspect what it will run or what it can access, and check whether its capabilities match its purpose. After connecting, review permission and tool-definition changes. Restrict local process access, and for remote servers verify authorization on every request—including that each token is intended for that server.

Why connecting to an MCP server is a security decision

The Model Context Protocol project states: “MCP clients trust MCP servers they connect to.” That trust matters because an MCP server can expose tools, resources, and prompts to its client. A client may use those capabilities with data or services available to it; whether an action can happen automatically or requires approval depends on the client and its configuration. The project describes the server-selection and configuration decision as the user’s or administrator’s responsibility. See the project’s SECURITY.md.

A local server is software running on your machine. Its effective reach depends on the process identity, operating-system permissions, and any sandbox or restrictions around it—not just on what the MCP client’s interface says. A remote server introduces a different set of concerns: network exposure, identity, and whether authorization is correctly enforced. Neither “local” nor “remote” is a safety guarantee.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The MCP materials referenced here describe specification version 2026-07-28. Implementations and guidance can change; check the current project documentation and the client’s current security controls before making deployment decisions.

How to assess a server before connecting

1. Establish provenance and purpose

Find out who maintains the server, where it is distributed, how updates are delivered, and what task it is meant to perform. Prefer a distribution route whose identity and release history you can verify. Check whether dependencies or ownership have changed unexpectedly. A familiar name or a polished listing does not establish that a particular package, binary, or update is trustworthy.

Write down the access the task actually needs. For example, a server that only needs to retrieve data from a specific service should have a clear reason for broad access to a home directory, unrelated network destinations, or elevated operating-system privileges. Ask whether each requested capability is necessary; if the reason is unclear, do not approve it yet.

2. Inspect the entire local launch command

Local servers may be started through a command and arguments in client configuration. Read the complete executable path and every argument before approving setup. Do not accept a truncated preview as sufficient. Look for obfuscated commands, unexpected shell chaining, downloads followed by execution, unexplained scripts, or arguments that grant broad filesystem or network access. These are reasons to investigate, not proof by themselves that a server is malicious.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The MCP project’s Security Best Practices emphasize showing the exact command before one-click local configuration, explaining that it executes code, and obtaining the user’s approval. If the client does not let you inspect the full command, obtain and verify it through another trusted route before proceeding.

3. Compare exposed capabilities with the stated job

Review tool names, descriptions, parameter schemas, and the data returned by tools. A server’s metadata is part of its attack surface: descriptions or results can contain instructions designed to influence the client or user. Treat instructions from a server you do not trust as untrusted input; do not let them override your normal safeguards or justify unrelated actions.

Compare what the server exposes with what it claims to do. A capability that reads or writes files, runs commands, or sends data elsewhere deserves particular scrutiny if that access is not needed for the stated job. Check the definitions again after updates or other changes. OWASP describes tool poisoning and rug-pull attacks in which a server’s definitions can be malicious or can change after approval; see its MCP Security Cheat Sheet (accessed 2026-09-29; the page’s publication date was not supplied).

4. Check authorization configuration for remote servers

For an HTTP-accessible server, review the authorization issuer, the intended resource or audience, the scopes requested, token lifetime and storage, and redirect handling. A token can be valid yet inappropriate for a server if it was issued for a different service. The MCP Authorization Security Considerations specify that tokens must be validated and intended for the MCP server. They also describe the resource parameter in authorization and token requests.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Ask whether authorization is enforced on every request and route, rather than only at initial connection. Confirm that redirect URIs match registered values exactly, authorization URLs reject dangerous schemes, and production traffic uses HTTPS. The project’s Understanding Authorization in MCP provides further protocol context.

Reduce the risk of local servers

  • Limit filesystem access. Give access only to the directories required for the task. Avoid making sensitive directories available merely for convenience.
  • Limit network access. Allow only the destinations the task needs where your environment supports that control. Investigate any unexplained outbound access.
  • Avoid unnecessary privilege. Run the server as an appropriately unprivileged user; do not use elevated privileges unless there is a specific, verified need.
  • Use isolation when available. A sandbox or restricted environment can reduce what a compromised process reaches. Check what the restriction actually blocks; do not assume the word “sandbox” means all access is contained.
  • Choose a transport deliberately. The MCP project advises preferring stdio when it appropriately limits access to the intended local client. If using local HTTP, restrict who can reach it and use authorization or protected IPC as appropriate.
  • Review changes. Re-check the launch command, permissions, dependencies, and exposed tool definitions after updates or configuration changes.

These controls reduce the potential reach of a compromised or misbehaving process; they do not establish that the server itself is benign.

Secure remote MCP authorization

  • Validate on every request. Check token validity and verify that its intended resource or audience is this MCP server, not merely that it is correctly signed or unexpired.
  • Do not forward the client token upstream. If the server needs to call another service, use a separate credential intended for that service. The MCP authorization guidance warns against passing through the MCP client’s token.
  • Request minimal scopes. Ask only for the access the task requires. Prefer short-lived credentials and store them encrypted with access controls appropriate to their sensitivity.
  • Protect the authorization flow. Use established, well-tested authorization libraries rather than writing token validation from scratch. Enforce exact registered redirect URIs, validate authorization URL schemes, and follow response-validation protections against mix-up attacks.
  • Use HTTPS in production and redact secrets. Ensure credentials are not exposed in logs, error messages, or other diagnostic output.

These measures follow the MCP project’s 2026-07-28 authorization materials: security considerations and authorization tutorial.

Compare deployment choices without assuming one is safest

The right configuration depends on what the server must do and what controls your client and environment provide. Compare actual controls rather than relying on a “local” or “remote” label.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Assessment area Questions to ask Risk-reducing direction
Exposure Does the server run as a local process, or accept remote HTTP connections? Limit reachability to the intended client or callers; protect local HTTP endpoints with authorization or protected IPC.
Provenance and changes Can you identify the maintainer and distribution route? Can you review updates and definition changes? Use a verifiable source and re-review meaningful changes before trusting them.
Permissions What files, network destinations, and operating-system privileges can the process reach? Grant only what the task needs and use sandboxing or other restrictions where available.
Authorization Are tokens audience-bound and checked on each request? Are scopes and redirect URIs constrained? Use minimal scopes, exact registered redirects, secure credentials, and HTTPS in production.
Consent and isolation Can you inspect the exact launch command and approve it? Does the environment limit process access? Review the complete command and make the boundaries explicit before execution.
Client visibility Can you inspect tool definitions and notice changes after approval? Review exposed tools and schemas initially and when the server changes.

No cited guidance establishes one MCP server or deployment type as universally safest. A deployment that needs broad access may be higher impact if compromised, but its practical risk depends on the task, implementation, permissions, authorization, and client behavior.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Respond to a suspicious change or incident

  1. Stop using the questionable capability. Do not follow new instructions from its tool metadata or results while you investigate.
  2. Disconnect or disable the server using your client’s controls. If a local process may still be running, stop it through the operating system or your managed environment.
  3. Preserve useful evidence. Record the server identity and version, launch command, permission changes, relevant tool definitions, and time of the unexpected behavior. Keep secrets out of notes and logs.
  4. Review exposure. Determine which files, services, or credentials the process could reach, and whether any were used or disclosed. Where credentials may be exposed, revoke or rotate them through the service that issued them.
  5. Restore only from a source you can verify. Re-check provenance, command, scopes, and tool definitions before reconnecting; removing a suspicious configuration entry alone does not establish that related credentials or data are safe.

For a sensitive production deployment, an independent security review may be appropriate. The available guidance does not establish a specific provider or certify any server as safe.

Troubleshooting common warning signs

What you notice Why it matters What to do
The launch preview is cut off or difficult to interpret. You cannot assess what code or arguments will execute. Do not approve based on the preview. Obtain the full command and verify its source and purpose first.
The server requests broad file access, elevated privileges, or unexplained network access. The requested reach may exceed the task and increases potential impact. Ask why each permission is needed; restrict or deny access if the explanation does not match the task.
A tool description or schema changes unexpectedly. Changed metadata can alter what the client presents or how a tool is invoked. Pause use and compare the new definition with the prior one and the server’s stated purpose.
A server asks you to reuse a token for a different service. A credential may be exposed to a recipient or audience for which it was not issued. Do not forward the MCP client token; use a separate, appropriately scoped upstream credential.
A remote server accepts a token but does not check its intended audience. A valid token for another service is not proof of authorization for this one. Require audience/resource validation and authorization enforcement for every request before deployment.
A redirect URI is broad or differs from the registered URI. Loose redirect handling can send authorization responses to an unintended destination. Use exact registered redirect URIs and follow the protocol’s response-validation protections.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server made by Yorker Media. It offers the MCP tools take_screenshot, get_page_info, and capture_pdf for AI agents using Claude, Cursor, or another MCP client. Its availability as an MCP server is not, by itself, a security endorsement: apply the provenance, command, permission, and authorization checks above before connecting to any server.

If your task is capturing a web page rather than evaluating an MCP server’s safety, a single GET request can return a screenshot. See the ScreenshotNeo documentation for setup and options:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
  • Cookie and consent banners, newsletter popups, and chat widgets are removed before capture; each cleanup step can be turned off.
  • Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed; response headers identify the page verdict and billing status.
  • An MCP server lets AI agents take screenshots, inspect page information, and capture PDFs.
  • The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots.

Try ScreenshotNeo if you need website captures, or sign up free for 1,000 screenshots a month with no card.

What the published guidance can—and cannot—establish

The official MCP security and authorization documents describe recommended controls and trust boundaries; OWASP’s cheat sheet describes relevant attack patterns. These are normative and descriptive materials, not an empirical measurement of how common malicious MCP servers are or how effective a particular mitigation is. They do not establish an incident rate, a percentage reduction in risk, or a universal safest server. The practical standard is to make the trust decision explicit, keep access narrow, validate authorization correctly, and revisit the decision when the server or its configuration changes.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.