Enables privacy-preserving computations with zero-knowledge proofs for verifying claims like age requirements without re...
Created byApr 23, 2025
zkMCP
A Model Context Protocol (MCP) server for zero-knowledge proofs using circom. This repository provides tools for building circuits, performing trusted setup, generating proofs, and verifying proofs.
Repository Structure
`server/`: The MCP server implementation
`examples/`: Example use cases for zero-knowledge proofs
- `age-verification/`: An example that demonstrates how to verify a person's age without revealing their birth date
Installation
Server Installation
Clone this repository:
```bash
git clone https://github.com/yourusername/zkMCP.git
cd zkMCP/server
```
Install dependencies:
```bash
npm install
```
Build the server:
```bash
npm run build
```
Add the server to your MCP settings configuration file:
```json
{
"mcpServers": {
"zkproof": {
"command": "node",
"args": ["/path/to/zkMCP/server/build/index.js"],
"env": {
"ZKINTRO_DIR": "/path/to/circom/projects"
},
"disabled": false,
"autoApprove": []
}
}
}
```
Prerequisites
Node.js (v14 or later)
circom (v2.0.0 or later)
snarkjs
Usage
Once the server is installed and configured, you can use it to:
Build circuits from Circom files
Perform trusted setup for circuits
Generate proofs for circuits
Verify proofs
See the [server README](server/README.md) for detailed usage instructions.
Examples
Age Verification
The age verification example demonstrates how to use zero-knowledge proofs to verify that a person is above a certain age without revealing their actual birth date.
See the [age verification README](examples/age-verification/README.md) for more details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.