io. github. lemmaoracle/ mcp
by lemmaoracle · remote · local (npm) · no sign-in to list tools · v0.0.17 · published by GitHub user lemmaoracle
Verifiable provenance for AI agents — ZK proofs over confidential documents, no plaintext exposure.
5 tools: 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads5Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http lemmaoracle https://mcp.lemma.workers.dev/mcp --header 'Authorization: <your-authorization>'Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
5 tools
Only reads 5Claude Code: allow
lemma_get_circuitRetrieve a zero-knowledge proof circuit by its circuitId via GET /v1/circuits/{circuitId}.No findings
Why it is in this group
- The name "lemma_get_circuit" says "get": a word for reading.
Description, as the server wrote it Retrieve a zero-knowledge proof circuit by its circuitId via GET /v1/circuits/{circuitId}. A circuit defines the constraints that proofs must satisfy and binds to a single schema. Returns CircuitMeta { circuitId, schema, description?, inputs?, verifier?: { type: 'onchain'|'offchain', address?, chainId? }, artifact?: { location: { type: 'ipfs'|'https', wasm, zkey } } }. Use this before lemma_submit_proof to confirm the circuit's schema, public inputs, and verifier configuration. Circuits are immutable; new variants get new circuitIds.
Annotations the server declares
- title: Lemma — get circuit
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
- destructiveHint: false
lemma_get_generatorRetrieve a Lemma document generator by generatorId via GET /v1/doc-generators/{generatorId}.No findings
Why it is in this group
- The name "lemma_get_generator" says "get": a word for reading.
Description, as the server wrote it Retrieve a Lemma document generator by generatorId via GET /v1/doc-generators/{generatorId}. A generator describes how a class of source documents is produced (e.g., what fields a 'KYC-v2' issuer must populate). Returns GeneratorMeta { generatorId, schema, description?, language?, source?: { type: 'url', uri }, inputsSpec?, outputsSpec? }. Each generator is bound to one schema. Use this when onboarding a new issuer or auditing how an existing schema is being populated.
Annotations the server declares
- title: Lemma — get generator
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
- destructiveHint: false
lemma_get_proof_statusGet the verification status of a proof.No findings
Why it is in this group
- The name "lemma_get_proof_status" says "get": a word for reading.
Description, as the server wrote it Get the verification status of a proof. NOTE: the v2 API does not yet expose a dedicated GET /v1/proofs/{id} endpoint, so this tool internally calls POST /v1/verified-attributes/query filtered by docHash (treating the verificationId returned from lemma_submit_proof as a docHash filter). Returns { status, circuitId, chainId, docHash } extracted from the matched item, or undefined if the verificationId is unknown. Status enum: received | verified | onchain-verified | rejected. Use the SDK's isVerified() helper (or check status === 'verified' || status === 'onchain-verified') to determine cryptographic validity.
Annotations the server declares
- title: Lemma — get proof status
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
- destructiveHint: false
lemma_get_schemaRetrieve a Lemma schema by its ID via GET /v1/schemas/{id}.No findings
Why it is in this group
- The name "lemma_get_schema" says "get": a word for reading.
Description, as the server wrote it Retrieve a Lemma schema by its ID via GET /v1/schemas/{id}. A schema declares how documents of a given type are interpreted and normalized. Returns SchemaMeta { id, description? } with additionalProperties open — implementations commonly include a `normalize` artifact (WASM that maps raw documents to canonical form) and its content hash. Use this when you need to interpret attribute keys returned by lemma_query_verified_attributes.
Annotations the server declares
- title: Lemma — get schema
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
- destructiveHint: false
lemma_query_verified_attributesQuery cryptographically verified attributes from Lemma.No findings
Why it is in this group
- The name "lemma_query_verified_attributes" says "query": a word for reading.
Description, as the server wrote it Query cryptographically verified attributes from Lemma. Use this as the primary tool for finding documents whose attributes match given conditions (e.g., "subject's birthYear lt 2008"). Returns { results: Array<{ docHash, schema, issuerId, subjectId, attributes, isVerified, proof?: { status, circuitId, chainId }, disclosure? }>, hasMore }. The MCP layer enriches each item with an `isVerified` flag derived from `proof.status` (true when status is 'verified' or 'onchain-verified'). Use lemma_get_proof_status to monitor a specific proof; use lemma_get_schema to interpret the keys returned in `attributes`.
Annotations the server declares
- title: Lemma — query verified attributes
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
- destructiveHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.0.17. Values in angle brackets are yours to fill in.
claude mcp add --transport http lemmaoracle https://mcp.lemma.workers.dev/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__lemmaoracle__lemma_query_verified_attributes",
"mcp__lemmaoracle__lemma_get_schema",
"mcp__lemmaoracle__lemma_get_circuit",
"mcp__lemmaoracle__lemma_get_generator",
"mcp__lemmaoracle__lemma_get_proof_status"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as lemmaoracle. Review it before you use it.
