# Vigil — an outside witness for AI agents (remote · vigilnotary.com)

Agent leases, signed receipts, watchdogs, and optional paid source-verification evidence.

- Trust score: 76/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-21

> **Recent critical change**: Authorization (2026-09-14). See the changelog below before you install this server.

## Components

- remote · `vigilnotary.com`: 76/100 (this document), [markdown](https://verifymcp.io/servers/com-vigilnotary-vigil/vigilnotary.md), [page](https://verifymcp.io/servers/com-vigilnotary-vigil/vigilnotary)

## Channel facts

- Endpoint: `https://vigilnotary.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-21.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (vigil_set_watchdog).
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 90/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2982 tokens (~114/item across 26 items; 26 tools + 0 resources), over budget; trim descriptions and params.
  - Tools include usage examples.
- **Stability & Change Management**: 49/100
  - Stability check failed: schema churn in the 16 days we've observed: 0 tool removals, 2 breaking changes, 0 auth/transport breaks, 0 additions.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 94% of tool parameters carry a description.
  - Structured output schemas are declared (4% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 27 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the Vigil — an outside witness for AI agents MCP server?

Vigil — an outside witness for AI agents is a hosted endpoint at https://vigilnotary.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-vigilnotary-vigil 'https://vigilnotary.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-vigilnotary-vigil": {
      "url": "https://vigilnotary.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-vigilnotary-vigil": {
      "type": "http",
      "url": "https://vigilnotary.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-vigilnotary-vigil]
url = "https://vigilnotary.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-vigilnotary-vigil": {
      "type": "remote",
      "url": "https://vigilnotary.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-vigilnotary-vigil --url 'https://vigilnotary.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-vigilnotary-vigil:
    url: "https://vigilnotary.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-vigilnotary-vigil": {
      "Transport": "http",
      "Url": "https://vigilnotary.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-vigilnotary-vigil -t streamable-http -u 'https://vigilnotary.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-vigilnotary-vigil": {
      "type": "http",
      "url": "https://vigilnotary.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-20 (score 76, +1)

No change was recorded against any check on this day. Stability & Change Management went from 42 to 46.

### 2026-09-18 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 36 to 39.

### 2026-09-16 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 29 to 32.

### 2026-09-14 (score 73, +4)

- [critical regression] Authorization: unverified → fail
- [security regression] Stability: 0.27 → fail
- [security regression] A breaking change shipped without a version bump: still 0.1-mvp
- [security] Tool “vigil_anchor” rewrote its description, which is the text the model reads
- [security] Tool “vigil_delete_watchdog” rewrote its description, which is the text the model reads
- [security] Tool “vigil_grant_lease” rewrote its description, which is the text the model reads
- [security] Tool “vigil_heartbeat” rewrote its description, which is the text the model reads
- [security] Tool “vigil_journal_delete” rewrote its description, which is the text the model reads
- [security] Tool “vigil_journal_put” rewrote its description, which is the text the model reads
- [security] Tool “vigil_notarize” rewrote its description, which is the text the model reads
- [security] Tool “vigil_register” rewrote its description, which is the text the model reads
- [security] Tool “vigil_renew_lease” rewrote its description, which is the text the model reads
- [security] Tool “vigil_revoke_key” rewrote its description, which is the text the model reads
- [security] Tool “vigil_revoke_lease” rewrote its description, which is the text the model reads
- [security] Tool “vigil_set_watchdog” rewrote its description, which is the text the model reads
- [security] Tool “vigil_verify_lease” rewrote its description, which is the text the model reads
- [security] Tool “vigil_verify_receipt” rewrote its description, which is the text the model reads
- [security] Tool “vigil_verify_source” rewrote its description, which is the text the model reads
- [security] Tool “vigil_delete_watchdog” is now declared destructive
- [security] Tool “vigil_grant_lease” is now declared destructive
- [security] Tool “vigil_heartbeat” is now declared destructive
- [security] Tool “vigil_journal_delete” is now declared destructive
- [security] Tool “vigil_journal_put” is now declared destructive
- [security] Tool “vigil_renew_lease” is now declared destructive
- [security] Tool “vigil_revoke_key” is now declared destructive
- [security] Tool “vigil_revoke_lease” is now declared destructive
- [security] Tool “vigil_set_watchdog” is now declared destructive
- [security] Tool “vigil_verify_source” is now declared destructive
- [functional regression] Schema quality: pass → fail
- [functional regression] “vigil_verify_lease” made “pubkey_hex” required, so existing callers break
- [functional regression] “vigil_verify_receipt” made “pubkey_hex” required, so existing callers break
- [functional improvement] Tool coverage: 73% → 94%
- [functional improvement] Schema quality: fail → pass
- [functional] Destructive annotations: All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
- [cosmetic] “vigil_anchor” reworded the description of “vigil_key”
- [cosmetic] “vigil_delete_watchdog” reworded the description of “name”
- [cosmetic] “vigil_delete_watchdog” reworded the description of “vigil_key”
- [cosmetic] “vigil_grant_lease” reworded the description of “vigil_key”
- [cosmetic] “vigil_heartbeat” reworded the description of “name”
- [cosmetic] “vigil_heartbeat” reworded the description of “vigil_key”
- [cosmetic] “vigil_journal_delete” reworded the description of “slug”
- [cosmetic] “vigil_journal_delete” reworded the description of “vigil_key”
- [cosmetic] “vigil_journal_get” reworded the description of “slug”
- [cosmetic] “vigil_journal_get” reworded the description of “vigil_key”
- [cosmetic] “vigil_journal_list” reworded the description of “vigil_key”
- [cosmetic] “vigil_journal_put” reworded the description of “vigil_key”
- [cosmetic] “vigil_lease_status” reworded the description of “lease_id”
- [cosmetic] “vigil_leases” reworded the description of “vigil_key”
- [cosmetic] “vigil_notarize” reworded the description of “vigil_key”
- [cosmetic] “vigil_renew_lease” reworded the description of “lease_id”
- [cosmetic] “vigil_renew_lease” reworded the description of “ttl_s”
- [cosmetic] “vigil_renew_lease” reworded the description of “vigil_key”
- [cosmetic] “vigil_revoke_key” reworded the description of “vigil_key”
- [cosmetic] “vigil_revoke_lease” reworded the description of “lease_id”
- [cosmetic] “vigil_revoke_lease” reworded the description of “vigil_key”
- [cosmetic] “vigil_set_watchdog” reworded the description of “vigil_key”
- [cosmetic] “vigil_usage” reworded the description of “vigil_key”
- [cosmetic] “vigil_verify_lease” reworded the description of “pubkey_hex”
- [cosmetic] “vigil_verify_receipt” reworded the description of “pubkey_hex”
- [cosmetic] “vigil_watchdog_status” reworded the description of “name”
- [cosmetic] “vigil_watchdog_status” reworded the description of “vigil_key”

### 2026-09-13 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-11 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-09 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-07 (score 66, +1)

- [security] Tool “vigil_revoke_lease” rewrote its description, which is the text the model reads

## MCP tools (26)

### `vigil_info` (~36 tokens)

Service description, the Ed25519 signing pubkey to verify receipts against, current chain head, and free-tier limits. No key required.

### `vigil_register` (~86 tokens)

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.

Input parameters:

- `handle` (string, required): 1-64 chars, lowercase alnum plus - and _.

### `vigil_pricing` (~26 tokens)

The plans and per-tier limits (free, dev, pro). No key required.

### `vigil_usage` (~77 tokens)

Your current tier, its limits, and how much you've used today. Requires your key.

Input parameters:

- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_notarize` (~209 tokens)

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.

Input parameters:

- `label` (string): Optional human label, <=200 chars. Public — do not put secrets here.
- `subject_sha256` (string, required): 64 lowercase hex chars: the sha256 of the thing you are notarizing.
- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_get_receipt` (~36 tokens)

Fetch a receipt by serial number. Public — anyone can read any receipt.

Input parameters:

- `serial` (integer, required): The receipt serial number.

### `vigil_verify_receipt` (~121 tokens)

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.

Input parameters:

- `pubkey_hex` (string, required): Mandatory Ed25519 public key pinned from a trusted out-of-band source; never copy it from the receipt.
- `receipt` (object, required): A full receipt object as returned by vigil_notarize / vigil_get_receipt.

### `vigil_chain` (~54 tokens)

Read a range of receipts to audit chain continuity. Max 1000 per call.

Input parameters:

- `from_serial` (integer): First serial (default 1).
- `to_serial` (integer): Last serial (default = from_serial).

### `vigil_set_watchdog` (~229 tokens)

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.

Input parameters:

- `interval_s` (integer, required): Seconds allowed between heartbeats, 60..604800.
- `message` (string): Optional note included in the absence payload, <=2000 chars.
- `name` (string, required): A name for this watchdog, 1-64 chars.
- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…
- `webhook_url` (string, required): An https URL resolving to a public address; fired once on a missed heartbeat.

### `vigil_heartbeat` (~113 tokens)

'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.

Input parameters:

- `name` (string, required): Watchdog name, 1..64 characters.
- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_watchdog_status` (~98 tokens)

Read a watchdog's state: interval, last beat, whether it is overdue, fired, or exhausted.

Input parameters:

- `name` (string, required): Watchdog name, 1..64 characters.
- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_delete_watchdog` (~103 tokens)

Remove a watchdog. Destructive: deletes its configuration and stops future alerts. No undo or restoration of the previous timer is provided.

Input parameters:

- `name` (string, required): Watchdog name, 1..64 characters.
- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_grant_lease` (~250 tokens)

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.

Input parameters:

- `action` (string, required): The action class this lease authorizes, e.g. 'stripe.refund' (1-128 chars).
- `agent` (string, required): Identifier for the agent being authorized (1-128 chars).
- `lim` (string): Optional limit string the gateway enforces, e.g. 'amount<=50usd'.
- `ttl_s` (integer, required): Lease lifetime in seconds, 5..604800. Keep it short; renew to extend.
- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_renew_lease` (~169 tokens)

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.

Input parameters:

- `lease_id` (string, required): Opaque lease identifier returned by vigil_grant_lease.
- `ttl_s` (integer, required): Requested lease lifetime in seconds, 5..604800; offline trust still ends at recheck_by_ms within 30 seconds.
- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_revoke_lease` (~148 tokens)

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.

Input parameters:

- `lease_id` (string, required): Opaque lease identifier returned by vigil_grant_lease.
- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_lease_status` (~53 tokens)

Public status of a lease (active / expired / revoked). What a gateway polls for revocation. No key required.

Input parameters:

- `lease_id` (string, required): Opaque lease identifier returned by vigil_grant_lease.

### `vigil_verify_lease` (~165 tokens)

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.

Input parameters:

- `lease` (object, required): A full lease token from vigil_grant_lease.
- `pubkey_hex` (string, required): Mandatory Ed25519 public key pinned from a trusted out-of-band source; never copy it from the lease.

### `vigil_leases` (~67 tokens)

List your leases and their states.

Input parameters:

- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_anchors` (~34 tokens)

Public timestamp submissions to OpenTimestamps calendars. A submission is pending, not an independently verified Bitcoin confirmation. No key required.

### `vigil_anchor` (~105 tokens)

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.

Input parameters:

- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_journal_put` (~162 tokens)

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.

Input parameters:

- `data_base64` (string, required): The (already-encrypted) bytes, base64-encoded.
- `slug` (string, required): 1-64 alnum/-/_ chars.
- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_journal_get` (~102 tokens)

Fetch a journal blob by slug. Returns base64 (decrypt client-side).

Input parameters:

- `slug` (string, required): Journal slot name, 1..64 ASCII letters, numbers, hyphens, or underscores.
- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_journal_list` (~74 tokens)

List your journal slots (slug, size, last-updated).

Input parameters:

- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_journal_delete` (~105 tokens)

Delete a journal slot. Destructive: removes stored bytes with no undo through the API.

Input parameters:

- `slug` (string, required): Journal slot name, 1..64 ASCII letters, numbers, hyphens, or underscores.
- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_revoke_key` (~112 tokens)

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.

Input parameters:

- `vigil_key` (string): DEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates…

### `vigil_verify_source` (~100 tokens)

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.

Input parameters:

- `claim` (string, required)
- `options` (object)
- `source_url` (string, required)

Output parameters:

- `assessment_scope`
- `cache` (object)
- `checked_at` (string)
- `claim` (string)
- `claim_support`
- `confidence` (null): No numerical confidence is published before calibration.
- `evidence` (array)
- `explanation` (string)
- `limits` (object)
- `methodology_version` (string)
- `payment` (object): USDC uses six atomic decimals. Offline mock payments simulate USDC and move no funds. Null fees are unknown, not zero.
- `reachable`
- `receipt` (object): Pin Vigil's key independently. Verify the Ed25519 attestation, SHA256 of canonical envelope bytes, and SHA256 of the result with receipt removed. Schema validation alone does not authenticate a recei…
- `request_id` (string)
- `risk_flags` (array)
- `schema_version`
- `served_at` (string)
- `source` (object)
- `source_identity` (object)
- `status`
- `verification_type`

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-vigilnotary-vigil/vigilnotary#diagnostics

## Score history

- 2026-09-21: 76
- 2026-09-20: 76
- 2026-09-19: 75
- 2026-09-18: 75
- 2026-09-17: 74
- 2026-09-16: 74
- 2026-09-15: 73
- 2026-09-14: 73
- 2026-09-13: 69
- 2026-09-12: 68
- 2026-09-11: 68
- 2026-09-10: 67
- 2026-09-09: 67
- 2026-09-08: 66
- 2026-09-07: 66
- 2026-09-06: 65
- 2026-09-05: 65

## Common questions

### What is the Vigil — an outside witness for AI agents MCP server?

Vigil — an outside witness for AI agents is an MCP server listed in the public MCP registry as com.vigilnotary/vigil. Agent leases, signed receipts, watchdogs, and optional paid source-verification evidence. This page covers its hosted endpoint (https://vigilnotary.com/mcp).

### Is the Vigil — an outside witness for AI agents MCP server safe to use?

Vigil — an outside witness for AI agents scores 76 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Vigil — an outside witness for AI agents MCP server expose?

Vigil — an outside witness for AI agents exposes 26 tools: vigil_info, vigil_register, vigil_pricing, vigil_usage, vigil_notarize, and 21 more. Their descriptions and schemas cost roughly 2,834 tokens of context every time the server is loaded.

### Does the Vigil — an outside witness for AI agents MCP server require authentication?

No. We connected to Vigil — an outside witness for AI agents without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Vigil — an outside witness for AI agents MCP server still maintained?

Vigil — an outside witness for AI agents is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://vigilnotary.com/mcp
- Website: https://vigilnotary.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-vigilnotary-vigil/vigilnotary.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-vigilnotary-vigil/vigilnotary.json
- HTML version of this page: https://verifymcp.io/servers/com-vigilnotary-vigil/vigilnotary
