Skip to main content
Glama

mkna: Ecuador's official documents

Server Details

Search and quote every law, decree, resolution, ruling and ordinance Ecuador publishes.

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
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.7/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a distinct role: catalog maps the corpus, search finds passages, documents lists recent items, fetch retrieves a full document or passage, read handles long-document windows, and citations traces references. The only near overlap (fetch vs. read) is explicitly differentiated by whole-document vs. page/article access.

Naming Consistency4/5

All names are single lowercase English words, so the style is uniform and easy to remember. However, the set mixes noun resources (catalog, citations, documents) with verb actions (search, fetch, read), which is a minor deviation from a strict verb_noun convention.

Tool Count5/5

Six tools is a tight, well-scoped set for a document corpus: discovery, retrieval, and citation traversal are each covered once. No tool feels redundant or missing.

Completeness5/5

The server covers the full read-only lifecycle of the corpus: explore coverage/facets, search passages, list recent documents, fetch full text, page through long documents, and follow citation links. For a read-only official-documents domain there are no obvious dead ends or missing operations.

Available Tools

6 tools
catalogA
Read-onlyIdempotent
Inspect

What exists: every publisher (family) with how many documents it has and how many have text.

Call it to learn the valid family keys and the kinds each publisher prints before filtering search or documents, or to judge whether a missing answer means a gap in the corpus. sector narrows to one group of families (e.g. 'ley', 'ejecutivo', 'control', 'local').

Returns sectors, each with its families: key, label, documents (listed), with_text and newest (latest publication date); with sector, also publisher, stored (file held), classified and kinds (the kinds it prints most, with counts). Families with nothing yet are named in without_documents. Also, over the classified documents: instrument_kinds, sectors_classified and topics, the values kind, sector and topic take.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectorNo

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, idempotentHint=true, destructiveHint=false, so safety is covered. The description adds behavioral detail about the return structure, including `sectors`, `families`, `without_documents`, and aggregated fields like `instrument_kinds`, `sectors_classified`, and `topics`, which goes beyond 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured: it leads with the core purpose, then usage, then the return shape. While it packs many details, each sentence earns its place; it could be slightly trimmed but remains efficient.

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?

Given there is no output schema, the description thoroughly explains the return values, listing all top-level fields and their subfields, and even covers edge cases like families without documents. This makes it fully adequate for an agent to call and interpret the results.

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?

With 0% schema description coverage, the description fully compensates by explaining the `sector` parameter: '`sector` narrows to one group of families (e.g. 'ley', 'ejecutivo', 'control', 'local')' and that providing it adds extra fields (`publisher`, `stored`, `classified`, `kinds`). This gives meaning beyond the schema.

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 clear statement of what the tool provides ('What exists: every publisher (family) with how many documents it has and how many have text.') and explicitly differentiates it from siblings by stating it's used to learn valid family keys before filtering `search` or `documents`. This gives a specific verb+resource and distinguishes it from related tools.

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 call the tool: 'Call it to learn the valid `family` keys and the kinds each publisher prints before filtering `search` or `documents`, or to judge whether a missing answer means a gap in the corpus.' It also explains that `sector` narrows to a group, providing clear context for usage.

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

citationsA
Read-onlyIdempotent
Inspect

What a document cites, amends or repeals, or which documents cite, amend or repeal it.

direction: 'out' (default) for the instruments this document refers to - the law it applies, the articles it amends, what it repeals, the rulings it cites; 'in' for the documents in the corpus that refer to this one, newest first - later reforms, repeals, regulations, rulings. relation narrows to one of cites, amends, repeals, regulates, replaces, applies. limit <= 100.

