gibber-mcp
by: anton10xr
Tiny MCP server with cryptography tools, sufficient to establish end-to-end encryption between LLM agents
📌Overview
Purpose: The Tiny Cryptography MCP Server aims to facilitate secure communication between AI models and tools using the Model Context Protocol.
Overview: This server, built with Express.js and powered by the Stanford Javascript Crypto Library (SJCL), provides essential cryptographic functionalities including key pair generation, shared secret derivation, and message encryption/decryption. It supports real-time communication through server-sent events (SSE), enhancing the capabilities of AI systems by allowing them to leverage external tools more effectively.
Key Features:
-
Key Pair Generation: Generates SJCL P-256 key pairs, enabling secure key management without exposing private keys.
-
Shared Secret Derivation: Derives a shared secret from private and public keys, ensuring secure communication channels between parties.
-
Message Encryption: Utilizes SJCL AES-CCM to encrypt messages, providing a reliable method for safeguarding data in transit.
-
Message Decryption: Enables the decryption of encrypted messages, allowing for secure retrieval of information.
-
Real-Time Communication: Implements server-sent events (SSE) for live interaction, facilitating immediate data exchange and updates.
Tiny Cryptography MCP Server
A Model Context Protocol server built with Express.js that provides cryptographic tools including key pair generation, shared secret derivation, and message encryption/decryption.
Now available at: http://104.248.174.57/sse
Powered by Stanford Javascript Crypto Library (SJCL)
What is MCP?
The Model Context Protocol (MCP) is an open standard that defines how AI models and tools communicate. It allows AI systems to use tools more effectively and standardizes the way models request information and actions.
Features
- Generate SJCL P-256 key pairs
- Derive shared secrets for secure communication
- Encrypt messages using SJCL AES-CCM
- Decrypt encrypted messages
- Server-sent events (SSE) for real-time communication
Installation
# Clone the repository
git clone https://github.com/anton10xr/gibber-mcp
cd mcp-server
# Install dependencies
npm install
Environment Variables
PORT
: The port on which the server will run (default: 3006)
Development
# Start the development server
npm run dev
Production
# Build the project
npm run build
# Start the production server
npm start
API Endpoints
GET /sse
: Connect to the server using server-sent eventsPOST /messages/:id
: Send messages to a specific connection
Tools
- generateKeyPair: Generate a new SJCL P-256 key pair.
- deriveSharedSecret: Derive a shared secret from private and public keys.
- encrypt: Encrypt messages using SJCL AES-CCM.
- decrypt: Decrypt messages using SJCL AES-CCM.