Skip to main content
Glama

Server Details

Privacy law your AI assistant can cite: the exact clause, its key and its version. GDPR and the UAE PDPL today, more as packs. No sign-in.

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.2/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct role: list_documents lists laws, get_document provides a document outline, get_clause reads a specific clause, and search_policies finds relevant clauses. The descriptions reinforce the workflow boundaries, so an agent can easily tell when to use each tool.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: list_documents, get_document, get_clause, search_policies. There are no mixed conventions or vague names.

Tool Count5/5

Four tools is well-scoped for a legal document retrieval server. Each tool has a clear purpose and none appears redundant or superficial.

Completeness4/5

The surface covers the core lifecycle: listing available laws, inspecting a document outline, reading a specific clause, and searching policy text. A minor gap is the lack of a direct full-document text retrieval or clause-listing operation, but the existing tools support the intended citation workflow.

Available Tools

4 tools
get_clauseRead one clauseA
Read-only
Inspect

Read one clause by its key, with where it sits and what sits beneath it.

Use it when a search result points at another clause, or when you need the whole of an article rather than the part that matched. The call is recorded, with the key that was read rather than a question.

NameRequiredDescriptionDefault
keyYesA canonical key, such as gdpr:art-17:para-1
langNoWhich language to prefer, as a two letter codeen
as_ofNoRead the clause as it stood on this date
whole_subtreeNoAlso return this clause and everything beneath it in reading order, which is what you want for a whole article

Output Schema

NameRequiredDescription
nowNoFor a policy's clause read in a version that is no longer in force, where the same rule is in the version in force. A policy's keys follow its printed numbers, so the rule may have another key now
clauseYes
subtreeNoThis clause and everything beneath it in reading order, when asked for
childrenYesThe clauses directly beneath this one
formerlyNoSet when this key named a different rule in the policy's version before
cross_referencesYesKeys this clause's own words point at

TDQS

A3.9/5.0
Behavior4/5

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

Beyond readOnlyHint/openWorldHint, the description discloses that the response includes structural context (parent and children) and that the call is audited/recorded with the key rather than a question. Audit logging and result shape are behaviour the annotations cannot convey, though nothing is said about language fallback or as-of resolution.

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?

Three short sentences, front-loaded with the core action and scoping. The phrase 'where it sits and what sits beneath it' is slightly literary but earns its place by describing the hierarchy in the result.

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?

An output schema exists so return values needn't be spelled out, and annotations carry the safety profile; the description usefully adds the audit-recording note and the article-vs-fragment distinction. Only minor gaps remain around language fallback and as-of semantics.

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 each parameter (key, lang, as_of, whole_subtree) is already documented in the schema. The description gestures at 'whole of an article', which maps to whole_subtree, but adds no format or fallback detail beyond the schema's own text, so the baseline 3 applies.

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 and resource ('Read one clause by its key') and hints at the returned shape ('where it sits and what sits beneath it'). It never names the sibling tools (get_document, search_policies), so differentiation is inferred rather than explicit.

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 concrete triggers: when a search result points at another clause, or when you need the whole of an article rather than the matched part. That is clear context but there are no explicit exclusions or named alternatives, so the agent must infer that search_policies is for discovery.

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

get_documentRead one document's outlineA
Read-only
Inspect

Read one document and its top level structure, without the text.

The outline is where to find a clause key when you know roughly where to look. Read the words with get_clause. The call is recorded.

NameRequiredDescriptionDefault
slugYesThe document's slug, such as gdpr
as_ofNoRead the document as it stood on this date

Output Schema

NameRequiredDescription
outlineYes
documentYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish that this is a safe read-only, non-open-world call. The description adds useful behavioral context: the outline excludes document text and the call is recorded, which is relevant audit information not captured by the 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 short and front-loaded: it states what is returned, how it relates to clause lookup, and the logging behavior. Every sentence carries useful information without repetition.

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?

