Skip to main content
Glama

Server Details

Verify document authenticity for AI agents: detect tampering in PDFs and images with evidence.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: check_document for cache check, verify_document for inspection, get_warrant for retrieving results, and submit_feedback for feedback. No overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case: check_document, get_warrant, submit_feedback, verify_document.

Tool Count5/5

4 tools is well-scoped for a document verification service, covering the essential operations of cache checking, verification, result retrieval, and feedback.

Completeness5/5

The tool surface covers the full workflow: pre-check, verification, result fetch, and feedback. No obvious gaps for the stated purpose.

Available Tools

4 tools
check_documentAInspect

Cheap cache-check: has this exact document already been inspected? Hash the file yourself (sha256, lowercase hex) and call this before verify_document to skip a redundant (paid) inspection. Returns {cached, warrant_id, permalink}.

ParametersJSON Schema
NameRequiredDescriptionDefault
sha256Yes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries full burden. It states the tool is cheap and a cache-check (implying read-only), and explicitly lists the return fields {cached, warrant_id, permalink}. It does not disclose potential side effects or auth needs, but the read-only nature is strongly implied.

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?

Three sentences with zero waste: first states purpose, second gives usage instructions, third states return value. Information is front-loaded and every sentence is essential.

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

Completeness5/5

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

Given the tool's simplicity (one parameter, cache-check) and the presence of an output schema, the description covers purpose, usage parameter formatting, and return. No gaps remain for an agent to misuse the tool.

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

Parameters5/5

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

Schema description coverage is 0%, so the description compensates fully. It instructs the agent to hash the file with sha256 in lowercase hex, providing format and computation guidance that the schema lacks.

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

Purpose5/5

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

The description clearly states the tool is a cheap cache-check to see if a document has already been inspected, with a specific verb and resource. It distinguishes from sibling verify_document by positioning it as a preliminary step to avoid redundant paid inspection.

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

Usage Guidelines5/5

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

The description explicitly advises using this tool before verify_document to skip a redundant paid inspection, providing clear when-to-use context and a concrete alternative (verify_document) to avoid.

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

get_warrantAInspect

Retrieve a stored warrant by id (e.g. 'warrant_') — the full bundle as JSON, or a human-readable Markdown report when as_markdown=True.

ParametersJSON Schema
NameRequiredDescriptionDefault
warrant_idYes
as_markdownNo
Behavior3/5

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

With no annotations, the description carries the full burden. It indicates a read operation with two output formats but does not disclose error handling, side effects, or authorization needs. The behavior is implied but not fully transparent.

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?

The description is a single, well-structured sentence that front-loads the action and resource, then explains the output options. Every word contributes, with no redundancy or fluff.

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?

Given the lack of output schema and annotations, the description covers the essential inputs and outputs. It explains both parameters and the two result formats. However, it omits details on return structure and error scenarios, which would be needed for full completeness.

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

Parameters4/5

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

The schema has 0% description coverage, so the description must compensate. It explains the format for warrant_id ('warrant_<hex>') and the role of as_markdown (toggle for Markdown output). This adds meaningful context beyond the schema's bare structure.

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

Purpose5/5

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

The description clearly states the action ('Retrieve a stored warrant by id') and the resource ('warrant'), with distinct output formats (JSON or Markdown). It is specific and sets it apart from sibling tools like check_document, submit_feedback, and verify_document.

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 does not explicitly state when to use this tool versus alternatives or provide context on prerequisites or exclusions. It implicitly assumes use for retrieving a warrant by its ID, but lacks the depth to guide an agent in distinguishing it from sibling tools.

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

submit_feedbackAInspect

Record thumbs up/down on a warrant's rating (the engine's precision-flywheel label source). verdict must be 'up' or 'down'; note is optional free text.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
verdictYes
warrant_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations are present, so the description carries full burden. It accurately describes the tool's action and input constraints but does not disclose behavioral traits like side effects, idempotency, authentication needs, or whether existing feedback is overwritten. The description is adequate but lacks depth for a mutation tool.

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 sentences, front-loaded with the core action, followed by precise parameter constraints. No unnecessary words, highly efficient.

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?

Given no annotations and an output schema existing, the description covers the tool's purpose and required inputs well. However, it omits any mention of what the tool returns (even though output schema exists) and potential constraints like rate limits or preconditions. Slightly incomplete for a complete picture.

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

Parameters4/5

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

Schema description coverage is 0%, meaning the schema provides no parameter descriptions. The description adds meaning by clarifying verdict allowed values ('up' or 'down') and note's optionality. For warrant_id, it's implied by context. This compensates for the schema gap, though not all parameters get equal treatment.

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

Purpose5/5

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

The description clearly states the tool records thumbs up/down feedback on a warrant's rating, with specific reference to 'precision-flywheel label source'. This verb+resource combination distinguishes it from sibling tools (check_document, get_warrant, verify_document) which do not involve feedback submission.

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 provides parameter guidelines (verdict must be 'up' or 'down', note optional) but does not explicitly state when to use this tool versus alternatives. The context with siblings implies it is for submitting feedback after checking/verifying, but no direct comparison or when-not guidance is given.

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

verify_documentAInspect

Inspect a document (PDF or image) for authenticity signals: tampering / AI-generation indicators, arithmetic reconciliation (financial docs), and provenance.

Provide the document inline, base64-encoded, as `bytes_b64` (plus an optional `filename`
so the engine routes PDF vs image correctly). This hosted server runs remotely, so it can
NOT read a local path; to verify a local file or a URL without base64-encoding, use the
local stdio server (see the agent guide at /agents.md).

Returns the headline result — `risk_band` (low/medium/high/insufficient/error),
`inspection_quality` (coverage, orthogonal to risk), `recommended_action`, a `summary`, and
the RISK-axis `risk_findings`. This is a SIGNAL, not a fraud verdict — a human or agent
adjudicates. Use `get_warrant(warrant_id)` for the full evidence bundle. Identical bytes are
cached by content hash — call `check_document` first to skip a redundant, paid inspection.
ParametersJSON Schema
NameRequiredDescriptionDefault
freshNo
filenameNodocument.pdf
bytes_b64Yes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

Discloses key behaviors: caching by content hash, paid inspection nature, remote execution limitation, and that it returns a risk band and inspection quality. No annotations exist, so description carries full burden. Could be improved by stating it is read-only, but overall very transparent.

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

Conciseness4/5

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

Description is fairly concise given the amount of information conveyed. Structurally front-loads purpose, then input requirements, then output and notes. Could be slightly trimmed, but no wasted sentences.

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?

Given the tool's complexity (3 params, output schema present), the description covers purpose, input format, limitations, caching, and output summary. It does not detail every field of the output schema, but that is acceptable since an output schema exists. Minor gap: no explanation of the 'fresh' parameter.

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?

Description explains bytes_b64 and filename parameters well, but fails to mention the 'fresh' boolean parameter (default false). Schema description coverage is 0%, so description must compensate. While it adds meaning for two parameters, missing the third reduces completeness.

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

Purpose5/5

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

Clearly states the tool inspects documents for authenticity signals including tampering, AI-generation, arithmetic reconciliation, and provenance. Distinguishes from siblings check_document and get_warrant by explaining when to use each.

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

Usage Guidelines5/5

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

Explicit guidance on providing base64-encoded input, noting that remote server cannot read local paths and directs to local server for such cases. Recommends calling check_document first to avoid redundant paid inspection. Clarifies that output is a signal, not a verdict, requiring further adjudication.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources