Vigil — an outside witness for AI agents
Vigil: подписанные квитанции, аренда доступа и сторожевые проверки для AI-агентов
Что умеет
- Выпускать и проверять подписанные квитанции о событиях
- Выдавать, продлевать и отзывать временные права доступа агентов
- Настраивать сторожевые проверки с heartbeat и получать их статус
- Вести журнал записей и якорить их в цепочке
- Отзывать ключи и проверять цепочки квитанций
Какие данные видит
Сервер работает без авторизации и хранит только записи, которые ему передают через инструменты — квитанции, журналы, статусы аренды доступа.
Нужен ли аккаунт
Не нужен: сервер работает без входа
Vigil работает как независимый свидетель для действий AI-агентов. MCP-сервер выдаёт подписанные квитанции о событиях, ведёт журнал операций и следит за агентами через сторожевые проверки с heartbeat. Отдельно поддерживает выдачу и отзыв временных прав доступа (lease) с проверкой их статуса.
Как подключить
Как подключить Vigil — an outside witness for AI agents к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://vigilnotary.com/mcp
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить Vigil — an outside witness for AI agents к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://vigilnotary.com/mcp
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить Vigil — an outside witness for AI agents к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://vigilnotary.com/mcp
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (26)
Технические названия из tools/list. Нужны только разработчикам.
| vigil_info | Service description, the Ed25519 signing pubkey to verify receipts against, current chain head, and free-tier limits. No key required. |
| vigil_register | Create a key. Returns a bearer key shown ONCE — store it; it is your only identity. No email, no account. Starts on the free tier. Creates a persistent identity. The returned key grants full account control; provision it in a trusted client, not a model transcript. |
| vigil_pricing | The plans and per-tier limits (free, dev, pro). No key required. |
| vigil_usage | Your current tier, its limits, and how much you've used today. Requires your key. |
| vigil_notarize | Notarize work: POST the sha256 (64 hex chars) of anything and get back an Ed25519-signed, timestamped, hash-chained, serial-numbered receipt. Chain position orders submitted records; the timestamp is a signed assertion of Vigil's clock. Free tier: 10/day. Irreversibly publishes the digest, label and account handle in the public chain; no deletion tool exists. It proves signed-data integrity, not that an action happened or a claim is true. |
| vigil_get_receipt | Fetch a receipt by serial number. Public — anyone can read any receipt. |
| vigil_verify_receipt | Verify a receipt's hash and Ed25519 signature against a mandatory, independently pinned Ed25519 public key. The key must not come from the receipt being checked. Returns valid=false for tampering, forgery, a wrong signer, or malformed input. Read-only and local to Vigil. |
| vigil_chain | Read a range of receipts to audit chain continuity. Max 1000 per call. |
| vigil_set_watchdog | Arm a dead-man switch. Register an interval and an https webhook; then call vigil_heartbeat before each interval elapses. Miss one and Vigil attempts a signed 'absence' payload to your webhook, retrying failed delivery. Free tier: 1 watchdog. Overwrites an existing watchdog and resets its timer and delivery state. A missed heartbeat sends the supplied message to an external HTTPS recipient; failed delivery is capped at five attempts per armed interval. |
| vigil_heartbeat | 'Still alive.' Reset a watchdog's timer. Call this at least once per interval. Resets the deadline and delivery state, potentially suppressing an overdue alert or rearming delivery. |
| vigil_watchdog_status | Read a watchdog's state: interval, last beat, whether it is overdue, fired, or exhausted. |
| vigil_delete_watchdog | Remove a watchdog. Destructive: deletes its configuration and stops future alerts. No undo or restoration of the previous timer is provided. |
| vigil_grant_lease | Grant a short-lived, Ed25519-signed LEASE authorizing an agent to perform an action until it expires. A customer-run gateway verifies the lease offline (fail-closed) before letting the action through. This is the guard on a money/data-moving action. Free tier: 1 active lease (guarded agent). Security-sensitive: grants authority. Keep this account key outside the controlled agent. A signed lim string is enforced only by the customer's gateway. |
| vigil_renew_lease | Extend a lease with a fresh signed token and new expiry. Renewing is how a healthy agent keeps acting; stop renewing (or revoke) and it lapses. Security-sensitive: extends authority and refreshes the offline recheck window. Keep renewal credentials outside the controlled agent. |
| vigil_revoke_lease | Revoke a lease. A compliant v2 gateway refuses the old offline token at recheck_by_ms (at most 30 seconds after issue/renewal), or earlier if it polls revocation. Revocation is not instantaneous. Irreversible for this lease ID; it cannot be renewed again. Already admitted actions are not undone. |
| vigil_lease_status | Public status of a lease (active / expired / revoked). What a gateway polls for revocation. No key required. |
| vigil_verify_lease | Offline, FAIL-CLOSED check of a lease token against a mandatory, independently pinned Ed25519 public key. Returns allow=true only for a valid signature before expiry and recheck_by_ms. It does not authenticate the calling agent, enforce action/amount policy, or query live revocation; a customer gateway must do those checks before every provider action. Checks signature, expiry and the signed recheck deadline only. It does not check live revocation, agent identity, action, amount or gateway policy; those checks are mandatory at the gateway. |
| vigil_leases | List your leases and their states. |
| vigil_anchors | Public timestamp submissions to OpenTimestamps calendars. A submission is pending, not an independently verified Bitcoin confirmation. No key required. |
| vigil_anchor | PRO: anchor the current chain head to OpenTimestamps on demand (the chain is auto-anchored every few hours regardless). Sends the public chain-head digest to external OpenTimestamps calendars; submission is not verified Bitcoin confirmation. |
| vigil_journal_put | Store an opaque blob under a slug (overwrites). Encrypt client-side: the server stores exactly the bytes supplied and cannot enforce client encryption. Send bytes as base64. Free tier: 4 slots, 64KB each. Destructive when the slug exists: previous bytes are replaced with no version history or undo. |
| vigil_journal_get | Fetch a journal blob by slug. Returns base64 (decrypt client-side). |
| vigil_journal_list | List your journal slots (slug, size, last-updated). |
| vigil_journal_delete | Delete a journal slot. Destructive: removes stored bytes with no undo through the API. |
| vigil_revoke_key | Revoke your own key. It stops authenticating immediately. Irreversible. Irreversible: also revokes the account's leases and deletes its watchdogs. Private journal access is lost; public receipts remain. It does not cancel a Stripe subscription. |
| vigil_verify_source | Paid source-local verification with exact evidence and signed receipt. Does not establish absolute truth. Read price and payment requirements before authorizing; settlement spends USDC irreversibly and there is no automatic refund. Identical tool arguments alone are NOT idempotent: retry with the identical arguments, same vigil/idempotency-key metadata and original payment proof. |