Returns citations, each edge with the verbatim quote and the page it is on. 'out' edges name the target as written (target_label, target_article) and its target_document_id when the target is in the corpus (then fetch or read it); 'in' edges carry the citing document's id, title, date and url. An amendment found here is evidence of a change with its source, not a statement of what is in force.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
relationNo
directionNoout
document_idYes

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the read-only/idempotent annotations, the description discloses substantive behavior: the returned edge shape (quote and page), direction-dependent fields, newest-first ordering for 'in' edges, the condition under which target_document_id appears, and the legal caveat that an amendment edge is evidence of a change rather than a statement of current law. No contradiction with 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 definition is front-loaded with a one-line purpose, then clusters parameters, then output details and caveat. It is dense but not bloated; each clause adds a distinct fact needed to call the tool correctly.

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 no output schema, the description carries the return-value burden and does so thoroughly, naming the fields for both directions, defaults, constraints, and a semantic caveat. An agent has everything needed to construct a correct invocation and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description fully compensates: it defines direction values and their meaning, enumerates all relation values, caps limit at 100, and identifies the document_id target through the 'this document' framing. Every parameter gains actionable 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 opening sentence states the exact resource and action: what a document cites, amends or repeals, and the inverse direction. This makes it immediately distinguishable from the sibling content-retrieval tools (fetch, read, search) because it is explicitly about citation edges.

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 gives explicit selection guidance for direction ('out' vs 'in'), relation narrowing, and the limit cap, and it tells the agent to follow a target_document_id with fetch or read. It does not, however, explicitly contrast citations with search/catalog/documents for finding documents, so the when-not-to-use guidance is only partial.

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

documentsA
Read-onlyIdempotent
Inspect

List documents newest first, without a query: "the latest resolutions of the SRI", "what did the Registro Oficial publish in March 2024", "recent ordinances on mining".

Filters as in search, each optional, one value or several comma-separated: family, kind, category (normativa | comunicacion | otros), sector, topic, published_from, published_to. 20 documents a page; pass the answer's cursor to get the next page.

Returns documents: document_id, title, instrument, kind, family, publisher, published, url, pages when its text is held (text: false when it is not yet), and its classification (sectors, topics, nature) when it has one. Court rulings carry their Court-written abstract when present. Next: fetch one.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo
topicNo
cursorNo
familyNo
sectorNo
categoryNo
published_toNo
published_fromNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare the tool read-only, non-destructive, and idempotent. The description adds substantial behavioral context: newest-first ordering, 20-per-page pagination, cursor handling, conditional fields (`text: false`, `pages`, classification, Court abstract), and the relation to `fetch`. This goes well beyond what annotations alone provide and does not contradict them.

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 front-loaded with the core purpose, then compactly covers filters, pagination, return shape, and next step. Every sentence adds necessary operational detail, and the structure makes the information easy to scan. Nothing is wasted or redundant.

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?

Given the tool has no output schema and 8 optional parameters with no schema descriptions, the description is complete enough: it explains the return fields, conditional fields, pagination behavior, and how to proceed to `fetch`. An agent has sufficient information to call and interpret results correctly without needing external docs.

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?

With 0% schema description coverage, the description must carry the parameter meaning, and it largely does: it names all eight parameters, notes they are optional, says one or comma-separated multiple values are allowed, and even gives the category enumeration. The remaining gap is the lack of value format specifics for `kind`, `family`, `sector`, `topic`, and date formats for `published_from`/`published_to`, but the 'Filters as in `search`' pointer and the explicit parameter list still make the tool usable.

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 'List documents newest first, without a query', which is a specific verb and resource, and immediately distinguishes this from query-based sibling `search`. The examples and filter list reinforce that the tool is a filterable list, not a full-text search or a single-document fetch.

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 conveys the primary use case: listing documents by filters without a natural-language query, with pagination and a handoff to `fetch` ('Next: fetch one'). However, it does not explicitly state when to prefer `search` over this tool beyond the phrase 'without a query', nor does it list exclusions, so it stops just short of full 5-level guidance.

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

fetchA
Read-onlyIdempotent
Inspect

Read one document, or one passage in its context, by the id search, documents or citations gave.

