writ MCP server
io.github.withwrit/writ·v0.2.0·1 starsPolicy checks for AI agent writes (ALLOW/DENY/STEP_UP) with a tamper-evident audit log.
not scanned yet
1 stars371 downloads/wk
Reviews
Write oneNobody has reviewed writ yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
writ tools
No tool declarations could be read from the package source. They show once the server is installed.
How writ compares
Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 82/100
- higher than 65% of 4,460 AI and agents servers
- GitHub stars
- 1
- more than 50% of 2,711 AI and agents servers
- Downloads a week
- 371
- more than 82% of 1,538 AI and agents servers with a package
Release history: 2 versions in the registry since 2026-10-01, latest 2026-11-02, typically one every 32 days.
Install writ in Claude Code, Cursor or VS Code
claude mcp add writ -- uvx writ-mcp
What the publisher says
From the writ repository's README, as published. We do not edit it. Read it on GitHub
pywrit
Find the dangerous writes in your Python agent's code, then gate it. pywrit is the Python client and writ CLI for Writ: an allow/deny gate that sits in front of your agent's consequential writes (database, HTTP, files, email, queues, AWS) and records a hash-chained receipt for every decision.
writ scan is local, deterministic, and free: it parses your code with Python's ast module, makes no network calls, and needs no API key.
Install
pip install pywritRequires Python 3.9+. Installs the writ command and the pywrit Python client.
JavaScript/TypeScript devs: run the scanner with no Python setup via npm:
npx writ-scan .The writ-scan package wraps the same scanner (including TS/JS support). On first run it installs pywrit[polyglot] from PyPI using your Python 3.9+ (one-time); afterwards it starts instantly. See npm/ for details, environment overrides (WRITPYTHON, WRITSCANNOINSTALL), and the install test.
60-second quickstart: scan → apply → gate
1. Scan. See which functions write, and how many of them are gated.
writ scan .writ scan: /path/to/support-agent
files scanned: 4 skipped: 0
write sites: 4 in 3 function(s)
gated: 0/4 (0%)
verbs discovered: 3
crm.update
payments.refund
tickets.closeIt also prints a risk report (0-100, weighted by risk tier), writes the discovered verbs to writ-policy.json, and shows the instrumentation it would add as a unified diff. Nothing in your code changes yet. writ scan . --score prints just the risk report.
2. Apply. Insert a gate at the top of each writing function.
writ scan . --apply # shows the diff, then asks before writing
writ scan . --apply --yes # no prompt (e.g. in CI)Each gated function now asks Writ before it writes, and fails closed:
def issue_refund(charge_id, amount_cents):
if _writ_check("payments.refund") != "ALLOW":
raise PermissionError("writ denied payments.refund")
...Re-run writ scan . and you'll see gated: 4/4 (100%).
3. Gate. Get a free API key, load the discovered policy, and run your agent.
writ key --email you@example.com # free API key + tenant
export WRIT_API_KEY=writ_... # read by the inserted gate
export WRIT_SPONSOR=acme WRIT_AGENT=support-agent # optional: who is acting
writ scan . --push-policy --key "$WRIT_API_KEY" # upload the discovered verb policyEvery gated write now gets ALLOW, DENY, or STEP_UP (a human sponsor must approve), and every decision is written to your tenant's tamper-evident audit log:
writ receipts --key "$WRIT_API_KEY" # latest receipts
writ verify-chain --key "$WRIT_API_KEY" # verify the receipt hash chain
writ stream --key "$WRIT_API_KEY" # tail decisions live
writ report --key "$WRIT_API_KEY" # Agent Action ReportWhat writ scan detects
Python (.py) files, parsed with the stdlib ast (no extra dependencies):
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
writ: common questions
- Is writ MCP server safe?
- Mostly: it is graded B (82/100). Read the writ safety report
- How do I install writ?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does writ need an API key?
- Yes. The registry entry asks for
WRIT_API_KEY,WRIT_SPONSOR_TOKEN. - Is writ maintained?
- The last commit was 33 days ago (2026-10-02). The latest release is v0.2.0.
- What can I use instead of writ?
- Servers from other publishers that do the same job: three.ws Provenance MCP server, Roast My Design System MCP server and Kiln MCP server.
- How does writ compare with other AI and agents MCP servers?
- safety score 82/100 (higher than 65% of 4,460 AI and agents servers); github stars 1 (more than 50% of 2,711 AI and agents servers); downloads a week 371 (more than 82% of 1,538 AI and agents servers with a package). Full comparison.
Alternatives to writ
Same job from other publishers: the closest match first, then the best rated.
- three.ws ProvenanceAppend-only, signed, on-chain-verifiable agent action log — record and audit what agents did.not reviewedEstablishedB
- Roast My Design SystemAudit your Design System and serve your Agent the rules that keep AI-written UI on-system.not reviewedEstablishedA
- KilnSpawn an object into existence: describe it, and your agent designs it, checks it, and 3D prints it.not reviewedEstablishedB
- Roast My Design SystemAudit your Design System and serve your Agent the rules that keep AI-written UI on-system.not reviewedEstablishedA
- Vibe CheckMetacognitive AI agent oversight: adaptive CPI interrupts for alignment, reflection and safetynot reviewedEstablishedB