- Home
- MCP servers
- Tiny Cryptography
Tiny Cryptography
- javascript
211
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
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).
How to use
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.
How to install
Prerequisites: Node.js and npm must be available on your system.
- 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 install
Additional setup and notes
Environment 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 and 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
Security and cryptographic features
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.
Production considerations
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.