Menerapkan pengecekan kebijakan saat commit untuk penulisan oleh AI agent dengan keputusan ALLOW, DENY, atau STEP_UP serta audit log yang tahan manipulasi.
Juga dikenal sebagai AvenueDAdmin/pywrit, writ-mcp
- Stars
- 2
- Tools
- 15
- Unduhan, 30 hari
- —
- Versi terbaru
- 0.1.2
- Commit terakhir
- 13 Nov 2026
- Lisensi
- MIT
Apa itu Writ MCP?
Writ adalah MCP server. Menerapkan pengecekan kebijakan saat commit untuk penulisan oleh AI agent dengan keputusan ALLOW, DENY, atau STEP_UP serta audit log yang tahan manipulasi. Server ini menyediakan 15 tool, seperti writ_check, writ_verify_token, writ_grant.
Ringkasan dibuat dari README proyek
Tentang Writ MCP server
Writ menyediakan kontrol point-of-action untuk AI agent dengan menerapkan pengecekan kebijakan sebelum operasi penulisan yang berdampak terjadi. MCP server ini menggunakan transport stdio untuk mengembalikan keputusan ALLOW, DENY, atau STEP_UP, guna memastikan agent beroperasi dalam batasan yang telah ditentukan. Tool ini dirancang untuk developer yang menggunakan client kompatibel MCP seperti Claude Desktop atau Claude Code, dan memerlukan WRIT_API_KEY untuk fungsionalitas penuh.
Sistem ini mengimplementasikan loop check-before-write di mana agent memanggil writ_check untuk menerima authToken berdurasi 90 detik. Token ini kemudian divalidasi melalui writ_verify_token tepat sebelum tindakan dieksekusi. Untuk keamanan yang lebih tinggi, keputusan STEP_UP memerlukan persetujuan dari human sponsor melalui writ_grant. Setiap keputusan menghasilkan audit receipt yang tahan manipulasi yang dapat diakses melalui writ_receipts, memberikan riwayat yang jelas mengenai tindakan dan otorisasi agent.
Apa yang bisa Anda lakukan dengannya
- 1Verifikasi izin penulisan agentMinta agent untuk memeriksa apakah ia memiliki izin untuk melakukan tindakan penulisan tertentu sebelum melanjutkan.
- 2Amankan operasi sensitif dengan tokenGunakan token berbasis waktu untuk memastikan operasi penulisan yang terotorisasi masih valid pada saat eksekusi.
- 3Wajibkan intervensi manusia untuk tugas berisikoMemicu proses persetujuan manual saat agent mencoba melakukan tindakan yang memerlukan keputusan step-up.
- 4Audit riwayat keputusan agentMengambil jejak detail dari semua keputusan otorisasi dan hasil sebelumnya.
Ditulis berdasarkan README proyek. Setiap use case diperiksa terhadap kutipan dari README tersebut.
Cara menginstal Writ MCP
Format diverifikasi 10 Nov 2026Instal Writ MCP di Claude Code
$ claude mcp add --env WRIT_API_KEY=<YOUR_WRIT_API_KEY> --env WRIT_SPONSOR_TOKEN=<YOUR_WRIT_SPONSOR_TOKEN> writ -- uvx writ-mcpInstal Writ MCP di Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"writ": {
"command": "uvx",
"args": [
"writ-mcp"
],
"env": {
"WRIT_API_KEY": "<YOUR_WRIT_API_KEY>",
"WRIT_SPONSOR_TOKEN": "<YOUR_WRIT_SPONSOR_TOKEN>"
}
}
}
}Instal Writ MCP di VS Code
.vscode/mcp.json
{
"servers": {
"writ": {
"type": "stdio",
"command": "uvx",
"args": [
"writ-mcp"
],
"env": {
"WRIT_API_KEY": "<YOUR_WRIT_API_KEY>",
"WRIT_SPONSOR_TOKEN": "<YOUR_WRIT_SPONSOR_TOKEN>"
}
}
}
}Instal Writ MCP di Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"writ": {
"command": "uvx",
"args": [
"writ-mcp"
],
"env": {
"WRIT_API_KEY": "<YOUR_WRIT_API_KEY>",
"WRIT_SPONSOR_TOKEN": "<YOUR_WRIT_SPONSOR_TOKEN>"
}
}
}
}Instal Writ MCP di Codex
~/.codex/config.toml
[mcp_servers.writ] command = "uvx" args = ["writ-mcp"] [mcp_servers.writ.env] WRIT_API_KEY = "<YOUR_WRIT_API_KEY>" WRIT_SPONSOR_TOKEN = "<YOUR_WRIT_SPONSOR_TOKEN>"
Instal Writ MCP di Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"writ": {
"command": "uvx",
"args": [
"writ-mcp"
],
"env": {
"WRIT_API_KEY": "<YOUR_WRIT_API_KEY>",
"WRIT_SPONSOR_TOKEN": "<YOUR_WRIT_SPONSOR_TOKEN>"
}
}
}
}Tool Writ MCP 15
Terdeteksi dari READMEwrit_checkwrit_verify_tokenwrit_grantwrit_receiptswrit_policywrit_sandboxwrit_github_installationswrit_github_set_thresholdwrit_github_toggle_pr_commentswrit_manifestswrit_explain_receiptwrit_tenant_notify
| writ_check | — | |
| writ_verify_token | — | |
| writ_grant | — | |
| writ_receipts | — | |
| writ_policy | — | |
| writ_sandbox | — | |
| writ_github_installations | — | |
| writ_github_set_threshold | — | |
| writ_github_toggle_pr_comments | — | |
| writ_manifests | — | |
| writ_explain_receipt | — | |
| writ_tenant_notify | — |
Tampilkan semua 15 toolTampilkan lebih sedikit tool
writ_principalswrit_verbswrit_keys
| writ_principals | — | |
| writ_verbs | — | |
| writ_keys | — |
Konfigurasi
WRIT_API_KEYWajibRahasiaWrit API key (get one free at https://withwrit.com)
WRIT_SPONSOR_TOKENRahasiaWrit sponsor token, only required for sponsor tools (grant, revoke, reinstate)
WRIT_BASE_URLOptional custom Writ API base URL (default: https://api.withwrit.com)
| Nama | Deskripsi | Tipe |
|---|---|---|
| WRIT_API_KEY | Writ API key (get one free at https://withwrit.com) | WajibRahasia |
| WRIT_SPONSOR_TOKEN | Writ sponsor token, only required for sponsor tools (grant, revoke, reinstate) | Rahasia |
| WRIT_BASE_URL | Optional custom Writ API base URL (default: https://api.withwrit.com) |
Pengecekan otomatis
Berjalan 12 Nov 2026Laporan lengkap →Lolos checks otomatis kami. Ini bukan audit keamanan: baca kodenya dan berikan server akses paling terbatas yang dibutuhkannya. Cara kerja checks
- Source repository terhubung dan dapat dijangkauLolos
- Lisensi open source (OSI)Lolos
- Ada commit atau release dalam satu tahun terakhirLolos
- Nama package tidak mirip dengan package populerLolos
- Remote endpoint menggunakan HTTPSTidak diperiksa
- Tools yang bersifat destruktif telah diberi labelLolos
- Tidak ada instruksi tersembunyi untuk modelLolos
- Tidak ada advisory kritis di paket maupun dependensinyaLolos
README
Lihat di GitHubwrit-mcp
The Writ gate as an MCP server. Give any MCP-compatible
agent point-of-action control: the agent calls Writ before a consequential
write, gets back ALLOW, DENY, or STEP_UP, and every outcome creates an
audit receipt.
Install
pip install writ-mcp
Requires Python 3.9+. Installs the writ-mcp command (stdio transport).
Configure
export WRIT_API_KEY="writ_..." # required; get one free: POST /v1/keys with an email
export WRIT_SPONSOR_TOKEN="..." # only for sponsor tools (grant, revoke, reinstate)
# export WRIT_BASE_URL="..." # default: https://api.withwrit.com
Add to your agent
Claude Code:
claude mcp add writ --env WRIT_API_KEY="$WRIT_API_KEY" -- writ-mcp
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"writ": {
"command": "writ-mcp",
"env": { "WRIT_API_KEY": "writ_..." }
}
}
}
Any MCP client (generic stdio config):
{
"command": "writ-mcp",
"env": {
"WRIT_API_KEY": "writ_...",
"WRIT_SPONSOR_TOKEN": "writ_sp_..."
}
}
Hermes (NousResearch/hermes-agent) catalog entry — once published, this
package is installable from the optional-mcps catalog:
hermes mcp install writ
The check-before-write loop
The tool descriptions teach the agent this flow, but the short version:
writ_check(sponsor_id, agent_id, verb, target, purpose)— before the write.ALLOW→ you get a 90-secondauthTokenbound to that exact write.writ_verify_token(auth_token, verb, target, purpose)— immediately before executing, to prove the authorization still matches what you're doing.DENY→ do not proceed.STEP_UP→ a human sponsor approves (viawrit_grantor the dashboard), then check again.
Tools
| Tool | Who | What |
|---|---|---|
writ_check |
agent | Decision + 90s purpose-bound token |
writ_verify_token |
agent | Point-of-action token verification |
writ_grant |
sponsor | Approve a STEP_UP (one-time grant) |
writ_revoke / writ_reinstate |
sponsor | Kill switch on/off for a principal |
writ_receipts |
agent | Audit trail of decisions |
writ_policy |
agent | Tenant verb policy |
writ_sandbox |
anyone | Free 90-second demo grant, no key needed |
writ_github_installations |
admin | List connected GitHub App installations |
writ_github_set_threshold |
admin | Set the check-run fail threshold per install |
writ_github_toggle_pr_comments |
admin | Enable/disable the PR-comment bot |
writ_manifests |
agent | List repos with risk profiles or fetch one manifest |
writ_explain_receipt |
agent | Explain a receipt in plain language |
writ_tenant_notify |
admin | Get or update step-up notification settings |
writ_principals |
admin | List the tenant's principals |
writ_verbs |
admin | List the tenant's verb vocabulary |
writ_keys |
admin | List API key metadata |
Try it with no key: writ_sandbox → writ_check with verb="demo_write".
Source
Public repo: withwrit/pywrit (mcp/
directory). License: MIT.
Directory listings: Glama ·
MCP Registry io.github.withwrit/writ.
Pertanyaan tentang Writ MCP
Bagaimana cara menambahkan Writ MCP ke Claude Code?
Jalankan claude mcp add --env WRIT_API_KEY=<YOUR_WRIT_API_KEY> --env WRIT_SPONSOR_TOKEN=<YOUR_WRIT_SPONSOR_TOKEN> writ -- uvx writ-mcp di terminal Anda. Tambahkan --scope user agar tersedia di semua proyek.
Bagaimana cara menambahkan Writ MCP ke Cursor?
Buka ~/.cursor/mcp.json dan tambahkan server di bawah mcpServers, menggunakan config Cursor yang ditunjukkan di bagian instalasi di atas.
Tool apa yang disediakan Writ MCP?
Server ini menyediakan 15 tool, termasuk writ_check, writ_verify_token, writ_grant, writ_receipts, writ_policy.
Bagaimana cara kerja loop check-before-write?
Agent memanggil writ_check untuk menerima keputusan ALLOW, DENY, atau STEP_UP; keputusan ALLOW akan memberikan authToken berdurasi 90 detik yang kemudian diverifikasi melalui writ_verify_token sebelum eksekusi dilakukan.
Bisakah saya mencoba Writ tanpa API key?
Ya, Anda dapat menggunakan tool writ_sandbox untuk mendapatkan demo gratis selama 90 detik tanpa memerlukan key.
Apa yang terjadi jika keputusan STEP_UP dikembalikan?
Seorang human sponsor harus menyetujui tindakan tersebut melalui writ_grant atau dashboard sebelum agent dapat melanjutkan.