Install
$ agentstack add mcp-sirrobot01-writ ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Writ
Writ is a language and runtime for bounded agent authority.
A writ file states what an agent can do and how much it can spend. It also states what the agent must not change. The registrar checks each action against these terms. It writes each action, check, and result to a record.
Writ file
A writ can contain these terms:
| Term | Purpose | | --- | --- | | mandate | States the goal. | | grants | Give permission for actions and resources. | | bounds | Limit iterations, cost, time, and changes. | | invariants | State conditions that must remain true. | | obligations | State checks that must pass before satisfaction. | | satisfaction | States the proof that the work is complete. | | remedies | State the response to a breach. |
Example:
writ: bug-fixer
mandate: "The failing tests pass without changes to the tests."
grants:
- read: { paths: ["**/*"] }
- shell: { commands: ["pytest *"] }
- edit: { paths: ["src/**"] }
bounds:
iterations: 40
cost: $2.50
wall_clock: 20m
edits:
max_changed_lines: 200
invariants:
- layer: letter
untouched: "tests/**"
satisfaction:
all:
- layer: letter
run: "pytest -x -q"
exit: 0
remedies:
on_bound_breach: { do: halt, inform: issuer }
Check layers
Each clause names the party that makes its check.
| Layer | Check | | --- | --- | | letter | The registrar makes a deterministic check. | | judgment | A separate judge model evaluates the clause. | | assent | A person makes the decision. |
The record keeps the layer with each check. A judgment is not shown as a deterministic result.
Run modes
Writ supports three run modes.
| Mode | Command | Coverage | | --- | --- | --- | | Embedded | writ issue | Model turns, tool actions, effects, bounds, invariants, satisfaction, and remedies. | | Model gateway | writ gate | Model iterations, model cost, and tool names that cross the model API. | | MCP sidecar | writ proxy -- | Tool names and arguments that cross the MCP boundary. |
The model gateway does not run tools. It cannot verify tool effects.
The MCP sidecar cannot see model iterations or model cost. It cannot verify effects outside the MCP calls.
Install
Install Writ with Homebrew:
brew install sirrobot01/tap/writ
You can also download a binary from the releases page.
Check the installation:
writ --version
Start a run
- Create the engagement configuration.
``sh writ configure ``
- Create a writ file.
``sh writ init bug-fixer ``
- Add the required terms to
bug-fixer.yaml.
- Check the file.
``sh writ check bug-fixer.yaml --explain ``
- Issue the writ.
``sh writ issue bug-fixer.yaml ``
- Read the record.
``sh writ record bug-fixer ``
Commands
| Command | Purpose | | --- | --- | | writ init | Create a writ file. | | writ check | Validate and explain a writ file. | | writ configure | Configure holders, judges, the sandbox, and assent. | | writ issue | Run an agent under a writ. | | writ gate | Govern an external agent at the model API boundary. | | writ proxy | Govern an MCP server at the tool boundary. | | writ record | Show the record of a run. | | writ amend | Change the terms of a writ. |
Development
Run all Go checks:
task check
Build the command:
task build
Read [CONTRIBUTING.md](./CONTRIBUTING.md) before you send a change.
License
Writ uses the [Apache License 2.0](./LICENSE).
Brand files are in [blog/brand/](./blog/brand).
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: sirrobot01
- Source: sirrobot01/writ
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.