Receipt-based verification for AI agent workflows β create, verify, and poll ephemeral proof objects
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
A public proof that a specific GitHub Actions job ran for a specific commit.
ProofSlip verifies a GitHub Actions OIDC token, records the provider-backed job identity and execution context, and returns a stable public proof URL. No ProofSlip account or API key is required for release proofs.
Live site Β· Agent Skill Β· Docs Β· OpenAPI Β· Privacy
The open-source skill gives Codex, Claude Code, Cursor, and other skills-compatible agents two focused workflows:
The skill inspects before editing, shows the proposed workflow change, and asks for approval. It does not create a synthetic βproof-onlyβ workflow, and it never commits, pushes, or releases without separate authorization.
Example prompts:
Every release-proof/v1 object keeps three evidence sources separate:
| Field | Source | What it establishes |
|---|---|---|
issuer | GitHub Actions OIDC, provider-verified | The identity and execution context of the workflow job that requested the token. |
observations | ProofSlip | Optional facts ProofSlip observed at issuance time, such as an HTTP status. |
submitted_context | Workflow input | Caller-supplied labels, explicitly marked unverified. |
A proof does not establish that tests passed, that the entire workflow succeeded, or that a deployment contains the claimed commit.
Optional request fields let the workflow ask ProofSlip to observe a public HTTPS endpoint and attach unverified labels:
The response includes a human proof_url and a machine-readable proof_id:
Fetch JSON with:
| Method | Endpoint | Auth | Purpose |
|---|---|---|---|
POST | /v1/proofs/releases/github-actions | GitHub Actions OIDC | Create a provider-backed release proof. |
GET | /v1/proofs/:proof_id | None | Fetch public proof JSON. |
GET | /proof/:proof_id | None | View the human evidence page. |
POST | /v1/receipts | ProofSlip API key | Create a legacy workflow receipt. |
GET | /v1/verify/:receipt_id | None | Verify a legacy receipt. |
GET | /v1/receipts/:receipt_id/status | None | Poll legacy receipt status. |
POST | /v1/auth/signup | None | Create an API key for legacy receipts. |
The full contract is available in the human docs, OpenAPI, and docs/specs/release-proof-v1.md.
Release proof URLs are public, including proofs created from private repositories. The proof can expose repository metadata, workflow identifiers, actor, ref, SHA, and any submitted context.
Release proofs have a 90-day validity window. After that window they return HTTP 410 with is_expired: true, but V1 keeps the full record inspectable. Expiration is not automatic deletion. Read the privacy policy before enabling private-repository workflows.
Legacy receipts are different: they expire after at most 24 hours and are deleted by automated cleanup.
Aggregate release-proof event rows contain no tokens, emails, IPs, or payload content and are deleted after at most 90 days.
409.The published integrations currently expose the original short-lived receipt API, not release-proof creation.
Tools: create_receipt, verify_receipt, check_status, signup.
Tools: create receipt, verify receipt, and check status, plus a toolkit wrapper.
| Endpoint | Format | Purpose |
|---|---|---|
/llms.txt | Text | Compact agent context. |
/llms-full.txt | Text | Complete agent contract. |
/.well-known/openapi.json | JSON | OpenAPI 3.1. |
/.well-known/agent.json | JSON | Agent discovery. |
/.well-known/mcp.json | JSON | Legacy receipt MCP package. |
Requirements: Node.js 18+ and PostgreSQL (the production deployment uses Neon).
Important environment variables:
| Variable | Purpose |
|---|---|
DATABASE_URL | Application database. Production deployments point this at the production branch. |
TEST_DATABASE_URL | Dedicated test database or Neon branch. It must not resolve to the same target as DATABASE_URL. |
BASE_URL | Public base URL; defaults to https://proofslip.ai. |
CRON_SECRET | Protects cleanup of expired receipts and 90-day aggregate proof events. |
RESEND_API_KEY | Optional transactional signup email. |
PROOFSLIP_API_KEY | Used by production smoke tests for legacy receipts. |
The integration test setup remaps DATABASE_URL to TEST_DATABASE_URL and fails closed if the two targets are identical, including pooled versus direct Neon URLs.
The LangChain layer runs from packages/langchain/.venv when available.
ProofSlip and Context Capsule remain separate products with one narrow connection:
A coding-handoff/v1 capsule can include release-proof IDs in references.proofslip_ids. The receiving agent still fetches and inspects each proof; a reference alone does not make a handoff claim verified. See Context Capsule.
ProofSlip is live and open source. release-proof/v1 and the backward-compatible receipt API are deployed. The repository-owned release-proof Agent Skill is the primary authoring and verification path under active validation; website and discovery changes should be deployed only after the full local and production checks pass.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/proofslip)<a href="https://allmcps.com/mcp/proofslip"><img src="https://allmcps.com/api/badge/proofslip?style=directory" alt="ProofSlip on AllMCPs" /></a>