Skip to main content
Glama
io.github.billibu-n/mcp-leyes-chile

io.github.billibu-n/mcp-leyes-chile

by billibu-n

cl_documento

Generate editable document drafts from a template and data, always producing .odt and optionally deriving .pdf/.docx/.md, with a mandatory draft mark.

Instructions

Genera .odt (siempre) y deriva .pdf/.docx/.md. Marca de borrador obligatoria.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "plantilla": "<plantilla>",
      "datos": "<datos>"
    },
    "name": "cl_documento"
  }
}

Input Schema

NameRequiredDescriptionDefault
datosYes
formatoNopdf
plantillaYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.4

TDQS

C2.9/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 discloses two genuinely useful behaviors: an .odt is always produced as a side effect, and a draft mark is mandatory on output. However, it says nothing about where files are written, whether existing files are overwritten, permission/auth requirements, or how the draft mark can be configured — significant gaps for a file-generating tool.

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?

Two short sentences with no filler, and the format behavior is front-loaded before the draft-mark constraint. It is arguably too terse given the parameter complexity, but nothing is wasteful or buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a mutation-style generation tool with a nested object parameter, 0% schema coverage, and no output schema or annotations to fall back on. The description omits template sources, data structure, file destination, and return behavior, leaving an agent unable to call it correctly without guessing.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters, including a nested free-form 'datos' object, so the description must compensate and largely does not. It hints that 'formato' selects among .pdf/.docx/.md (while .odt is unconditional) but never explains what 'plantilla' refers to, how its values are chosen, or what shape 'datos' must take.

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?

The description names a concrete verb ("Genera") and concrete artifacts (.odt always, with .pdf/.docx/.md derived), so an agent knows this tool produces documents. It does not differentiate itself from siblings like cl_articulo or cl_notaria, which is the main gap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance and no mention of the sibling tools (cl_buscar, cl_citar, cl_notaria, etc.). Usage can only be inferred from the tool name and the listed output formats.

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