-
Notifications
You must be signed in to change notification settings - Fork 46.2k
Open
Description
As MCP adoption grows, the protocol's lack of a built-in security layer becomes a concern for production deployments. This project's MCP integration currently has no mechanism for:
- Message signing — tool calls between agent and server travel unsigned, so a proxy or MITM can modify parameters without detection
- Tool integrity verification — tool definitions can mutate post-deployment (rug pulls) with no hash-pinning to detect changes
- Cryptographic agent identity — agents are identified by bearer tokens or API keys, not unforgeable cryptographic identity
- Replay protection — captured MCP messages can be resent without nonce or timestamp binding to reject them
- Mutual authentication — server responses are not signed, so clients cannot verify response integrity
This isn't unique to this project — it's a gap in MCP itself. We built MCPS (MCP Secure) to close it:
- ECDSA P-256 agent identity passports with trust levels (L0-L4)
- Per-message signing with nonce + timestamp + passport binding
- Tool definition hash-pinning (detects poisoning and post-deployment mutations)
- Replay protection, real-time revocation, mutual authentication
- Zero dependencies, drop-in middleware —
npm install mcp-secure
MCPS is published as an IETF Internet-Draft and has been tested with 180 security tests across 19 attack categories.
- GitHub | npm:
mcp-secure - Live interactive demo — 7 scenarios including replay attacks, tool poisoning, signature stripping
- agentsign.dev — free security scanner at agentsign.dev/scan
Happy to discuss integration or answer questions.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels