Skip to main content

ForgingStack Quorum

Before an agent acts alone, get the quorum. One proposal, N approvals, one receipt.

mcp-name: io.github.jdkabattles/forgingstack-quorum

This is the public client for Quorum. The service itself — the approval flow, 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-quorum.jkbattles.workers.dev

How it works

  1. You propose an action, name the approvers, and set how many approvals are needed (N) and when the proposal expires.
  2. Each approver gets a one-time emailed link. Approvals are free.
  3. At quorum the proposal is approved and a hash-chained receipt is issued. If it expires first, it expires — no receipt, and the proposal cannot be approved afterwards.
  4. You can also reject a pending proposal yourself.

What it does not do: decide if an action is wise, legal, or safe. Quorum only — the approvers decide the rest.

Signup

curl -X POST https://forgingstack-quorum.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. Click the verification link in the signup email before the key can create proposals (if the mail does not arrive, check spam, or POST /v1/verify/resend).

Create a proposal

curl -X POST https://forgingstack-quorum.jkbattles.workers.dev/v1/proposals \
  -H "X-API-Key: YOUR_PRIMARY_KEY" -H "Content-Type: application/json" \
  -d '{"action":"deploy the new build","approvers":["a@example.com","b@example.com"],"required_approvals":2,"expires_at":"2027-01-01T00:00:00Z"}'

Returns the proposal (201) with its approval state and which approval emails were sent. Read it back with GET /v1/proposals/{id}, list yours with GET /v1/proposals, reject a pending one with POST /v1/proposals/{id}/reject. Approvers approve by clicking the link in their email — each link works once. The receipt, once issued, is at GET /v1/receipts/{id}.

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: create_proposal, get_proposal, get_credits, get_receipt. See SKILL.md for when to use it and when not to.

Price

1 credit per proposal. Approvals are free. 100 starter credits on signup. $10 for 1,000 credits via POST /v1/billing/checkout (Payment Link). Credits land after payment is verified — usually within the hour.

Files in this repo

  • app/mcp_server.py — MCP wrapper client (stdio, stdlib only)
  • SKILL.md — when to use it, how to read the result
  • agent-card.json — A2A-style discovery card
  • server.json — MCP Registry metadata
  • pyproject.toml — package metadata for the MCP client
  • llms.txt — short index for language-model readers

Metadata

Release files for forgingstack-quorum 0.1.0

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-quorum 0.1.0
File Size Uploaded Provenance Actions
forgingstack_quorum-0.1.0.tar.gz 5.4 kB Without provenance Details for forgingstack_quorum-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for forgingstack-quorum 0.1.0
File Interpreter ABI Platform Actions
forgingstack_quorum-0.1.0-py3-none-any.whl Python 3 none any Details for forgingstack_quorum-0.1.0-py3-none-any.whl

Total release size: 11.7 kB

Release files / forgingstack_quorum-0.1.0.tar.gz

Download URL forgingstack_quorum-0.1.0.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
da459bf89128e19e6011920888caf2cf8d3735702b97f2a7afba4b0ef8e88bc2
BLAKE2b-256 checksum
How to use checksums
2e06e22ed59fd822cd1472c13dd4cb0cad2f81d54f1d18a855b9e7fb6f8802b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.12

Release files / forgingstack_quorum-0.1.0-py3-none-any.whl

Download URL forgingstack_quorum-0.1.0-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f50fa8830cc779b70b1a6d5f170550f1a5f38b96684be121c0ecf586e5d1d0c
BLAKE2b-256 checksum
How to use checksums
6020a9baf56d98b94c6d5a6a012e7dcc47c5cab737021c7c00dc5630c0e192c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.12

Security for forgingstack-quorum 0.1.0

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.1.0 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