Skip to main content
Glama

get_supported_circuits

List all ZK circuits supported by ZKProofport. Call this first to discover available circuits before starting proof generation.

AVAILABLE MCP TOOLS (use EXACT names — no other tool names exist):

  1. get_supported_circuits — this tool (discovery)

  2. prove — submit proof inputs (redirects to REST endpoint for long-running proof generation)

IMPORTANT: Do NOT call "generate_proof", "proof_request", or any other tool name. The correct flow is: get_supported_circuits → prove (x402 single-step: POST → 402 → pay → retry)

CIRCUITS:

  1. coinbase_attestation ("coinbase_kyc")

    • Proves the user has passed Coinbase KYC identity verification

    • EAS Schema ID: 0xf8b05c79f090979bf4a80270aba232dff11a10d9ca55c4f88de95317970f0de9

    • Verifier (Ethereum Mainnet, chain 1): 0xf3d5a09d2c85b28c52ef2905c1be3a852b609d0c

    • Required inputs: address, signature, scope

    • Use circuit = "coinbase_kyc" in the prove tool

  2. coinbase_country_attestation ("coinbase_country")

    • Proves the user's country of residence from Coinbase attestation is in (or not in) a given country list

    • EAS Schema ID: 0x1801901fabd0e6189356b4fb52bb0ab855276d84f7ec140839fbd1f6801ca065

    • Verifier (Ethereum Mainnet, chain 1): 0x78792554e1582cb49d858eacb5c3607b42d28224

    • Required inputs: address, signature, scope, countryList, isIncluded

    • Use circuit = "coinbase_country" in the prove tool

CHAIN INFORMATION:

AUTHORIZED COINBASE ATTESTERS (used for Merkle proof construction):

  • 0x952f32128AF084422539C4Ff96df5C525322E564 (index 0)

  • 0x8844591D47F17bcA6F5dF8f6B64F4a739F1C0080 (index 1)

  • 0x88fe64ea2e121f49bb77abea6c0a45e93638c3c5 (index 2)

  • 0x44ace9abb148e8412ac4492e9a1ae6bd88226803 (index 3)

USDC ADDRESSES (for payment):

  • Base Sepolia (testnet): 0x036CbD53842c5426634e7929541eC2318f3dCF7e

  • Base mainnet: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Response fields:

  • circuits (array): List of supported circuits with id, displayName, description, requiredInputs, easSchemaId, verifierAddress

  • chainId (string): Chain ID for verifier addresses

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of explaining behavior. It does so by labeling the operation as discovery/list, describing the response fields (circuits, chainId), and documenting the circuit catalog. It does not mention side effects or auth, but for a read-only, zero-arg tool these omissions are minor.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is clearly structured with headings and bullet lists and front-loads the main purpose. However, it is lengthy and includes substantial tangential reference data (attester addresses, USDC addresses, chain endpoints) that is not needed to invoke this no-param tool, and the repeated 'AVAILABLE MCP TOOLS' warning is redundant and misleading.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-param discovery tool with no output schema, the description is more than complete: it states the response shape, the two circuits, verifier addresses, required inputs for downstream prove calls, and the intended sequence. Nothing needed to call this tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema already covers this with an empty properties object, so the baseline for 0 params is 4. The description need not add parameter meanings; it instead describes output fields and circuit inputs, which is useful for the subsequent prove call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource ('List all ZK circuits supported by ZKProofport') and explicitly labels this tool as the discovery step before proof generation. It also distinguishes it from the prove sibling by naming the workflow get_supported_circuits → prove.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use guidance ('Call this first to discover available circuits before starting proof generation'), names the prove tool as the follow-up, and warns against calling other names. However, it claims 'no other tool names exist' while the sibling list includes get_guide, so its exclusivity statement is inaccurate and slightly undermines the guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources