Skip to main content
Glama

Server Details

Concierge MCP for agentic workflows: verified time + drift, uuid, diff, calc, attest, verify.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 16 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Server Listing
io.github.theoddden/stamp

TDQS

A4.1/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a distinct, non-overlapping purpose: attest creates records, verify checks them, and calculate/diff/generate_uuid/get_time are all clearly separate utilities. The attest/verify pair is complementary rather than ambiguous, with descriptions that make the create-vs-check boundary explicit.

Naming Consistency4/5

All names are lowercase snake_case with verb-led semantics. Three are simple verbs (attest, calculate, diff, verify) and two are verb_noun (generate_uuid, get_time); the pattern is predictable overall despite this minor mixed-length style.

Tool Count5/5

Six tools is well-scoped for a small integrity/utility server, and each one earns its place in the attest-then-verify workflow. No redundant or filler tools are present.

Completeness4/5

The core lifecycle (attest to create, verify to check, get_time for trust context, generate_uuid for IDs) is fully covered. Minor gaps exist such as no batch verification or record-listing, but the primary use case is complete.

Available Tools

6 tools
attestAInspect

Wrap any payload in a tamper-evident record: a UUID, a timestamp (NTP-verified when reachable, local clock otherwise -- the record says which), and a sha256 over the canonical record. One call, the record is complete and tamper-evident.

ParametersJSON Schema
NameRequiredDescriptionDefault
serverNoNTP server for the verified timestamptime.cloudflare.com
payloadYesAny JSON value to attest

TDQS

A4.3/5.0
Behavior5/5

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

No annotations are provided, so the description carries full responsibility. It discloses key behaviors: NTP-verified timestamp falls back to local clock when unreachable, the record indicates which was used, and a SHA256 is computed over the canonical record. This is transparent and informative.

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 and front-loaded with the core purpose. It repeats 'tamper-evident' twice, which is slightly redundant, but overall it is efficient and well-structured.

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 tool with two parameters, the description covers the essential purpose and behavior. It does not describe the output structure, but that is not required given the simplicity and the absence of an output schema. It is sufficiently complete for an agent to invoke correctly.

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 only provides names and basic descriptions. The tool description adds meaning by explaining 'payload' as 'any JSON value to attest' and 'server' as 'NTP server for the verified timestamp', clarifying their roles beyond the schema's minimal info.

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's function: wrapping a payload into a tamper-evident record with UUID, timestamp, and SHA256. It is specific and distinguishes from sibling tools like verify or generate_uuid by focusing on creation of the full record.

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 to create an attestation) but does not explicitly state when to use this tool versus alternatives (e.g., verify). It lacks explicit 'when to use' or 'when not to use' guidance, so it's adequate but not thorough.

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

calculateAInspect

Evaluate a math expression safely: + - * / // % **, parentheses, functions (abs round min max sqrt floor ceil exp log log2 log10 pow sin cos tan), constants pi e tau inf. Parsed to an AST and only whitelisted nodes are computed -- no eval(), no names, no arbitrary code.

ParametersJSON Schema
NameRequiredDescriptionDefault
expressionYese.g. "(1500 * 0.23) + 47"

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description carries full responsibility — and it delivers. It explicitly discloses the AST-based parsing, whitelisted-node computation, and the absence of eval(), names, and arbitrary code execution. This is exactly the kind of behavioral context an agent needs to trust the tool with unsanitized input, going well beyond what a typical description states.

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 with zero waste. The first front-loads purpose and supported features; the second delivers the safety model. Every clause earns its place, and the safety-critical detail is placed where it matters.

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?

Complete for a single-parameter calculator. The schema fully documents the expression parameter, the description enumerates the full supported language and safety semantics, and the return value (numeric result) is self-evident without an output schema. Nothing an agent needs to call it correctly is missing.

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 coverage is 100% with a concrete example, but the description adds real semantic value by specifying the valid grammar: operators, function names, and constants accepted inside the expression string. This effectively documents the expression language beyond what the schema's single example conveys.

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?

Clear verb+resource: 'Evaluate a math expression'. Enumerates supported operators, functions, and constants, leaving no doubt about scope. The sibling tools (diff, generate_uuid, get_drift, get_time) are entirely unrelated, so no differentiation burden exists — the purpose is unambiguous on its own.

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 clearly states its domain ('evaluate a math expression') and the supported grammar, which implicitly tells an agent when to reach for it. It stops short of explicit when-not-to-use exclusions, but with no relevant alternative among siblings (all unrelated utilities), explicit routing is unnecessary. The safety note further signals it's the right choice for untrusted input.

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

diffAInspect

Unified diff between two texts, with added/removed line counts. For reviewing edits, comparing outputs, or validating transformations.

