Skip to main content
Glama

freeq

Verify a message's signature

freeq_verify
Read-only

Check who signed a message. signed_by: "author" is non-repudiable — the author's own key signed those bytes. signed_by: "server" proves relay only, NOT authorship. Call this before quoting anyone as having said something; do not present a server-relayed message as author-signed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
msgidYesULID message id.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
didNoDID whose key signed.
msgidNo
verifiedYesWhether the signature checks out.
signed_byNo"author" is non-repudiable. "server" proves relay only, NOT authorship.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

The description adds meaningful behavioral context beyond the readOnlyHint annotation by explaining the semantic difference between signed_by 'author' and 'server,' including the non-repudiation property and the limitation of relay-only proofs. This helps the agent reason about the trustworthiness of the result.

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 compact and well-structured, leading with the core purpose, then explaining the critical semantic distinction, and ending with actionable guidance. Every sentence adds value with no redundancy.

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?

For a single-parameter tool with an output schema and read-only annotations, the description is complete. It covers what the tool does, when to use it, what the signed_by values mean, and how to avoid misrepresenting results.

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 input schema already documents the single msgid parameter as a ULID message id, so schema coverage is 100%. The description does not add parameter-specific syntax or format details, but it does not need to because the schema fully covers the parameter meaning.

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: 'Check who signed a message.' It clearly distinguishes the tool's purpose from the sibling tools, which are about channels, history, pins, and search, none of which address signature verification.

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?

It explicitly says when to call the tool: 'Call this before quoting anyone as having said something.' It also provides a clear exclusion by warning not to present a server-relayed message as author-signed, giving the agent actionable usage context.

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.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a clearly distinct operation: channel discovery, message history, pinned context, full-text search, and signature verification. Even search and history, which both deal with messages, are separated cleanly by use case: querying versus paging.

Naming Consistency4/5

All tools share a consistent lowercase `freeq_` prefix, making them easy to group. The minor deviation is that most names are resource nouns (`channels`, `history`, `pins`, `search`) while `verify` is an action verb, but the pattern remains predictable.

Tool Count5/5

Five tools is a well-scoped set for a focused read-only server: discover channels, read messages, read pins, search, and verify authorship. Each tool has a distinct purpose and none feel redundant or extraneous.

Completeness5/5

The tool surface covers the full intended workflow: finding a channel, reading its current context via pins, paging through history, searching for specific content, and verifying message authorship. No critical dead ends or obvious missing read operations are apparent for this domain.