Pangea MCP proxy
Protect any MCP server from malicious entities and confidential PII using Pangea's AI Guard and Vault.
Pangea MCP proxy
Protect communications between a client and any MCP server. Now with 99% less prompt injection! The Pangea MCP proxy allows any MCP client to secure the messages it sends and receives to/from an MCP server, using the Pangea AI Guard service to guard tools' inputs and outputs.
What it does: protect users from common threat vectors by running all MCP I/O through Pangea AI Guard, which blocks:
- Prompt injections (yes, even the ones wrapped in a riddle)
- Malicious links, IPs, domains (via CrowdStrike, DomainTools, WhoisXML threat intel)
- 50 types of confidential information and PII
- 10 content filters, including toxicity, self harm, violence, and filtering by topic
- Support for 104 spoken languages
Bonus: It stores your AI Guard token safely in Pangea Vault, with automatic rotation.
Extra bonus: Each request to AI Guard and its detection results are logged to your Secure Audit Log, giving you an immutable trail of activity for audits, debugging, and incident response.
Prerequisites
- Node.js v22.15.0 or greater.
- A Pangea API token with access to AI Guard. This token needs to be stored in Pangea Vault. See Service Tokens for documentation on how to create and manage Pangea API tokens.
- A Pangea API token with access to Vault. This will be used to fetch the above token at runtime.
Usage
In an existing stdio-based MCP server configuration like the following:
{
"mcpServers": {
"qrcode": {
"command": "npx",
"args": ["-y", "@jwalsh/mcp-server-qrcode"]
}
}
}
Wrap the original command with npx -y @pangeacyber/mcp-proxy and add
environment variables:
{
"mcpServers": {
"qrcode": {
"command": "npx",
"args": [
"-y",
"@pangeacyber/mcp-proxy",
"--",
"npx",
"-y",
"@jwalsh/mcp-server-qrcode"
],
"env": {
"PANGEA_VAULT_TOKEN": "pts_00000000000000000000000000000000",
"PANGEA_VAULT_ITEM_ID": "pvi_00000000000000000000000000000000"
}
}
}
}
- Update the
PANGEA_VAULT_TOKENvalue to the Pangea Vault API token. - Update the
PANGEA_VAULT_ITEM_IDvalue to the Vault item ID that contains the Pangea AI Guard API token.
For remote servers using HTTP or SSE, use mcp-remote to turn them into stdio servers:
{
"mcpServers": {
"proxied": {
"command": "npx",
"args": [
"-y",
"@pangeacyber/mcp-proxy",
"--",
"npx",
"-y",
"mcp-remote",
"https://remote.mcp.server/sse"
],
"env": {
"PANGEA_VAULT_TOKEN": "pts_00000000000000000000000000000000",
"PANGEA_VAULT_ITEM_ID": "pvi_00000000000000000000000000000000"
}
}
}
}
App ID
To identify the calling app by ID in Pangea, set the APP_ID environment
variable.
App name
To identify the calling app by name in Pangea, set the APP_NAME environment
variable.
Custom Pangea base URL
To use a Pangea base URL other than the default
https://{SERVICE_NAME}.aws.us.pangea.cloud, set the PANGEA_BASE_URL_TEMPLATE
environment variable to a custom template (e.g. https://{SERVICE_NAME}.dev.pangea.cloud).
Related Servers
CData Salesloft Server
A read-only MCP server by CData that enables LLMs to query live data from Salesloft.
Coolify MCP Server
An MCP server for interacting with the Coolify API to manage servers and applications.
Singapore LTA MCP Server
Access real-time transportation data from Singapore's LTA DataMall API, including bus arrivals and traffic conditions.
Salesforce TypeScript Connector
Interact with Salesforce data using SOQL queries, SOSL searches, and CRUD operations via a TypeScript MCP server.
Vault MCP Server
An MCP server for interacting with the HashiCorp Vault secrets management tool.
Google Cloud Logging
An MCP server for accessing Google Cloud Logging data and services.
Claude-NWS Protocol Bridge
Integrates the US National Weather Service API to provide real-time weather data and forecasts.
Shared Memory MCP
An example project for deploying a remote MCP server on Cloudflare Workers without authentication.
MCP Riot Server
Integrates with the Riot Games API to provide League of Legends data to AI assistants.
Maersk Vessel Deadlines
Access Maersk vessel schedules and shipment deadlines programmatically via the Maersk API.