TinyZKP

by logannye

175 downloads Not rated yet MIT

About

A height-compressed, sublinear-space STARK prover. Designed to make very long zero-knowledge proofs practical on fixed-memory hardware (CPUs, GPUs, & edge devices). Post-quantum. Built in Rust.

Details

License
MIT

Explore

- O(√T) prover memory vs standard STARK O(T) — ≈4,096× reduction measured
- Verification in polylog time, always free
- Transparent (no trusted setup) and post-quantum (hash-based)
- SDKs for Python, TypeScript, and Rust
- MCP server for native AI agent integration (Claude, GPT, Cursor)
- Browser WASM verifier with no server or API key required

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 TinyZKP
    Command (node, npx, python, etc.)

    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

2. Native install for AI agents (Claude Code)

claude mcp add --transport http tinyzkp https://mcp.tinyzkp.com

Your agent now has 10 state-transition proof tools (list_templates, describe_template, prove_template, poll_job, get_proof, verify_proof, ...) as native function calls. No signup, no API key, no credit card — the MCP endpoint is public and rate-limited via a server-side concurrency cap. For Claude Desktop, Cursor, OpenAI agents, and other MCP clients, see the MCP install guide.

Discovery via Smithery works the same way — the directory routes through Smithery's gateway to the same endpoint.

If you want Claude to recognize when a use case calls for a proof on its own (not just respond to "use TinyZKP"), install the companion Claude Skill at skills/tinyzkp-proofs/.

list_templates

List Proof Templates

list_workloads

List Workloads

describe_template

Describe Proof Template

get_capabilities

Get Server Capabilities

prove_template

Generate Proof from Template

prove_workload

Generate Proof from Workload

poll_job

Poll Proof Job Status

verify_proof

Verify Proof

get_proof

Get Proof Bytes

get_proof_summary

Get Proof Summary

All 10 tools declare title, readOnlyHint, destructiveHint, idempotentHint, and openWorldHint annotations.

| Tool | Title | Read-only |
|---|---|:-:|
| list_templates | List Proof Templates | ✓ |
| list_workloads | List Workloads | ✓ |
| describe_template | Describe Proof Template | ✓ |
| get_capabilities | Get Server Capabilities | ✓ |
| prove_template | Generate Proof from Template | — |
| prove_workload | Generate Proof from Workload | — |
| poll_job | Poll Proof Job Status | ✓ |
| verify_proof | Verify Proof | ✓ |
| get_proof | Get Proof Bytes | ✓ |
| get_proof_summary | Get Proof Summary | ✓ |

The standard workflow is list_templates → describe_template → prove_template → poll_job → get_proof → verify_proof. verify_proof is a pure cryptographic check — anyone with the proof bytes can run it independently of TinyZKP.

---

The connector may need a session restart. Quit Claude Code (or close the conversation) and start a fresh one. In Claude.ai web, the connector also needs to be enabled per-conversation via the connector picker — not all chats expose all installed connectors.

Claude Desktop / Cursor

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

{
    "mcpServers": {
        "tinyzkp": {
            "tinyzkp": {
                "type": "http",
                "url": "https://mcp.tinyzkp.com"
            }
        }
    }
}

McpServers

{
    "tinyzkp": {
        "type": "http",
        "url": "https://mcp.tinyzkp.com"
    }
}

npm: @tinyzkp/cli
npm: tinyzkp
npm: @tinyzkp/verify
PyPI: tinyzkp
License: MIT
Free tier
Smithery

tinyzkp.com · Try it in browser · API docs · Free signup

Mint a tamper-evident proof that a state-transition chain is consistent — start at X, apply these steps, provably reach Y — so an agent (or any caller) can hand over a verifiable receipt instead of "trust me." One MCP install. One API call. Verify in milliseconds. No cryptography degree required.

Three ways to start in under a minute

1. Try in browser, no signup

Mint and verify a real ZK proof at tinyzkp.com/try — type a value, hit Generate, hit Verify. Result in ~2 seconds.

2. Native install for AI agents (Claude Code)

claude mcp add --transport http tinyzkp https://mcp.tinyzkp.com

Your agent now has 10 state-transition proof tools (list_templates, describe_template, prove_template, poll_job, get_proof, verify_proof, ...) as native function calls. No signup, no API key, no credit card — the MCP endpoint is public and rate-limited via a server-side concurrency cap. For Claude Desktop, Cursor, OpenAI agents, and other MCP clients, see the MCP install guide.

Discovery via Smithery works the same way — the directory routes through Smithery's gateway to the same endpoint.

If you want Claude to recognize when a use case calls for a proof on its own (not just respond to "use TinyZKP"), install the companion Claude Skill at skills/tinyzkp-proofs/.

3. Terminal CLI (works against any TinyZKP API key)

npx @tinyzkp/cli templates                                # list available templates
npx @tinyzkp/cli prove accumulator_step '{"initial":1000,"final":1045,"deltas":[10,20,15]}' --wait
npx @tinyzkp/cli verify proof.json                        # always free

@tinyzkp/cli is a zero-dependency Node 18+ ESM package. See clients/cli/README.md for the full command reference.

What you can prove

| Template | What it proves | Typical use |
|----------|---------------|-------------|
| accumulator_step | "Starting at X, applying these deltas reaches Y" | State machine attestation, audit-log checkpoints |

More proof types are in development.

Two-line plain HTTP version

```bash
curl -X POST https://api.tinyzkp.com/prove/template/accumulator_step \
-H "Authorization: Bearer tzk_..." \
-H "Content-Type: application/json" \
-d '{"params":{"initial":1000,"final":1045,"deltas":[10,20,15]}}'

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.