Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ELLIOT_DIRNoWhere receipts and audit state are stored..elliot/ in the working directory
ELLIOT_ROLENoSet to `reviewer` for a separate reviewer-only MCP server process (or `auditor` for the auditor process).
GITHUB_TOKENNoUsed by `verify_github` for private repos and higher rate limits.
ELLIOT_SIGNER_IDNoHuman-readable signer label included in signed receipts. The label is not an identity proof by itself.public-key fingerprint
ELLIOT_GITHUB_APINoGitHub API base URL, for GitHub Enterprise or tests.https://api.github.com
ELLIOT_SIGNING_KEYNoPath to an Ed25519 PKCS#8 private key. When set, every saved receipt is signed. Keep it outside the repository.
ELLIOT_NPM_REGISTRYNoRegistry used by `verify_npm`.https://registry.npmjs.org
ELLIOT_REVIEW_TOKENNoEnables isolated review mode; configure the same non-empty secret on auditor and reviewer server processes.
ELLIOT_ALLOW_PRIVATE_URLSNoWhen set to 1, allows `verify_url` to reach loopback, private-network and link-local addresses.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
verify_urlA

Check that a URL (a deploy, a preview, a page) actually responds with the expected status and, optionally, contains expected text. Use before claiming something is deployed or live.

verify_outcomeA

Run a command and arguments in a disposable repository copy under the host OS sandbox. Writes stay in the copy, network is blocked, and VERIFIED requires exit code zero. For a shell pipeline use command bash with args ["-c", "..."]; Elliot adds set -o pipefail so a failing step is not hidden by the last one. Put every file the check needs in the repository: files elsewhere (such as /tmp scripts) do not exist inside the sandbox. If the OS sandbox cannot start, returns INCONCLUSIVE without running the command.

verify_attestationA

Verify an Ed25519-signed Elliot receipt and its digest. Returns valid=true only when the signature passes and an explicitly supplied public key matches; without one it reports cryptographic validity but marks signer identity untrusted.

verify_githubA

Check what GitHub actually says: whether a PR is merged, whether CI checks passed on a PR or commit, or whether a commit/branch was really pushed. Set GITHUB_TOKEN for private repos.

verify_npmA

Check the npm registry for a package and version. Use before claiming a package or release was published.

elliot_snapshotA

Fingerprint every tracked and untracked file in the git repository before starting a task, so verify_changes can later prove what really changed.

verify_changesA

Check whether files really changed, compared with a snapshot taken before the task (or with HEAD if no snapshot is given). Use before claiming code was fixed, cleaned, refactored or written.

elliot_reportA

Summarise recent receipts: how many claims were checked and how many held up. Show this to the user when they ask what the agent really did.

elliot_audit_startA

Start auditing whether this repository does what its README, docs and security/pricing pages say. Pins the commit, lists the files that make claims, and returns the protocol to follow.

elliot_record_claimA

Submit one claim with its verdict and evidence. Elliot checks that the claim's source quote is really in the docs at those lines, that every evidence quote is really in the code at those lines, and runs every 'absent' search itself. If anything does not check out the claim is rejected: fix the citation and submit again.

elliot_record_behaviorA

Record something risky the code does that the docs never mention (for example, it sends usage events, stores a key in plain text, or skips permission prompts) and no doc sentence promises otherwise. If a doc sentence does promise otherwise, use elliot_record_claim on that sentence instead. Never attach this to an unrelated sentence.

elliot_review_packetA

Returns only findings and checked evidence for review. Give it to a fresh reviewer process. With ELLIOT_REVIEW_TOKEN configured, the auditor endpoint cannot record review decisions; connect the reviewer only to a separate ELLIOT_ROLE=reviewer server.

elliot_record_reviewA

For the reviewer process: confirm, downgrade or reject one finding. In isolated mode provide the audit-scoped reviewer_token from the evidence packet. Confirm needs evidence you checked yourself (a code quote or an absent search); reject needs a code quote showing the claim holds. All evidence is checked against the files.

elliot_audit_finishA

Close the audit and write report.html, report.md and claims.json into elliot-report/-/ at the repository root.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 14 tools

Disambiguation4/5

Each verify_* tool targets a distinct verification source (URL, sandbox command, GitHub, npm, git diff, signed receipt), and the audit lifecycle tools (start / record_claim / record_behavior / record_review / finish) have clear distinct roles that the descriptions explicitly contrast. The only real confusion risks are elliot_record_claim vs elliot_record_behavior (both record evidence into an audit) and elliot_report vs elliot_audit_finish (both emit results), and the descriptions do enough to separate them. The auditor-vs-reviewer split adds cognitive load but is spelled out.

Naming Consistency3/5

There are two clearly separate naming families (verify_<target> and the elliot_ namespace), and the elliot_ family mixes structures: elliot_audit_start / elliot_record_claim (noun_verb) alongside elliot_snapshot and elliot_review_packet (no clear verb). Each family is internally readable, but the merged set does not follow a single predictable pattern, so an agent cannot infer a call from a name alone.

Tool Count4/5

14 tools is comfortably within a healthy range for a server that bundles two related capabilities (receipt-backed verification and a docs-vs-code audit protocol). Each tool maps to a real step in one of those workflows, with no obviously redundant tool, though elliot_report and elliot_audit_finish sit close enough that the count could be trimmed by one.

Completeness4/5

The surface covers the full verification lifecycle (snapshot → verify → attest → report) and the full audit lifecycle (start → record claims/behaviors → review → finish), which is strong end-to-end coverage. Gaps are modest: verification targets only cover npm and GitHub (no PyPI/Docker/registry equivalents, forcing agents into verify_outcome), and there is no tool to retrieve individual receipt contents, only an aggregate summary.

Maintenance

ActivityMaintained
ResponsivenessNo issues