AI agent yazma işlemleri için ALLOW, DENY veya STEP_UP kararlarıyla politika kontrolleri uygular ve müdahale edilemez bir denetim günlüğü sunar.
Ayrıca bilinen adı withwrit/pywrit, writ-mcp
- Yıldızlar
- 2
- Araçlar
- 17
- İndirmeler, 30 gün
- —
- En son sürüm
- 0.2.2
- Son commit
- 13 Kas 2026
- Lisans
- MIT
Writ MCP nedir?
Writ bir MCP sunucusudur. AI agent yazma işlemleri için ALLOW, DENY veya STEP_UP kararlarıyla politika kontrolleri uygular ve müdahale edilemez bir denetim günlüğü sunar. 17 araç sunar; örneğin writ_check, writ_verify_token, writ_lease.
Özet, projenin README dosyasından oluşturuldu
Writ MCP sunucusu hakkında
Bu server, kritik eylemlerin AI agent'lar tarafından bir politika kapısı aracılığıyla kontrol edilmesini sağlar. Agent'ların yazma işlemi yapmadan önce izin istemeleri için bir mekanizma sunarak ALLOW, DENY veya STEP_UP gibi kararlar almalarına olanak tanır. Bu süreç, her eylemin güvenlik ve hesap verebilirlik için müdahale edilemez bir denetim makbuzuyla desteklenmesini sağlar.
Developerlar, bu yapıyı stdio transport kullanarak Claude Desktop, Claude Code veya genel MCP client'larına entegre edebilirler. Server kurulumu için bir WRIT_API_KEY ve isteğe bağlı olarak yetki yönetimi veya iptalleri için bir WRIT_SPONSOR_TOKEN gereklidir. İş akışı, 90 saniyelik bir authToken almak için writ_check ve tek kullanımlık bir kiralama (lease) ile kısıtlanmış isteği gerçekleştirmek için writ_execute gibi özel araçları kullanır.
Basit izin kontrollerinin ötesinde server; GitHub App kurulumlarını yönetmek, eşik değerleri belirlemek ve tenant principal'larını görüntülemek için yönetim araçları içerir. API anahtarı olmadan test yapabilmek için bir sandbox modu sunarak herkesin bir demo yazma fiili ile writ_check aracını denemesine imkan tanır.
Neler yapabilirsiniz
- 1Kısıtlanmış yazma izinlerini uygulaHassas bir dosyayı veya veritabanı kaydını değiştirmeden önce agent'tan izin kontrolü yapmasını isteyin.
- 2Riskli görevler için insan onayı gerektirAgent'a, bir STEP_UP kararıyla karşılaştığında manuel inceleme başlatması talimatını verin.
- 3Agent karar geçmişini denetleTüm önceki yetkilendirme kararlarının ve sonuçlarının bir özetini isteyin.
- 4Kısıtlanmış API isteklerini güvenli bir şekilde yürütAgent'ın, belirli bir upstream isteğini gerçekleştirmek için bir yetkilendirme token'ını tek kullanımlık bir kiralama (lease) işlemine dönüştürmesini sağlayın.
Projenin README dosyasından alınmıştır. Her kullanım durumu, oradaki bir alıntı ile kontrol edilir.
Writ MCP nasıl yüklenir
Biçimler 10 Kas 2026 tarihinde doğrulandıWrit MCP'yi Claude Code içine yükleyin
$ claude mcp add --env WRIT_API_KEY=<YOUR_WRIT_API_KEY> --env WRIT_SPONSOR_TOKEN=<YOUR_WRIT_SPONSOR_TOKEN> writ -- uvx writ-mcpWrit MCP'yi Cursor içine yükleyin
~/.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>"
}
}
}
}Writ MCP'yi VS Code içine yükleyin
.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>"
}
}
}
}Writ MCP'yi Claude Desktop içine yükleyin
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>"
}
}
}
}Writ MCP'yi Codex içine yükleyin
~/.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>"
Writ MCP'yi Gemini CLI içine yükleyin
~/.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>"
}
}
}
}Writ MCP araçları 17
README dosyasından algılandıwrit_checkwrit_verify_tokenwrit_leasewrit_executewrit_grantwrit_receiptswrit_policywrit_sandboxwrit_github_installationswrit_github_set_thresholdwrit_github_toggle_pr_commentswrit_manifests
| writ_check | — | |
| writ_verify_token | — | |
| writ_lease | — | |
| writ_execute | — | |
| writ_grant | — | |
| writ_receipts | — | |
| writ_policy | — | |
| writ_sandbox | — | |
| writ_github_installations | — | |
| writ_github_set_threshold | — | |
| writ_github_toggle_pr_comments | — | |
| writ_manifests | — |
17 aracın tümünü gösterDaha az araç göster
writ_explain_receiptwrit_tenant_notifywrit_principalswrit_verbswrit_keys
| writ_explain_receipt | — | |
| writ_tenant_notify | — | |
| writ_principals | — | |
| writ_verbs | — | |
| writ_keys | — |
Yapılandırma
WRIT_API_KEYGerekliGizliWrit API key (get one free at https://withwrit.com)
WRIT_SPONSOR_TOKENGizliWrit sponsor token, only required for sponsor tools (grant, revoke, reinstate)
WRIT_BASE_URLOptional custom Writ API base URL (default: https://api.withwrit.com)
| Ad | Açıklama | Sunucu |
|---|---|---|
| WRIT_API_KEY | Writ API key (get one free at https://withwrit.com) | GerekliGizli |
| WRIT_SPONSOR_TOKEN | Writ sponsor token, only required for sponsor tools (grant, revoke, reinstate) | Gizli |
| WRIT_BASE_URL | Optional custom Writ API base URL (default: https://api.withwrit.com) |
Otomatik kontroller
Çalıştırıldı 13 Kas 2026Tam rapor →Otomatik kontrollerimizden geçti. Bu bir güvenlik denetimi değildir: kodu okuyun ve sunucuya ihtiyaç duyduğu en dar erişimi verin. Kontroller nasıl çalışır
- Kaynak deposu bağlantılı ve erişilebilirGeçti
- Açık kaynak lisansı (OSI)Geçti
- Son bir yıl içinde commit veya sürüm mevcutGeçti
- Paket adı popüler bir pakete yakın değilGeçti
- Uzak uç nokta HTTPS kullanıyorKontrol edilmedi
- Yıkıcı araçlar etiketlenmişGeçti
- Modele yönelik gizli talimat yokGeçti
- Pakette ve bağımlılıklarında kritik uyarı yokGeçti
writ-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.writ_lease(auth_token, system_id, method, path, body)- convert the ALLOW token into a single-use lease bound to the exact upstream request.writ_execute(lease_id, method, path, body)- run the gated write with the same method/path/body; the gate forwards it with the vaulted credential and returns the upstream response verbatim.
Tools
| Tool | Who | What |
|---|---|---|
writ_check |
agent | Decision + 90s purpose-bound token |
writ_verify_token |
agent | Point-of-action token verification |
writ_lease |
agent | Convert an ALLOW token into a single-use gated-execution lease |
writ_execute |
agent | Run one gated upstream request with a lease or ALLOW token |
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.
Writ MCP soruları
Writ MCP'yi Claude Code'a nasıl eklerim?
Terminalinizde claude mcp add --env WRIT_API_KEY=<YOUR_WRIT_API_KEY> --env WRIT_SPONSOR_TOKEN=<YOUR_WRIT_SPONSOR_TOKEN> writ -- uvx writ-mcp komutunu çalıştırın. Her projede kullanılabilir olması için --scope user ekleyin.
Writ MCP'yi Cursor'a nasıl eklerim?
~/.cursor/mcp.json dosyasını açın ve yukarıdaki yükleme bölümünde gösterilen Cursor yapılandırmasını kullanarak sunucuyu mcpServers altına ekleyin.
Writ MCP hangi araçları sunar?
17 araç sunar; bunlar arasında writ_check, writ_verify_token, writ_lease, writ_execute, writ_grant yer alır.
Yazma kontrolünün olası sonuçları nelerdir?
Agent; ALLOW, DENY veya STEP_UP kararı alır.
API anahtarı olmadan Writ nasıl test edebilirim?
90 saniyelik ücretsiz bir demo yetkisi için writ_sandbox aracını kullanabilirsiniz.
STEP_UP kararı sırasında ne olur?
Agent işleme devam etmeden önce, bir insan sponsorun writ_grant veya dashboard üzerinden işlemi onaylaması gerekir.