Skip to main content
Glama

klaro.legal Document Explainer

Server Details

Explains contracts, letters and tax notices clause by clause in plain language. Not legal advice.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct roles: explain_document starts the analysis and get_explanation retrieves an already-running result by analysis_id. The descriptions explicitly cross-reference each other, so an agent cannot confuse which to call.

Naming Consistency5/5

Both names follow a clean verb_noun snake_case pattern (explain_document, get_explanation). The verbs differ appropriately to reflect start vs. fetch semantics while the convention stays predictable.

Tool Count4/5

Two tools is minimal, but the server has a single narrow purpose (explaining one document) and the async start/poll pattern legitimately requires both. Nothing feels redundant or padded for the stated scope.

Completeness4/5

The surface covers the full lifecycle of the one operation: initiate analysis and retrieve its async result. Minor gaps like cancel or list past analyses exist but are non-essential for the core workflow.

Available Tools

2 tools
explain_documentExplain a contract or official letterAInspect

Explains a contract, official letter, tax assessment or terms-and-conditions document in plain language, clause by clause. Send the full text of the document. Returns every relevant clause with the original wording, a plain language version and why it matters, plus a short summary. It explains what the document says — it does not give legal advice, does not review the document and does not recommend a course of action. Takes 20 to 60 seconds. If it is still running when this call returns, use get_explanation with the returned analysis_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe full text of the document to explain.
languageNoLanguage the explanation should be written in (ISO 639-1). Defaults to English. The document itself may be in any language.

TDQS

A4.6/5.0
Behavior5/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 so well: it discloses the async nature, the 20-60 second runtime, the handoff path via analysis_id, and the exact shape of the result (original wording, plain-language version, why it matters, plus a summary). It also declares hard scope boundaries (no legal advice, no review, no recommendations), which prevents misuse.

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?

Front-loaded with purpose, then input instruction, output shape, scope limits, and timing/routing – a logical order with no filler. The 'does not… does not… does not' triple is slightly repetitive but each clause closes a distinct misuse path, so the cost is low.

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?

There is no output schema, so the description must describe returns, and it does: clause-level original wording, plain-language rendering, rationale, and a summary. Combined with the async handoff and timing note, an agent has everything needed to call and follow up correctly.

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 parameters are already documented in the schema; baseline is 3. The description reinforces the required 'text' parameter ('Send the full text of the document') but adds no detail about the 'language' enum beyond what the schema states.

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 precise verb+resource (explains a document clause by clause) and enumerates the concrete document types it covers: contracts, official letters, tax assessments, terms-and-conditions. An agent can immediately tell this is a plain-language explanation tool rather than a summarizer or reviewer.

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?

Explicitly tells the agent what to send ('Send the full text of the document'), states negative scope ('does not give legal advice, does not review the document and does not recommend a course of action'), and routes to the sibling by name when the call is still running ('use get_explanation with the returned analysis_id'). This is complete when-to-use and when-to-defer guidance.

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

get_explanationFetch a running or finished explanationAInspect

Fetches the result of an explain_document call that was still running. Pass the analysis_id it returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
analysis_idYesThe analysis_id returned by explain_document.

TDQS

A3.7/5.0
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 usefully reveals the asynchronous retrieve-later pattern, but does not say what is returned if the explanation is not yet ready, whether repeated polling is expected, or any rate/expiry limits.

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 short sentences, zero filler, with the dependence on explain_document front-loaded. Nothing extraneous.

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?

For a single-parameter async-retrieval tool with no output schema and no annotations, the description is adequate but incomplete: it never indicates the shape of the returned explanation or what the caller should do when the result is unavailable.

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 coverage is 100% and the schema itself already documents analysis_id as 'returned by explain_document'; the description repeats this almost verbatim. Baseline 3 applies since the schema does the work.

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

Purpose4/5

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

States a specific verb (fetch) and resource (result of explain_document) and ties itself to its sole sibling, so an agent can tell it apart. The qualifier 'that was still running' slightly conflicts with the title's 'running or finished', leaving a small ambiguity about scope.

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?

It gives a clear triggering condition: use this after an explain_document call that was still running when it returned. It does not state what to do if the original call already completed, so the when-not case is left implicit.

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. 2 tool updates
    • First observedexplain_document
    • First observedget_explanation

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources