zkproofport-ai
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Express server port | 4002 |
| BB_PATH | No | Barretenberg CLI path | bb |
| NODE_ENV | No | Node environment | development |
| TEE_MODE | No | TEE mode: disabled / nitro | disabled |
| REDIS_URL | Yes | Redis connection string | |
| NARGO_PATH | No | Nargo CLI path | nargo |
| ENCLAVE_CID | No | Nitro Enclave CID (required when TEE_MODE=nitro) | |
| A2A_BASE_URL | Yes | Public-facing service URL (for Agent Card) | |
| BASE_RPC_URL | Yes | Base chain RPC endpoint | |
| CIRCUITS_DIR | No | Circuit artifacts directory | /app/circuits |
| ENCLAVE_PORT | No | Nitro Enclave port | 5000 |
| PAYMENT_MODE | Yes | Payment mode: disabled / testnet / mainnet | |
| AGENT_VERSION | No | Agent version string | 1.0.0 |
| CHAIN_RPC_URL | Yes | RPC for proof verification | |
| GEMINI_API_KEY | No | Gemini API key for chat | |
| OPENAI_API_KEY | No | OpenAI API key for chat | |
| PAYMENT_PAY_TO | No | Operator wallet (required when payment enabled) | |
| TEE_ATTESTATION | No | Enable attestation verification | false |
| CIRCUITS_REPO_URL | No | Circuit artifacts download URL | |
| PROVER_PRIVATE_KEY | Yes | Agent wallet private key (64 hex chars, no 0x) | |
| PAYMENT_PROOF_PRICE | No | Price per proof (USD) | $0.10 |
| EAS_GRAPHQL_ENDPOINT | Yes | EAS GraphQL endpoint for attestation queries | |
| ERC8004_IDENTITY_ADDRESS | No | ERC-8004 Identity contract | |
| ERC8004_REPUTATION_ADDRESS | No | ERC-8004 Reputation contract | |
| PHOENIX_COLLECTOR_ENDPOINT | No | Phoenix OTLP endpoint for tracing |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_proofA | All-in-one ZK proof generation. Handles: prepare inputs, request challenge, and submit proof in a single call. Use this when you want the simplest path to a proof. For fine-grained control over each step, use prepare_inputs, request_challenge, and submit_proof individually. CIRCUITS:
RETURNS: Full ProofResult with proof bytes, public inputs, and timing information. Use verify_proof separately to verify on-chain. |
| get_supported_circuitsA | List all ZK circuits supported by ZKProofport, including verifier addresses and authorized signers. No parameters required. Call this first to discover available circuits before starting proof generation. |
| request_challengeA | Step 2 of the step-by-step flow (after prepare_inputs): Request a challenge from the server. Sends circuit + inputs to POST /api/v1/prove. Server returns nonce and TEE key information. You MUST call prepare_inputs first to get the inputs parameter. |
| prepare_inputsA | Step 1 of the step-by-step flow: Prepare all circuit inputs. Computes signal hash, signs it with the attestation wallet, queries EAS for attestation data, builds Merkle proof, and returns all inputs needed for proof generation. Call this BEFORE request_challenge. For oidc_domain circuit, provide jwt and scope instead of Coinbase-specific parameters. |
| submit_proofA | Step 3 of the step-by-step flow: Submit prepared inputs to generate the ZK proof. The TEE server runs the Noir circuit and returns the UltraHonk proof. This step may take 30-90 seconds. The TEE server builds Prover.toml from these inputs. |
| verify_proofA | Step 4 (optional): Verify a ZK proof on-chain against the deployed verifier contract. Pass the full generate_proof result object directly — verification info (verifierAddress, chainId, rpcUrl) is extracted automatically. Returns { valid: true } if the proof is valid. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| config |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zkproofport/proofport-ai'
If you have feedback or need assistance with the MCP directory API, please join our Discord server