English Β· δΈζ Β· Website Β· Get Verified β
The TLS of AI Tool Calls.
One command. Every MCP server protected. Zero config.
pip install jadegate
# That's it. All your MCP servers are now protected.MCP has no security layer. Any tool can read your files, make network requests, or execute commands β and your AI client will happily comply.
There are 10,000+ MCP servers on GitHub. Most have never been audited. Security researchers have demonstrated tools that silently access ~/.ssh/, .env files, and browser cookies while claiming to do something harmless.
MCP is TCP without TLS. JadeGate adds the TLS.
JadeGate sits between your AI client and MCP servers as a transparent proxy. Every tool call passes through 6 security layers before execution:
AI Client (Claude, Cursor, etc.)
β
JadeGate Proxy β policy check, anomaly detection, trust verification
β
MCP Server (filesystem, github, puppeteer, etc.)
| Layer | What it does |
|---|---|
| Policy | Allowlist/blocklist rules per tool, rate limiting, argument validation |
| Runtime | Dynamic call-chain tracking (DAG), anomaly detection, circuit breaker |
| Transport | Transparent MCP proxy β intercepts stdio/SSE without modifying the server |
| Trust | TOFU (Trust On First Use) + Ed25519 certificates for server identity |
| Scanner | Static analysis of MCP server capabilities, risk scoring |
| Installer | Auto-injects into all MCP client configs (Claude, Cursor, Windsurf, Cline, Continue, Zed) |
pip install jadegateThat's it. On install, JadeGate automatically:
- Scans your system for MCP client configurations
- Wraps each MCP server with the JadeGate proxy
- Backs up original configs (fully reversible)
Next time you open Claude Desktop, Cursor, or any supported client β protection is active.
jadegate uninstall # Restores all original configs
pip uninstall jadegatejadegate status # Check what's protected
jadegate scan # Security audit all MCP servers
jadegate install # Re-run auto-injection (after adding new MCP servers)
jadegate uninstall # Revert all changes$ jadegate scan
π JadeGate Security Audit Report
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Server: puppeteer [CRITICAL]
Command: npx @modelcontextprotocol/server-puppeteer
FINDINGS (2)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[F-001] β« CRITICAL Β· Arbitrary code / shell execution
Tool can execute shell commands or spawn processes.
β Action: BLOCK
[F-003] π΄ HIGH Β· Browser automation (JS execution + DOM access)
Cookie theft, session hijacking, 2FA code capture via screenshot.
β Action: ASK on every call
SUMMARY
3 server(s) scanned Β· 0 low 1 medium 1 high 1 critical
5 finding(s) total Β· 1 critical 2 high
β 3 critical/high finding(s) require immediate action.
For Python agents using OpenAI or Anthropic SDKs directly:
export JADEGATE=1
python my_agent.py
# All SDK tool calls are now intercepted and protectedOr in code:
import jadegate
jadegate.activate()
# Now use OpenAI/Anthropic as normal β JadeGate intercepts tool calls
from openai import OpenAI
client = OpenAI()Default policy blocks dangerous patterns. Customize per tool:
{
"default_action": "allow",
"tool_rules": {
"filesystem:write_file": {
"action": "ask",
"reason": "File write requires confirmation"
},
"shell:exec": {
"action": "deny",
"reason": "Shell execution blocked by policy"
}
},
"rate_limit": {
"max_calls_per_minute": 60
}
}jadegate/
βββ policy/ # Allowlist/blocklist rules, rate limiting
βββ runtime/ # DAG tracking, circuit breaker, anomaly detection
βββ transport/ # MCP proxy (stdio/SSE), SDK hooks
βββ trust/ # TOFU, Ed25519 certificates, trust store
βββ scanner/ # Static analysis, risk scoring
βββ installer.py # Auto-inject into MCP client configs
βββ cli.py # Command-line interface
βββ post_install.py # pip install auto-activation
| Client | Config Path | Auto-detected |
|---|---|---|
| Claude Desktop | ~/.config/claude/ |
β |
| Cursor | ~/.cursor/ |
β |
| Windsurf | ~/.codeium/windsurf/ |
β |
| Cline | ~/.vscode/cline/ |
β |
| Continue | ~/.continue/ |
β |
| Zed | ~/.config/zed/ |
β |
| Custom | jadegate install --config <path> |
β |
- Zero config:
pip install= protected. No setup, no env vars, no config files. - Transparent: MCP servers don't know JadeGate exists. No server-side changes needed.
- Reversible:
jadegate uninstallrestores everything. Clean removal guaranteed. - Offline: All analysis runs locally. No telemetry, no cloud, no data leaves your machine.
- Fail-open safe: If JadeGate crashes, your MCP servers still work (graceful degradation).
pip install pytest
pytest tests/ -v
# 238 tests, all passing| Raw MCP | JadeGate | |
|---|---|---|
| Tool call policy | β None | β Per-tool allow/deny/ask |
| Call chain tracking | β None | β Dynamic DAG |
| Anomaly detection | β None | β Circuit breaker + rate limit |
| Server identity | β None | β TOFU + Ed25519 |
| Security scan | β None | β Static analysis + risk score |
| Setup effort | N/A | pip install jadegate |
BSL 1.1 β Converts to Apache 2.0 in 4 years
GitHub: https://github.com/JadeGate/jadegate
PyPI: https://pypi.org/project/jadegate/
Website: https://jadegate.io



