home / mcp / tiny cryptography mcp server
Tiny MCP server with cryptography tools, sufficient to establish end-to-end encryption between LLM agents
Configuration
View docs{
"mcpServers": {
"antonpk1-gibber-mcp": {
"url": "http://104.248.174.57/sse",
"headers": {
"PORT": "3006"
}
}
}
}Tiny Cryptography MCP Server is an Express-based server exposing cryptographic tools via the Model Context Protocol (MCP). It supports key pair generation, shared secret derivation, and AES-CCM encryption/decryption, with real-time updates through Server-Sent Events (SSE). It is accessible at the provided MCP endpoint and is powered by the Stanford Javascript Crypto Library (SJCL).
Use this MCP server with a client by connecting to its SSE endpoint and exchanging encrypted messages. The server exposes endpoints to establish a secure channel and transport encrypted data: connect to the SSE stream at /sse, then post messages to /messages/:id to communicate with a specific connection. Clients can generate a P-256 key pair, derive a shared secret using the peer public key, and encrypt/decrypt messages using AES-CCM with the derived secret.
Prerequisites: Node.js and npm must be available on your system.
1) Clone the repository and navigate into the MCP server directory.
# Clone the repository
git clone https://github.com/anton10xr/gibber-mcp
cd mcp-server
# Install dependencies
npm installEnvironment variable PORT controls the server port (default is 3006). The MCP server also provides the SSE endpoint for real-time updates and supports HTTP-based client interactions via the /sse and /messages/:id endpoints.
Environment variables shown in the README:
- PORT: The port on which the server will run (default: 3006)
API endpoints exposed by the server:
- GET /sse: Connect to the server using server-sent events
- POST /messages/:id: Send messages to a specific connection
The server provides cryptographic tools to securely communicate: generateKeyPair to create a SJCL P-256 key pair, deriveSharedSecret to compute a shared secret from private/public keys, encrypt to encrypt messages with AES-CCM using the derived secret, and decrypt to decrypt messages. All operations are designed to keep private keys secure and to prevent eavesdropping on the channel.
To run in production, build the project and start the production server as shown in the README: build with npm run build and start with npm start. Ensure the PORT environment variable is set as needed for your deployment context.