A passage id (the id of a search result) returns the document's card and that passage with the one before and after it. A document id (document_id) returns the document's text, verbatim, with a [p. N] marker before each page, up to 60,000 characters; beyond that the answer says truncated: true and next names the read call for the following pages.

Returns id, title, text, url (the publisher's address: cite it) and metadata (the card: instrument, kind, publisher, published date, pages, classification, Court-written abstract for rulings when present, and cited_by: how many documents in the corpus amend, repeal or cite this one). Next: read for more pages or one article, citations for what it applies and what changed it.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A5/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/destructive annotations, the description discloses the two id modes, the 60,000-character truncation behavior with truncated: true and next pointing to read, and the passage-with-context semantics. It also details the metadata contents, including the citable publisher URL and cited_by count, adding substantial behavioral 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 front-loaded with the core purpose and then moves logically from input types to return fields to next steps. It is dense but every sentence earns its place; there is no filler, tautology, or superfluous 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 one parameter, no output schema, and five siblings, the description covers what to pass, what comes back, when truncation occurs, how to continue, and which sibling to use next. There is no material gap an agent would need to resolve elsewhere.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only defines id as a string with zero description coverage, but the description explains that id may be a passage id from search results or a document id, and specifies the behavior for each. This fully compensates for the schema's silence and removes ambiguity about what value to pass.

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: 'Read one document, or one passage in its context, by the id search, documents or citations gave.' It also distinguishes itself from siblings by naming read as the continuation for more pages or articles and citations for what a document applies to or is changed by. An agent can immediately identify this as the single-item reader tool.

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 conditions use on possessing an id produced by search, documents, or citations, which tells the agent when fetch is the right call after those tools. It also routes onward: use read for more pages or one article, and citations for what the document applies to and what changed it. This gives clear start and follow-up context.

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

readA
Read-onlyIdempotent
Inspect

Read part of a long document: a range of pages, or one article.

Pass document_id and either page_from (and optionally page_to), as fetch's next suggests, or article ('15', 'Art. 15', 'primero', 'único') for that article's full text, however many pages it spans. max_chars is at most 40,000 (the default).

Returns the text verbatim with a [p. N] marker before each page, path (where the window starts in the document's structure: título, capítulo, artículo), url, and, when the window did not fit, truncated: true with next for the following call. To find a phrase in a long document instead of paging through it, use search with its document_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
articleNo
page_toNo
max_charsNo
page_fromNo
document_idYes

TDQS

A5/5.0
Behavior5/5

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

Even though annotations already mark the tool as read-only and idempotent, the description adds rich behavioral detail: it returns verbatim text with `[p. N]` markers, `path`, `url`, and `truncated: true` with `next` when the window doesn't fit. This is exactly the kind of non-obvious behavior an agent needs beyond 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 front-loaded with the core purpose, then gives parameter guidance, then output/return behavior, then an alternative. Every sentence earns its place and there is no filler or repetition of the schema.

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?

Given that there is no output schema, the description fully covers return values, pagination via `next`, truncation behavior, and alternative tool routing. It is complete enough for an agent to invoke the tool correctly with any of the valid parameter combinations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden of explaining parameters. It explains `document_id`, `page_from`, optional `page_to`, `article` (with concrete examples like 'Art. 15' and 'único'), and `max_chars` with its 40,000 cap and default. No parameter is left unexplained.

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: 'Read part of a long document: a range of pages, or one article.' It also clearly distinguishes this tool from `search`, which is for finding a phrase rather than paging through the document.

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 states when to use which parameters: pass `document_id` with either `page_from` (optionally `page_to`) or `article`. It also names an alternative: 'To find a phrase in a long document instead of paging through it, use `search` with its `document_id`.' This leaves no ambiguity about selection.

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 observedcatalog
    • First observedcitations
    • First observeddocuments
    • First observedfetch
    • First observedread
    • First observedsearch

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources