Skip to main content
Glama

Server Details

Free e-signature for humans and AI agents - zero-document PDF signing from hashes only.

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 3.9/5 across 5 of 5 tools scored. Lowest: 3.1/5.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: creation of an envelope, retrieval of OTS proof, retrieval of full receipt, verification of audit chain integrity, and lookup by document hash. No overlap.

Naming Consistency5/5

All tool names follow a consistent 'verb_object' pattern with underscores (e.g., create_signing_envelope, get_ots_proof, verify_audit_chain). Verbs are clear and objects specific.

Tool Count5/5

With 5 tools, the server is well-scoped for its domain—envelope creation, evidence retrieval, and verification. No unnecessary tools and sufficient coverage for core operations.

Completeness4/5

The tool surface covers creation, evidence retrieval, and verification of audit chains and document hashes. A minor gap is the absence of a direct signature verification tool, but this is partially addressed by get_receipt providing signature data.

Available Tools

5 tools
create_signing_envelopeCreate signing envelopeAInspect

Create a FreeSign envelope from a PDF SHA-256 hash. Do not send PDF bytes. The created envelope is NOT yet session-bound — the browser that opens the returned signing_url generates an ECDSA P-256 keypair locally and POSTs the public JWK to /api/envelopes/{id}/session-bind before any protected request will succeed. AI agents calling this tool just hand the signing_url to a human, who continues in a browser.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_sha256YesSHA-256 of the original PDF bytes, computed locally by the user or agent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
expires_atYes
envelope_idYes
signing_urlYes
session_binding_requiredNoTrue when the envelope still needs the browser to call /api/envelopes/{id}/session-bind. Always true for MCP-created envelopes.
Behavior5/5

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

With no annotations provided, the description fully discloses the tool's behavior: the envelope requires a session-bind step, local ECDSA keypair generation, and a public JWK POST. It also clarifies that the AI only creates the envelope and passes the URL to a human. This transparency compensates for the absence of annotations.

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 concise, consisting of four sentences with no fluff. It front-loads the primary purpose and immediately follows with critical usage constraints. Every sentence adds necessary information.

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, no enums, output schema exists), the description covers all essential aspects: creation, input format, session-binding requirement, and human-in-the-loop flow. It is contextually complete for an AI agent to correctly invoke the tool.

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 input schema already provides full coverage with description and pattern for document_sha256. The description adds value by stating 'Do not send PDF bytes' and noting that the hash is computed locally, which clarifies usage beyond the schema's technical details.

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 verb 'create', the resource 'FreeSign envelope', and the input 'PDF SHA-256 hash'. It also explicitly instructs not to send PDF bytes, making the purpose unambiguous. The sibling tools are for verification and proof, so this tool's unique role is well-defined.

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

Usage Guidelines4/5

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

The description explains that the envelope is not session-bound and that AI agents should hand the signing_url to a human for browser-based completion. This provides clear usage guidance. However, it could explicitly state when not to use this tool (e.g., for direct signing without a human), though the sibling tools' purposes imply alternatives.

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

get_ots_proofGet OpenTimestamps proofAInspect

Return the .ots proof (base64) for a given OpenTimestamps anchor on an envelope. Use the official ots-cli to verify offline against Bitcoin block headers. Each seal has two anchors: kind: "byterange" commits to the signed document, kind: "signed_attrs" commits to SHA-256 of the CMS SignedAttributes (which carry the post-quantum key commitment).

ParametersJSON Schema
NameRequiredDescriptionDefault
anchor_idYes
envelope_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindNo
statusYes
anchor_idYes
envelope_idYes
proof_base64YesComplete .ots file bytes, base64.
anchored_hashYes
calendar_urlsNo
btc_block_hashNo
btc_block_heightNo
Behavior3/5

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

No annotations are provided, so the description must compensate. It explains the output format (base64 .ots proof) and the meaning of the two anchor kinds, but lacks details on error handling, idempotency, or authentication requirements.

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, front-loaded with purpose, no superfluous words. Every sentence adds value: purpose, verification recommendation, anchor context.

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

Completeness3/5

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

Has output schema, so return values are partially covered. Description adds context about anchor types and verification, but does not cover error situations, dependencies, or workflow integration with siblings. Given 0% param coverage, it is moderately complete.

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

Parameters2/5

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

Schema description coverage is 0%. The description does not explain what `envelope_id` and `anchor_id` represent directly, only indirectly references anchors. It mentions two anchor kinds but does not map them to the parameter pattern or required format.

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 returns the .ots proof (base64) for a given anchor on an envelope, specifying the two anchor kinds. It distinguishes from sibling tools by focusing on retrieving proof data, not creating envelopes or verifying documents.

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 advises using `ots-cli` to verify offline, which is a usage hint, but does not explicitly state when to use this tool vs siblings or when not to use it. No exclusions or alternatives mentioned.

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

