Skip to main content
Glama

Vigil — an outside witness for AI agents

vigil_journal_get

Read-onlyIdempotent

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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYesJournal slot name, 1..64 ASCII letters, numbers, hyphens, or underscores.
vigil_keyNoDEPRECATED legacy account-wide credential, including deletion and permission issuance. Prefer the client-injected HTTP Authorization: Bearer header; omit this argument when that header authenticates the request. This is not a scoped agent token.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "slug": "encrypted-state"
      +  }
      +]
    • addedInput schema / properties / slug / description
      Added value: +"Journal slot name, 1..64 ASCII letters, numbers, hyphens, or underscores."
    • addedInput schema / properties / slug / maxLength
      Added value: +64
    • addedInput schema / properties / slug / minLength
      Added value: +1
    • addedInput schema / properties / slug / pattern
      Added value: +"^[A-Za-z0-9_-]{1,64}$"
    • addedInput schema / properties / vigil_key / deprecated
      Added value: +true
    • changedInput schema / properties / vigil_key / description
      Previous value: -"Legacy credential argument. Prefer the HTTP Authorization: Bearer header; omit this argument when that header authenticates the request."New value: +"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 the request. This is not a scoped agent token."
    • addedInput schema / properties / vigil_key / maxLength
      Added value: +256
    • addedInput schema / properties / vigil_key / minLength
      Added value: +1
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context: the return value is base64-encoded and must be decrypted client-side. This is exactly the kind of beyond-annotations disclosure that helps an agent handle the response correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler. The core action is front-loaded, and the critical return-format note is included without bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-by-slug tool with full schema coverage and safety annotations, the description is nearly complete. It could mention that the slug must exist or what happens on a miss, but the schema's pattern and the read-only annotations cover most of what an agent needs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds the fact that the blob is base64 and client-decrypted, which relates to the return value rather than the parameters. Baseline 3 is appropriate since the schema carries the parameter documentation burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Fetch') and resource ('journal blob by slug'), and the sibling list includes vigil_journal_list and vigil_journal_put, so the agent can distinguish this as the read-by-slug operation. It doesn't explicitly contrast with siblings, but the verb+resource is clear enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: call this when you need a journal blob by slug. It doesn't explicitly say when not to use it or mention alternatives like vigil_journal_list for enumeration. The sibling list provides context, but the description itself gives no routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources