home / mcp / tiny cryptography mcp server

Tiny Cryptography MCP Server

Tiny MCP server with cryptography tools, sufficient to establish end-to-end encryption between LLM agents

Installation
Add the following to your MCP client configuration file.

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).

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.

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 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.