zkpmcp

zkpmcp

3.3

If you are the rightful owner of zkpmcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

zkMCP is a Model Context Protocol server designed for zero-knowledge proofs using circom, providing tools for building circuits, performing trusted setup, generating proofs, and verifying proofs.

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