MCP Endpoint Shield

MCP Endpoint Shield provides runtime security and auto-discovery of local MCP servers configured on your machine. It acts as a protective layer between the MCP client (e.g., Cursor, VS Code, Claude) and the MCP serversβ€”requiring no changes to your setup.


What is Agentic Endpoint Shield?

Endpoint Shield continuously monitors employee devices to identify and track:

  • AI Agents: All deployed agents across web, desktop, and endpoint devices

  • MCP Servers: Model Context Protocol server instances running locally or remotely

  • Device Information: Complete device inventory with hardware IDs, usernames, and locations

  • Agent Activity: Real-time heartbeat monitoring and deployment status

  • MCP Connections: Server URLs, connection health, and last seen timestamps


✨ Features

  • βœ… Continuous safety checks on all requests and responses to the MCP servers

  • βœ… Automatic blocking of unsafe interactions (via standard JSON-RPC errors)

  • βœ… Works out-of-the-box with popular MCP clients (Cursor, VS Code, Claude)

  • βœ… Zero changes required in your MCP server


πŸ“¦ Installation

  • The tool is provided as an installable binary for your platform (Linux, macOS, Windows).

  • Download the binary from the official release page and place it in your system path ($PATH) for easy CLI access.

Example (macOS/Linux):


πŸ” Auto-Detection

Akto MCP Endpoint Shield automatically detects MCP client configurations:

  • Cursor β†’ Reads ~/.cursor/mcp.json

  • Visual Studio Code β†’ Reads .vscode/mcp.json inside your workspace

  • Claude Desktop β†’ Reads Claude’s MCP config JSON

For each detected MCP server config:

  1. The JSON file is parsed.

  2. Each server entry is automatically wrapped with Akto MCP Endpoint Shield.

  3. Your MCP clients transparently run through the shield without requiring manual reconfiguration.

πŸ‘‰ You don’t need to manually edit your MCP config files β€” the wrapper handles this for you.


πŸ“„ Example β€” Cursor mcp.json

Original file (before wrapping):

Automatically wrapped file (after Akto MCP Endpoint Shield):

What changed:

  • The server is renamed from playwright-mcp β†’ playwright-mcp-endpoint-shield.

  • mcp-endpoint-shield is now the entry command.

  • Original server command (npx @playwright/mcp@latest) is passed through --exec.

  • Security flags (--akto-api-token) are automatically injected.


πŸš€ Quick Start (Manual Run)

If you want to run manually (instead of auto-detection):

Examples

  • Python server:

  • Dockerized server:


βš™οΈ Common Flags

  • --name <project_name> β†’ Friendly label used in logs and insights

  • --akto-api-token <token> β†’ Your Akto API token

  • --exec <command> [args...] β†’ Command to start your MCP server

  • --env KEY=VALUE (repeatable) β†’ Pass additional environment variables to the MCP process


πŸ›  How It Works (Behind the Scenes)

  1. The wrapper launches your MCP server.

  2. Every request/response line is intercepted.

  3. Safe traffic passes through unchanged.

  4. Unsafe traffic is blocked, returning a clear JSON-RPC error to the client.

  5. Metadata is recorded (lightweight, opt-in) to improve detection and insights.


πŸ“œ Logging

  • Location: $HOME/.akto/mcp_endpoint_shield.log

  • Format: human-readable text logs

  • Includes: project name (--name) for easy filtering

  • Rotation: automatic (size-based) to prevent unbounded growth


πŸ’» Using with Cursor (at a glance)

  • In Cursor settings, configure your MCP server to run through the wrapper.

  • Place your original MCP server command after --exec.

  • (Optional: Add a diagram/screenshot here for clarity.)


🧩 Troubleshooting

Issue: Auto-detection didn’t work ➑ Cause: Custom MCP config location or unsupported client. ➑ Fix: Run your server manually with --exec.

Issue: Unexpected end of JSON input ➑ Cause: Your MCP server is writing non-protocol logs to stdout. ➑ Fix: Use stderr for logs instead.

Issue: ERROR writing to MCP stdin: file already closed ➑ Cause: MCP server exited or closed stdin prematurely. ➑ Fix: Run your server standalone to confirm stability.

Issue: No insights appearing ➑ Cause: Some tools don’t use standard JSON-RPC IDs. ➑ Fix: Safety still applies, but insights may be limited.


πŸ”’ Guarantees

  • βœ… Transparency: Safe traffic is never altered.

  • βœ… Clarity: Unsafe traffic always results in a clear JSON-RPC error.

  • βœ… Minimal footprint: Designed to stay invisible unless an issue occurs.


Get Support for your Akto setup

There are multiple ways to request support from Akto. We are 24X7 available on the following:

  1. In-app intercom support. Message us with your query on intercom in Akto dashboard and someone will reply.

  2. Join our discord channel for community support.

  3. Contact [email protected] for email support.

  4. Contact us here.

Last updated