get_receiptGet receiptAInspect

Return the envelope record (including final_pdf_sha256, final_signature_base64url, final_payload_json), per-signer signing receipts, and OpenTimestamps anchor metadata. Evidence only, never PDF bytes.

ParametersJSON Schema
NameRequiredDescriptionDefault
envelope_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
envelopeYes
receiptsYes
ots_anchorsYes
Behavior4/5

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

No annotations provided, but the description transparently states the tool returns specific structured data and clarifies it is evidence-only. It does not disclose side effects (which are likely none as a read operation), so behavior is well communicated.

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?

The description is concise at two sentences, but the first sentence lists multiple fields which could be restructured for readability. It front-loads the purpose well.

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 simple tool with one parameter and an output schema, the description covers the overall purpose, return content, and constraints. It is complete for a get-type tool, but lacks parameter details.

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

Parameters2/5

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

With 0% schema description coverage, the description does not describe the single parameter 'envelope_id'. The parameter name is self-explanatory, but the description should add meaning beyond the name, such as format constraints or how to obtain it.

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 it returns 'envelope record (including specific fields)', 'per-signer signing receipts', and 'OpenTimestamps anchor metadata', and explicitly says 'Evidence only, never PDF bytes'. This distinguishes it from sibling tools like verify_audit_chain or get_ots_proof.

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 for evidence retrieval via 'Evidence only, never PDF bytes', but does not explicitly state when to use this tool versus alternatives like get_ots_proof. No mention of prerequisites or when not to use.

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

verify_audit_chainVerify audit chainAInspect

Return an envelope's append-only audit-event hash chain together with a server-computed integrity verdict: every event_hash is recomputed from its canonical material, and the prev_event_hash linkage and per-envelope seq contiguity are checked. Evidence only, never PDF bytes. The raw events are included verbatim so the caller can independently re-derive the verdict instead of trusting chain.valid.

ParametersJSON Schema
NameRequiredDescriptionDefault
envelope_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYes
eventsYes
envelope_idYes
attested_audit_chain_head_hashYesThe audit-chain head derived from the signer-signed v2 final payload (G-01), fed into the verdict's head cross-check. NULL until the envelope is finalized.
attested_head_signature_verifiedYesTrue when the final-payload signature carrying the attested head was re-verified against the signer's on-file public key. False when not finalized or the signature did not verify.
Behavior5/5

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

With no annotations provided, the description fully discloses behavior: recomputing event_hash, checking prev_event_hash linkage and seq contiguity, and including raw events for independent verification. This gives the agent a complete understanding of the tool's internal logic.

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 only two sentences, front-loaded with the core function. Every sentence adds value without redundancy. The structure efficiently conveys purpose and unique characteristics.

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?

The tool has an output schema (not shown), so explaining return values is unnecessary. The description covers the verification checks and mentions raw event inclusion. It implicitly assumes the envelope exists, but this is reasonable for a verification tool.

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?

There is only one parameter (envelope_id) and schema coverage is 0%, but the description does not elaborate on the parameter beyond the schema's pattern. The purpose is clear from context, but adding explanation about the envelope_id format or source would improve semantics.

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 returns the audit-event hash chain and an integrity verdict for an envelope. It specifies the resource (envelope) and action (verify audit chain), distinguishing it from sibling tools like get_receipt or verify_document_hash.

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

Usage Guidelines4/5

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

The description explicitly states 'Evidence only, never PDF bytes,' guiding when to use this tool for integrity verification versus retrieving documents. However, it does not explicitly list when not to use it or name alternative tools.

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

verify_document_hashVerify document hashBInspect

Find FreeSign receipts matching a local document SHA-256 hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_sha256Yes

Output Schema

ParametersJSON Schema
NameRequiredDescription
matchesYes
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose whether the operation is read-only, what happens if no receipt is found, or error conditions. The output schema exists but is not referenced in description.

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?

Single sentence with no waste, but could include additional helpful context like typical use without being verbose. Efficient but slightly too terse.

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

Completeness3/5

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

Given the tool is simple with one parameter and an output schema, the description is adequate but lacks context about expected behavior, such as response format or error handling. It meets minimum viability.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds minimal meaning beyond the parameter name 'document_sha256' by mentioning 'local document SHA-256 hash'. It does not explain how to obtain the hash or any constraints.

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 verb 'Find' and the resource 'FreeSign receipts matching a local document SHA-256 hash'. It distinguishes from sibling tools like create_signing_envelope, get_ots_proof, get_receipt, and verify_audit_chain, which have different purposes.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, nor when not to use it. The description only implies usage for finding receipts by hash, lacking explicit context or exclusion criteria.

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!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources