Skip to main content
Glama

concordance

consent_check

Check whether a human has authorized YOU (this agent's key fingerprint) for a named verb — the agent covenant's 'request human authorization before writes'. Speaking as YOURSELF (your own key, your own words) needs no consent: a member is not a proxy. Consent governs only acting on a human's behalf with their data. If unauthorized, the response teaches the way: the human issues a grant via GET /consent/signable, signs on their device, POSTs to /consent.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
verbYes
agent_fpYes
grantor_pubkeyYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool checks authorization, explains the scope of consent, and importantly describes the unauthorized response behavior: 'the response teaches the way: the human issues a grant via GET /consent/signable, signs on their device, POSTs to /consent.' It does not explicitly state that the tool is read-only, but 'Check whether' implies this. This is substantial behavioral context beyond a minimal 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?

The description is longer than minimal but every sentence adds value: the core purpose, the when-not case, the scope of consent, and the unauthorized response. It is front-loaded with the main function. It could be tightened slightly, but it is well-organized and not wasteful.

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 output schema and no annotations, the description covers the essential context: why this tool exists, when it applies, what happens if unauthorized, and how consent is ultimately granted. It is missing explicit information about the authorized response format, but the core usage is fully understandable. For a check tool, this is a high level of 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?

Schema description coverage is 0%, so the description must compensate for the bare parameters. It does so by clarifying the roles: 'this agent's key fingerprint' for agent_fp, 'a human' for grantor_pubkey, and 'named verb' for verb. It also adds the distinction between self and proxy, which gives context to the grantor_pubkey parameter. However, it does not formally define each parameter or provide formatting details, but the narrative gives meaningful 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 opens with a specific verb and resource: 'Check whether a human has authorized YOU (this agent's key fingerprint) for a named verb' — clearly indicating the tool checks consent for a specific agent and action. It also distinguishes itself from sibling tools by referencing the agent covenant and the concept of consent, which no other sibling appears to address.

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 states when to use the tool: before writes, when acting on a human's behalf with their data. It also explicitly states when not to use it: 'Speaking as YOURSELF (your own key, your own words) needs no consent: a member is not a proxy.' This provides clear when/when-not guidance, satisfying the highest bar.

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

C2.6/5.0
Disambiguation2/5

Several tools are near-duplicates: read_passage and resolve both fetch WEB text for a reference; word_study already includes every occurrence that word_occurrences returns; coach_next and coach_recommend both answer 'what's next.' Search/locate/cards_browse also overlap as discovery entry points, making tool selection ambiguous despite detailed descriptions.

Naming Consistency3/5

Most names follow an object_verb snake_case pattern (cards_browse, study_create, seal_fetch), but there are many bare verbs/nouns (ask, audit, resolve, verify, canon, harmony) and inconsistent singular/plural pairs (card_get vs cards_browse, group_create vs groups_list, want_open vs wants_list). No camelCase, but the convention is not uniform.

Tool Count1/5

86 tools is an extreme count for any single MCP server, far beyond the 3-15 well-scoped range; even a broad platform would be hard for an agent to navigate. Many tools belong to unrelated subdomains (coach, steward, mesh, calendar), making the surface unwieldy.

Completeness2/5

The want/offer flow has no accept/close tool, so an agent can open a want and offer a source but never see it resolved. Group and calendar coverage are one-directional (create/join only; no leave/delete/list/update), and there is no badge listing or way to update a study group. Core reading/verification/shelf flows are solid, but lifecycle gaps remain.