With annotations covering safety, schema coverage at 100%, and an output schema present, the description provides enough context for correct invocation. It explains the outline's purpose and points to get_clause for full text.

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 slug and as_of are already well documented in the schema. The description adds no parameter-level semantics beyond the general 'one document' framing, which is acceptable given the 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 states a specific verb and resource: reading one document's top-level structure without its text. It also distinguishes the tool from get_clause, which is for reading the actual words, so an agent can tell the two apart immediately.

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 usage condition: use the outline when you know roughly where to look for a clause key, and use get_clause to read the words. It does not explicitly cover when to prefer list_documents or search_policies, so it falls short of full when/when-not guidance.

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

list_documentsList what can be citedA
Read-only
Inspect

List the laws this community version can cite, and which version of each is in force.

NameRequiredDescriptionDefault
as_ofNoList the documents in force on this date
limitNoHow many to return
offsetNoSkip this many first

Output Schema

NameRequiredDescription
totalYesHow many documents are in force, ignoring limit and offset
documentsYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), so the description's value is in explaining that results are limited to the 'community version' corpus and that each document carries an in-force version — genuine behavioral context an agent would otherwise not know. It doesn't discuss pagination behavior, but the schema already documents limit/offset.

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?

A single sentence, front-loaded with the action and resource, with the scope caveat and version detail packed into a subordinate clause. Nothing is padded.

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?

An output schema exists, so return-value explanation isn't required, and the tool has no required parameters. The description adequately frames a simple listing tool, with only a minor gap around how it relates to the sibling retrieval tools and when to move on to them.

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 each parameter is documented inline, so the baseline is 3. The description's mention of 'in force' loosely gestures at the as_of parameter but adds no syntax or defaulting detail beyond the schema's own 'List the documents in force on this date'.

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 and resource ('List the laws ... can cite') plus a scope qualifier ('this community version') and adds that each entry reports which version is in force. This clearly separates it from get_document/get_clause (retrieval of one item) and search_policies (query-based lookup), though it never names those alternatives explicitly.

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?

Usage is only implied: 'what can be cited' suggests this is the discovery step before fetching a specific document. There is no explicit 'use this when...' guidance, no statement about when to prefer search_policies instead, and no note on what to do with the results.

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

search_policiesSearch the lawA
Read-only
Inspect

Search the privacy law this community version holds.

Call this before writing or changing code that collects, stores, logs, shares or deletes personal data, and before answering a question about what the law requires. What comes back is the clause itself, word for word, with the key, document and version to cite it by.

Questions asked here are kept 30 days, with nothing about who asked.

NameRequiredDescriptionDefault
langNoThe language of the question, en or ar. Leave it out to have it read from the letters the question is written in
lawsNoOnly these of the laws this organisation has selected, by slug, such as gdpr or uae-pdpl. Leave it out to search all of them
as_ofNoRead the documents as they stood on this date
limitNoHow many clauses to return
queryYesThe question, in words
include_explanatoryNoInclude text that explains without obliging, such as a GDPR recital

Output Schema

NameRequiredDescription
resultsYes
searchedYesWhat was searched, and as of when

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), but the description adds real disclosure beyond them: the corpus is the community version only, results are verbatim clauses with cite keys, and queries are retained 30 days without attribution. That retention/audit fact is exactly the kind of thing an agent cannot get from annotations or schema.

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 when-to-call, then return shape, then the retention note. Four short paragraphs, each earning its place. The privacy sentence is slightly off-task for tool selection but is genuinely decision-relevant for some agents.

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?

With an output schema and full parameter coverage, the description only needs purpose, timing and behavioral caveats — all present. Minor gaps: no statement about what happens with zero matches or whether the limit truncates ranked 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?

Schema description coverage is 100%, so lang, laws, as_of, limit and include_explanatory are already well documented. The description adds nothing parameter-specific — the mention of the returned clause with document and version is output framing, not input semantics. Baseline 3 applies.

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 and resource ('Search the privacy law') and scopes the corpus ('this community version holds'), which separates it from get_clause/get_document/list_documents by implying retrieval-by-query rather than by identifier. It stops short of naming any sibling explicitly, so an agent must infer the boundary from the verb alone.

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 concrete triggering conditions: call before writing or changing code that touches personal data, and before answering questions about legal requirements. No exclusions or named alternatives are offered, so the agent is not told when to use get_clause or get_document instead.

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. 4 tool updates
    • First observedget_clause
    • First observedget_document
    • First observedlist_documents
    • First observedsearch_policies

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources