ZKProof

by colygon

7 stars
Not rated
GitHub

About

Enables privacy-preserving computations with zero-knowledge proofs for verifying claims like age requirements without revealing sensitive personal data

Details

Author
colygon
Repository
opencolin/zkpmcp
GitHub stars
7
License
MIT License
Categories
AI, Design, Developer Tools, File Management, Frontend, Knowledge Base, Infrastructure

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name ZKProof
    Command (node, npx, python, etc.) node
    Arguments
    • Argument 1 /path/to/zkMCP/server/build/index.js
    Environment
    • ZKINTRO_DIR /path/to/circom/projects

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Once the server is installed and configured, you can use it to:

1. Build circuits from Circom files
2. Perform trusted setup for circuits
3. Generate proofs for circuits
4. Verify proofs

See the server README for detailed usage instructions.

1. Clone this repository:

   git clone https://github.com/yourusername/zkMCP.git
cd zkMCP/server

2. Install dependencies:

   npm install

3. Build the server:

   npm run build

4. Add the server to your MCP settings configuration file:

   {
"mcpServers": {
"zkproof": {
"command": "node",
"args": ["/path/to/zkMCP/server/build/index.js"],
"env": {
"ZKINTRO_DIR": "/path/to/circom/projects"
},
"disabled": false,
"autoApprove": []
}
}
}

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "zkproof": {
            "env": {
                "ZKINTRO_DIR": "/path/to/circom/projects"
            },
            "args": [
                "/path/to/zkMCP/server/build/index.js"
            ],
            "command": "node"
        }
    }
}

Linux

{
    "env": {
        "ZKINTRO_DIR": "/path/to/circom/projects"
    },
    "args": [
        "/path/to/zkMCP/server/build/index.js"
    ],
    "command": "node"
}

Macos

{
    "env": {
        "ZKINTRO_DIR": "/path/to/circom/projects"
    },
    "args": [
        "/path/to/zkMCP/server/build/index.js"
    ],
    "command": "node"
}

Windows

{
    "env": {
        "ZKINTRO_DIR": "/path/to/circom/projects"
    },
    "args": [
        "/path/to/zkMCP/server/build/index.js"
    ],
    "command": "node"
}

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

1. Clone this repository:

   git clone https://github.com/yourusername/zkMCP.git
cd zkMCP/server

2. Install dependencies:

   npm install

3. Build the server:

   npm run build

4. Add the server to your MCP settings configuration file:

   {
"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:

1. Build circuits from Circom files
2. Perform trusted setup for circuits
3. Generate proofs for circuits
4. Verify proofs

See the server README 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 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.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.