Обеспечивает проверку политик для операций записи ИИ-агентов с решениями ALLOW, DENY или STEP_UP и защищенным от подделки журналом аудита.
Также известен как withwrit/pywrit, writ-mcp
- Звёзды
- 2
- Инструменты
- 17
- Загрузки, 30 дней
- —
- Последняя версия
- 0.2.2
- Последний коммит
- 13 нояб. 2026 г.
- Лицензия
- MIT
Что такое Writ MCP?
Writ — это MCP server. Обеспечивает проверку политик для операций записи ИИ-агентов с решениями ALLOW, DENY или STEP_UP и защищенным от подделки журналом аудита. Он предоставляет 17 инструментов, например writ_check, writ_verify_token, writ_lease.
Сводка сгенерирована из README проекта
О Writ MCP server
Этот сервер позволяет контролировать критически важные действия ИИ-агентов через шлюз политик. Он предоставляет механизм, с помощью которого агенты могут запрашивать разрешение перед выполнением операций записи, получая такие решения, как ALLOW, DENY или STEP_UP. Этот процесс гарантирует, что каждое действие подтверждено защищенной от подделки аудиторской квитанцией для обеспечения безопасности и подотчетности.
Разработчики могут интегрировать этот сервер в Claude Desktop, Claude Code или любые другие MCP-клиенты, используя транспорт stdio. Для настройки сервера требуется WRIT_API_KEY и, опционально, WRIT_SPONSOR_TOKEN для управления разрешениями или их отзывом. Рабочий процесс использует специальные инструменты, такие как writ_check для получения 90-секундного authToken и writ_execute для выполнения ограниченного запроса с использованием одноразовой аренды (lease).
Помимо простой проверки разрешений, сервер включает административные инструменты для управления установками GitHub App, настройки пороговых значений и просмотра принципалов арендатора. Он также предлагает режим sandbox для тестирования без API key, позволяя любому желающему опробовать инструмент writ_check с демо-командой записи.
Что вы можете с ним делать
- 1Ограничение прав на записьПопросите агента проверить наличие разрешения перед изменением чувствительного файла или записи в базе данных.
- 2Требование одобрения человеком для рискованных задачДайте агенту инструкцию инициировать ручную проверку, если он столкнется с решением STEP_UP.
- 3Аудит истории решений агентаЗапросите сводку всех предыдущих решений по авторизации и их результатов.
- 4Безопасное выполнение ограниченных API-запросовПоручите агенту преобразовать токен авторизации в одноразовую аренду для выполнения конкретного вышестоящего запроса.
Взято из README проекта. Каждый вариант использования проверен на соответствие цитате из него.
Как установить Writ MCP
Форматы проверены 10 ноя 2026Установка Writ MCP в Claude Code
$ claude mcp add --env WRIT_API_KEY=<YOUR_WRIT_API_KEY> --env WRIT_SPONSOR_TOKEN=<YOUR_WRIT_SPONSOR_TOKEN> writ -- uvx writ-mcpУстановка Writ MCP в 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>"
}
}
}
}Установка Writ MCP в 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>"
}
}
}
}Установка Writ MCP в 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>"
}
}
}
}Установка Writ MCP в 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>"
Установка Writ MCP в 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>"
}
}
}
}Инструменты Writ MCP 17
Определено из READMEwrit_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 инструментовПоказать меньше инструментов
writ_explain_receiptwrit_tenant_notifywrit_principalswrit_verbswrit_keys
| writ_explain_receipt | — | |
| writ_tenant_notify | — | |
| writ_principals | — | |
| writ_verbs | — | |
| writ_keys | — |
Конфигурация
WRIT_API_KEYОбязательноСекретWrit API key (get one free at https://withwrit.com)
WRIT_SPONSOR_TOKENСекретWrit sponsor token, only required for sponsor tools (grant, revoke, reinstate)
WRIT_BASE_URLOptional custom Writ API base URL (default: https://api.withwrit.com)
| Название | Описание | Тип |
|---|---|---|
| WRIT_API_KEY | Writ API key (get one free at https://withwrit.com) | ОбязательноСекрет |
| WRIT_SPONSOR_TOKEN | Writ sponsor token, only required for sponsor tools (grant, revoke, reinstate) | Секрет |
| WRIT_BASE_URL | Optional custom Writ API base URL (default: https://api.withwrit.com) |
Автоматические проверки
Запущено 13 нояб. 2026 г.Полный отчёт →Прошло наши автоматизированные проверки. Это не аудит безопасности: изучите код и предоставьте серверу минимально необходимый доступ. Как работают проверки
- Связанный и доступный исходный репозиторийПройдено
- Open source лицензия (OSI)Пройдено
- Коммит или релиз за последний годПройдено
- Имя пакета не похоже на популярный пакетПройдено
- Удаленная конечная точка использует HTTPSНе проверялось
- Деструктивные инструменты помеченыПройдено
- Нет скрытых инструкций для моделиПройдено
- Нет критических уязвимостей в пакете и зависимостяхПройдено
README
Открыть на 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.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
Как добавить Writ MCP в Claude Code?
Выполните claude mcp add --env WRIT_API_KEY=<YOUR_WRIT_API_KEY> --env WRIT_SPONSOR_TOKEN=<YOUR_WRIT_SPONSOR_TOKEN> writ -- uvx writ-mcp в терминале. Добавьте --scope user, чтобы сервер был доступен во всех проектах.
Как добавить Writ MCP в Cursor?
Откройте ~/.cursor/mcp.json и добавьте сервер в mcpServers, используя конфигурацию Cursor из раздела установки выше.
Какие инструменты предоставляет Writ MCP?
Он предоставляет 17 инструментов, включая writ_check, writ_verify_token, writ_lease, writ_execute, writ_grant.
Каковы возможные результаты проверки записи?
Агент получает решение ALLOW, DENY или STEP_UP.
Как протестировать Writ без API key?
Вы можете использовать инструмент writ_sandbox для бесплатной 90-секундной демо-сессии.
Что происходит при решении STEP_UP?
Человек-спонсор должен одобрить действие через writ_grant или панель управления, прежде чем агент сможет продолжить.