# POPCORN MCP [Health: Active]

**Category:** 🔑 Cryptography  
**Repository:** https://github.com/violetclaire/popcorn-temporal-anchor  
**GitHub Stars:** 0  
**npm Downloads (last month):** 453  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/popcorn-mcp

## Description
Signed time and SHA-256 witness receipts for agents, with offline verification and x402 payment.

## Tools
Capabilities this server exposes over MCP:

- **popcorn_sample** — Try a clock for agents: hash an exact eight-line task schedule, verify its signed time witness, and reject a one-byte change to who must fulfill it. Also reproduce two legacy historical receipts. No inputs, wallet, payment, or network request. Free sample keys are for reproduction; this does not establish current time or grant permission.
- **popcorn_catalog** — Fetch the live POPCORN service catalog, published verification keys, and public schemas. Free. Makes no payment.
- **popcorn_hash** — Compute SHA-256 locally over exact UTF-8 text or canonical unpadded base64url bytes. Free, local, and makes no network request or payment.
- **popcorn_verify** — Use when receiving signed evidence from another agent or resuming a task: verify a POPCORN time or witness receipt locally against caller-supplied trusted JWKS and expected values. Free and network-free. Historical evidence is not a fresh clock reading. For chained witness receipts, verification.previous_receipt must recursively contain response, jwks, and verification.
- **popcorn_time** — Is this quote still valid? Can I still cancel? Has the deadline passed? Fetch a signed timestamp and verifiable current-time attestation for a deadline check, boundary check, or expiry check. Use fresh time evidence, not cached evidence or the local UTC clock; measure elapsed durations with a monotonic timer. This MCP time server provides x402 time. Defaults to a no-payment dry run, not a free signed time receipt. A fresh time receipt costs at most $0.001 USDC on Base and requires approve_payment exactly true under the operator's spending policy and EVM_PRIVATE_KEY. It does not establish availability or authorize a task.
- **popcorn_witness** — Which task version existed before the cancellation deadline, quote expiry, or authorization boundary? Obtain a signed time witness for its exact SHA-256 digest and request nonce. Keep raw task content local. The time receipt records a checkpoint; use popcorn_time for fresh current time. Defaults to a no-payment x402 dry run. Payment requires approve_payment exactly true under the operator's spending policy and EVM_PRIVATE_KEY; maximum $0.001 USDC on Base. Does not prove identity, availability, authorization, or execution.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "popcorn-mcp": {
    "command": "npx",
    "args": ["-y","@violetclaire/popcorn-mcp@0.1.3"]
  }
}
```

## Documentation

## What POPCORN MCP does

POPCORN MCP gives agents access to signed temporal evidence and payload-bound task checkpoints. The underlying POPCORN service can provide signed time for deadlines, expiration windows, execution windows, and handoffs. It can also witness the SHA-256 digest of one exact payload, allowing a later verifier to check that the payload is unchanged and determine when its commitment was witnessed.

The connector includes a local sample tool named `popcorn_sample`. That evaluation checks two bundled historical production receipts and confirms that their one-byte tamper controls are rejected. It runs without a wallet, payment, or network request.

The service is intentionally limited to evidence. It does not schedule work, reserve resources, authorize actions, store private task state, or decide what an agent should do next.

## How it works

For a live task checkpoint, the agent hashes the exact payload bytes locally and sends the resulting SHA-256 digest to POPCORN. The request also includes a new 32-byte nonce and may include the digest of the preceding receipt’s exact signed payload bytes. POPCORN returns a signed receipt containing those values and a bounded witness interval.

The live endpoints are `GET /v1/time` for signed time and `POST /v2/receipt` for a paid schedule or task checkpoint. Existing integrations can continue using `POST /v1/receipt`. The service charges `$0.001` USDC on Base mainnet through x402 v2. Receipts use ES256 compact JWS and can be checked against the service’s public JWKS.

An agent carries the original payload and the signed receipt together. A verifier can then compare the payload digest, inspect the witness interval, and check an optional predecessor relationship. The receipt cannot reconstruct or retrieve the payload, prove caller identity or delivery, establish that an action executed, prevent replay, or establish authorization.

## Setup and configuration

The repository connector requires Node.js 20 or newer. From the repository, install dependencies, build the connector, and start its sample mode:

```bash
git clone https://github.com/violetclaire/popcorn-temporal-anchor.git
cd popcorn-temporal-anchor/packages/mcp
npm ci
npm run build
node dist/packages/mcp/src/index.js --sample
```

The published package can be evaluated with:

```bash
npx -y @violetclaire/popcorn-mcp@0.1.3 --sample
```

After connecting an MCP client, call `popcorn_sample` with an empty object to run the same local verification. The repository also provides a separate offline verification command for the checked-in STOP packet; it performs no network or payment operation.

## Tools and capabilities

- Run the bundled historical receipt verification and tamper checks locally.
- Obtain signed time evidence for deadlines, expirations, execution windows, and handoffs.
- Request a signed SHA-256 checkpoint for one exact task or schedule payload.
- Link a new receipt to the digest of a preceding receipt’s signed payload.
- Verify payload integrity and the interval in which a commitment was witnessed.

## Limitations and notes

POPCORN evidence describes a signed observation or commitment, not current authorization or execution. The service keeps the raw task and schedule with the agent rather than storing them. Live requests require an x402 v2 payment of `$0.001` USDC on Base mainnet, while the bundled sample and verification checks are offline and free. Historical receipts remain verifiable, but their results describe the recorded evidence and local policy at that time.

_Full upstream README: https://allmcps.com/mcp/popcorn-mcp/readme_