ParametersJSON Schema
NameRequiredDescriptionDefault
text_aYesOriginal text
text_bYesRevised text
contextNoLines of context around each change

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It discloses that the tool produces a unified diff and reports line counts, and the pure-computation nature is implied. It does not mention return format details or edge cases, so it is adequate but not rich.

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: the first states the core function and output, the second lists use cases. There is no filler, and the most important information is front-loaded.

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 utility with fully documented parameters, the description plus schema cover what an agent needs to call it. There is no output schema, but 'unified diff' and line-count mention convey the return shape; minor details like exact output encoding are left unspecified.

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%, and the schema already documents text_a, text_b, and context. The description adds no parameter-level meaning beyond the schema, so the baseline 3 applies.

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 opens with a specific verb and resource: 'Unified diff between two texts' and adds the distinctive added/removed line counts. This clearly differentiates it from siblings like get_drift, which is about drift rather than text comparison.

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 second sentence gives concrete use cases: 'reviewing edits, comparing outputs, or validating transformations.' It does not explicitly list exclusions or alternative tools, but the context is clear enough for an agent to select it appropriately.

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

generate_uuidAInspect

Generate one or more random UUIDv4 identifiers -- for records, sessions, and IDs created in agent pipelines.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoHow many UUIDs to generate

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It explicitly discloses randomness and variable count, and implies a side-effect-free generation operation. For a simple generator this is adequate, though return shape is not specified.

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?

One sentence with zero waste; the action and resource are front-loaded, followed by useful context about intended use. The structure is efficient and scannable.

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 one-parameter tool with no output schema, the description adequately supports selection and invocation. The only notable gap is the exact return representation (single string vs array when count > 1), which is not specified anywhere.

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?

The schema already fully documents the count parameter with default, minimum, and maximum. The description adds only the phrase 'one or more,' which maps to the schema, so baseline 3 is appropriate for high schema coverage.

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?

States a specific verb (generate) and resource (random UUIDv4 identifiers), and adds intended uses (records, sessions, IDs). This is clearly distinct from sibling tools like calculate, diff, get_drift, and get_time.

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?

Gives explicit use cases for records, sessions, and IDs in agent pipelines, making selection obvious. It does not name alternatives or exclusions, but the sibling tools are unrelated enough that no further routing guidance is needed.

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

get_timeAInspect

Query an NTP server for current UTC time and this clock's offset. Appends the sample to the drift log and returns the trend inline: current offset, drift rate (ms/day), and whether the clock is stable, drifting, or accelerating.

ParametersJSON Schema
NameRequiredDescriptionDefault
serverNoNTP server to querytime.cloudflare.com
timezoneNoIANA timezone for a 'local' field, e.g. America/New_York. Optional -- the HTTP transport also takes ?tz= in the URL.

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose a stateful side effect ('appends the sample to the drift log') plus the shape of what comes back (offset, drift rate in ms/day, stability classification). It stops short of noting auth needs, rate limits on the NTP server, or whether repeated calls are idempotent.

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 tight sentences: the first gives the core action and its write side effect, the second enumerates the returned fields. No filler, and the primary purpose is front-loaded.

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?

There is no output schema, so the description rightly spends its second sentence enumerating return values (current offset, drift rate, stability state), and it flags the drift-log append that annotations would otherwise have covered. The only missing piece is operational context such as call frequency or failure behavior.

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 both the server and timezone parameters are already documented in the schema, including the default NTP host and the IANA timezone example. The description adds no parameter-level detail beyond that, so the baseline of 3 applies.

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?

States a specific verb and resource (query an NTP server for current UTC time and clock offset) and goes beyond a trivial getter by declaring the drift-log side effect and the returned trend fields. This makes it clearly distinguishable from siblings like attest, calculate, diff, generate_uuid, and verify.

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?

The description explains what the call returns but never says when to use it, when not to, or how it relates to any alternative (e.g., whether to poll repeatedly or how it complements attest/verify). Implied context is thin, so an agent has no routing guidance.

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

verifyAInspect

Check a record produced by attest: recompute the sha256 over the record and compare. Pass/fail -- did this payload produce this hash at this timestamp. Any modified field breaks it.

ParametersJSON Schema
NameRequiredDescriptionDefault
attestedYesThe record returned by attest

TDQS

A4.2/5.0
Behavior4/5

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

In the absence of annotations, the description provides useful behavioral details: it recomputes a hash, compares it, and indicates that any modified field breaks the check. It does not mention side effects, but the read-only nature is strongly implied by the verification context.

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 two sentences long, direct, and free of filler. It conveys all essential information efficiently, with clear structure and no redundant wording.

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 description covers the core behavior and outcome (pass/fail) but does not specify the exact return format or structure, which might be useful. However, given the simplicity of the tool and the lack of an output schema, it is sufficiently complete for typical use.

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?

The schema already fully describes the only parameter ('The record returned by attest'), so the description adds little extra semantic detail. It references the record and payload but does not provide additional specifics like format or examples, keeping it at the baseline for full schema coverage.

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's function: checking a record by recomputing a SHA256 hash and comparing it, with a pass/fail outcome. It also specifies the input source ('produced by attest'), making the purpose unambiguous.

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 implies usage when you have a record from attest and need to verify its integrity, but it does not explicitly contrast with alternative tools or state when not to use it. Still, the primary scenario is clear enough.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedattest
    • First observedcalculate
    • First observeddiff
    • First observedgenerate_uuid
    • First observedget_time
    • First observedverify

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources