POPCORN Witness Verifier
MCP server for verifying receipts: POPCORN-WITNESS/2.0 signature, digest, and time. Free, read only.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"popcorn-tain-verifier": {
"url": "https://popcorn-tain-verify-mcp-v2.violetherod.workers.dev/mcp"
}
}
}Remote endpoints
https://popcorn-tain-verify-mcp-v2.violetherod.workers.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (1)
🟢popcorn_verify_v2(response, jwks, expected_nonce, expected_payload_digest, expected_node_id, ...)
Verify a POPCORN-WITNESS/2.0 receipt against a caller-computed SHA-256 payload digest, nonce, and independently trusted issuer keys. Send only the digest, never private payload bytes. Caller-supplied keys do not establish issuer identity. This does not prove on-chain settlement, establish current time, or grant authority. Free and read-only.
Input Schema
{
"type": "object",
"properties": {
"response": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"jwks": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"expected_nonce": {
"type": "string"
},
"expected_payload_digest": {
"type": "string"
},
"expected_node_id": {
"type": "string"
},
"max_clock_accuracy_radius_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"previous_receipt": {
"type": "object",
"properties": {
"response": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"jwks": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"verification": {
"type": "object",
"properties": {
"expected_nonce": {
"type": "string"
},
"expected_payload_digest": {
"type": "string"
},
"expected_node_id": {
"type": "string"
},
"max_clock_accuracy_radius_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"previous_receipt": {
"type": "object",
"properties": {
"response": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"jwks": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"verification": {
"type": "object",
"properties": {
"expected_nonce": {
"type": "string"
},
"expected_payload_digest": {
"type": "string"
},
"expected_node_id": {
"type": "string"
},
"max_clock_accuracy_radius_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"previous_receipt": {
"type": "object",
"properties": {
"response": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"jwks": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"verification": {
"type": "object",
"properties": {
"expected_nonce": {
"type": "string"
},
"expected_payload_digest": {
"type": "string"
},
"expected_node_id": {
"type": "string"
},
"max_clock_accuracy_radius_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"previous_receipt": {
"type": "object",
"properties": {
"response": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"jwks": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"verification": {
"type": "object",
"properties": {
"expected_nonce": {
"type": "string"
},
"expected_payload_digest": {
"type": "string"
},
"expected_node_id": {
"type": "string"
},
"max_clock_accuracy_radius_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"previous_receipt": {
"type": "object",
"properties": {
"response": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"jwks": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"verification": {
"type": "object",
"properties": {
"expected_nonce": {
"type": "string"
},
"expected_payload_digest": {
"type": "string"
},
"expected_node_id": {
"type": "string"
},
"max_clock_accuracy_radius_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"previous_receipt": {
"type": "object",
"properties": {
"response": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"jwks": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"verification": {
"type": "object",
"properties": {
"expected_nonce": {
"type": "string"
},
"expected_payload_digest": {
"type": "string"
},
"expected_node_id": {
"type": "string"
},
"max_clock_accuracy_radius_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"previous_receipt": {
"type": "object",
"properties": {
"response": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"jwks": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"verification": {
"type": "object",
"properties": {
"expected_nonce": {
"type": "string"
},
"expected_payload_digest": {
"type": "string"
},
"expected_node_id": {
"type": "string"
},
"max_clock_accuracy_radius_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"previous_receipt": {
"type": "object",
"properties": {
"response": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"jwks": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"verification": {
"type": "object",
"properties": {
"expected_nonce": {
"type": "string"
},
"expected_payload_digest": {
"type": "string"
},
"expected_node_id": {
"type": "string"
},
"max_clock_accuracy_radius_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"expected_nonce",
"expected_payload_digest"
],
"additionalProperties": false
}
},
"required": [
"response",
"jwks",
"verification"
],
"additionalProperties": false
}
},
"required": [
"expected_nonce",
"expected_payload_digest"
],
"additionalProperties": false
}
},
"required": [
"response",
"jwks",
"verification"
],
"additionalProperties": false
}
},
"required": [
"expected_nonce",
"expected_payload_digest"
],
"additionalProperties": false
}
},
"required": [
"response",
"jwks",
"verification"
],
"additionalProperties": false
}
},
"required": [
"expected_nonce",
"expected_payload_digest"
],
"additionalProperties": false
}
},
"required": [
"response",
"jwks",
"verification"
],
"additionalProperties": false
}
},
"required": [
"expected_nonce",
"expected_payload_digest"
],
"additionalProperties": false
}
},
"required": [
"response",
"jwks",
"verification"
],
"additionalProperties": false
}
},
"required": [
"expected_nonce",
"expected_payload_digest"
],
"additionalProperties": false
}
},
"required": [
"response",
"jwks",
"verification"
],
"additionalProperties": false
}
},
"required": [
"expected_nonce",
"expected_payload_digest"
],
"additionalProperties": false
}
},
"required": [
"response",
"jwks",
"verification"
],
"additionalProperties": false
}
},
"required": [
"expected_nonce",
"expected_payload_digest"
],
"additionalProperties": false
}
},
"required": [
"response",
"jwks",
"verification"
],
"additionalProperties": false
}
},
"required": [
"response",
"jwks",
"expected_nonce",
"expected_payload_digest"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Evidence