Skip to main content

ForgingStack Mandate Check

Before your agent acts, check its mandate. One call, one receipt.

mcp-name: io.github.jdkabattles/forgingstack-mandate-check

This is the public client for Mandate Check. The service itself — the decision logic, the receipt chain, the key store, and billing — runs on ForgingStack's private service and is not in this repo. Copying this repo does not give you the service: you still need an API key and credits, from signup below.

Live API: https://forgingstack-mandate-check.jkbattles.workers.dev

What it checks, in order

  1. Mandate agent matches the calling agent
  2. Mandate principal matches the principal the agent acts for
  3. Mandate expiry is parseable and in the future
  4. Action is in the mandate's allowed actions

Pass or fail, you get a reason and a hash-chained receipt.

What it does not do: decide if an action is wise, legal, or safe. Mandate fit only.

Signup (v1)

curl -X POST https://forgingstack-mandate-check.jkbattles.workers.dev/v1/signup \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com"}'

Returns an API key once and 100 starter credits. Save the key immediately — it is stored only as a hash and cannot be shown again. Email verification is pending, and credit-pack billing is not live yet, so do not expect a purchase flow in v1.

Agent sub-keys

A signed-up human creates a key for each agent, capped and revocable:

curl -X POST https://forgingstack-mandate-check.jkbattles.workers.dev/v1/keys \
  -H "X-API-Key: YOUR_PRIMARY_KEY" -H "Content-Type: application/json" \
  -d '{"agent_name":"my-agent","credits":20}'

List with GET /v1/keys, revoke with DELETE /v1/keys/{id} — revoking returns unused credits to the primary account.

Use it (MCP, stdio)

Set the key, then run the MCP server in this repo:

export FORGINGSTACK_API_KEY="your-key-here"
python -m app.mcp_server

Tools: check_mandate, get_credits, get_receipt. See SKILL.md for when to use it and when not to.

Price

1 credit per check call. A failed decision still costs 1 credit — the check was performed. An idempotent replay (same Idempotency-Key) is free and returns the original receipt.

Files in this repo

  • app/mcp_server.py — MCP wrapper client (stdio, stdlib only)
  • SKILL.md — when to use it, how to read pass/fail
  • agent-card.json — A2A-style discovery card
  • server.json — MCP Registry metadata (draft until PyPI publish)
  • pyproject.toml — package metadata for the MCP client

Metadata

Release files for forgingstack-mandate-check 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for forgingstack-mandate-check 0.2.1
File Size Uploaded Provenance Actions
forgingstack_mandate_check-0.2.1.tar.gz 4.5 kB Without provenance Details for forgingstack_mandate_check-0.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for forgingstack-mandate-check 0.2.1
File Interpreter ABI Platform Actions
forgingstack_mandate_check-0.2.1-py3-none-any.whl Python 3 none any Details for forgingstack_mandate_check-0.2.1-py3-none-any.whl

Total release size: 9.6 kB

Release files / forgingstack_mandate_check-0.2.1.tar.gz

Download URL forgingstack_mandate_check-0.2.1.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
65181ddfaa1e78330453ddc100b6d689865c455ef57f5d2ae0df0e05559e7c73
BLAKE2b-256 checksum
How to use checksums
e6b43d55a4d5966c9a205c5bf443058b5db1c2200926a70d92478b7b22e71b44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.12

Release files / forgingstack_mandate_check-0.2.1-py3-none-any.whl

Download URL forgingstack_mandate_check-0.2.1-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1cb1c7e459fd65c6781586da27ec49bee487eb5111335b53f8861118650bf08e
BLAKE2b-256 checksum
How to use checksums
1e399ff2fd45e38b922b159137455f23dd87529fa6231401a355a771c58e2225
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.12

Security for forgingstack-mandate-check 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page