Skip to main content
Glama

ISO Agents — an MCP server that drafts ISO management-system documents clause by clause

CI TypeScript MCP License: MIT

ISO Agents is a Model Context Protocol server written in TypeScript. Each tool produces one documented deliverable of an integrated management system (quality, environment, occupational health and safety, anti-bribery), following the Annex SL high-level structure shared by ISO 9001, ISO 14001, ISO 45001 and ISO 37001. Any MCP client (Claude Desktop, Claude Code, the MCP Inspector, your own agent) can call them.

It was built by a lead ISO auditor to automate the part of consulting work that is repetitive but unforgiving: the model supplies domain judgement, the code enforces the rules that an auditor would otherwise check by hand (nothing fabricated, nothing silently dropped, every change visible, the standard's wording respected).

Deliverables are produced in Spanish and anchored on the Peruvian legal framework, because that is who the tool serves. Everything in this repository (examples, fixtures, templates) is fictional; no client data or official ISO text is versioned.

What makes it different

Most "ISO document generators" fill a template from scratch. This server works on the client's existing Word documents:

Capability

How it works

Grounding

Pass the client's current document (documentoCliente text or a .docx/.txt/.md path). Tables are extracted as a Markdown grid, merged cells included; an ambiguous merged cell emits an extraction note instead of letting the model guess.

Update mode

modo: "actualizar" keeps every entry of the client's document (one bullet = one entry), corrects what is obsolete against the current edition of the standard and adds what the standard now requires (e.g. climate change in 4.1/4.2, clause 4.2 c) in ISO 37001:2025).

Client format

formato: "cliente" replicates the client's own columns, scale and methodology instead of imposing a house template.

Exact visual fidelity

plantillaPath fills the client's own .docx template with docxtemplater: colours, borders, header/footer and per-row shading survive. scripts/docx-a-plantilla.ts turns a real .docx into such a template once.

Change tracking in colour

Additions come out green, deletions red strike-through, inside the client's own runs, so the reviewer sees what changed at a glance.

Fidelity guard

After every update run the server diffs source → deliverable item by item and appends a report: fragments preserved (n/n), possible losses, additions to audit. It measures text, not the model's own change marks.

Truncation guard

A response cut at max_tokens is rejected, never delivered as if complete. A compliance matrix missing three rows is an audit finding, not a detail.

Normative reference

Each tool injects the text of the requirement it serves (normas/) so the output covers what the standard asks and nothing more.

Related MCP server: Word AI

Architecture

flowchart LR
    C[MCP client<br/>Claude Desktop · Claude Code · Inspector] -- stdio --> S[src/index.ts<br/>McpServer]
    S --> H[src/lib/herramienta.ts<br/>registrarHerramienta]
    H --> P[perfil.ts · opciones.ts<br/>company profile + grounding options]
    H --> N[normas.ts<br/>requirement text]
    H --> E[extract.ts<br/>.docx → Markdown grid]
    H --> A[anthropic.ts<br/>Claude · JSON or Markdown]
    A --> R[render.ts<br/>Markdown deliverable + JSON]
    R --> D[docx/<br/>casa · plantilla · marcas · markdown]
    R --> F[fidelidad.ts<br/>source → output diff]
    D --> O[(salidas/*.docx)]

Every deliverable is declared as a HerramientaSpec (system prompt, render, Word render, template data) and registered with one call. The shared pipeline applies grounding, mode, format, normative reference, Word export and the fidelity guard uniformly, so a new clause is one new spec file.

Coverage by Annex SL clause

Clause

Content

Status

4. Context of the organization

4.1 issues (matrix, SWOT, PESTEL) · 4.2 interested parties · 4.3 scope · 4.4 processes

Complete — 6 tools

5. Leadership

Policy, roles and responsibilities

Planned

6. Planning

Risks and opportunities, objectives (risk assessment, aspects)

Planned

7. Support

Competence, communication, documented information

Planned

8. Operation · 9. Performance evaluation · 10. Improvement

Operational control, internal audit, corrective action

Planned

Standards supported in the company profile: 9001, 14001, 45001, 37001 (2025 edition).

The six tools

All tools share the same input: a company profile plus grounding options.

{
  // Profile
  "nombre": "Textiles del Sur S.A.C.",          // required
  "sector": "Manufactura textil",               // required
  "tamano": "51-200",
  "productosServicios": "Tejido de punto y confección",
  "procesos": ["Diseño", "Tejido", "Confección", "Despacho"],
  "ubicacion": "Arequipa, Perú",                // default: Perú
  "normas": ["9001", "45001"],                  // default: ["9001"]
  "material": "Free text from real documents, for grounding",

  // Grounding options (all optional)
  "documentoCliente": "…current document as text…",
  "documentoClientePath": "ejemplos/cliente-partes-interesadas.md",
  "modo": "generar" | "actualizar",
  "formato": "casa" | "cliente",
  "exportarDocx": true,
  "plantillaPath": "ejemplos/plantilla-partes-interesadas.docx",
  "salidaPath": "salidas/"
}

Every tool returns a Markdown deliverable (title, company, requirement, body) followed by a collapsible JSON block with the structured data, so tools can be chained (issues → SWOT → risk planning). When a Word file is produced, its absolute path is appended; in update mode the fidelity report closes the response.

Tool

Requirement

Deliverable

contexto_cuestiones_4_1

4.1

Matrix of internal and external issues, each linked to the SWOT quadrant it feeds

contexto_foda_4_1

4.1

SWOT analysis plus the cross matrix of strategies (TOWS)

contexto_pestel_4_1

4.1

PESTEL analysis of external issues

contexto_partes_interesadas_4_2

4.2

Interested-parties matrix: needs, expectations, requirements, legal flag, follow-up; ISO 37001:2025 4.2 c) column when required

contexto_alcance_4_3

4.3

Scope statement with physical and organizational boundaries; exclusions only where ISO 9001 allows them, each justified

contexto_mapa_procesos_4_4

4.4

Process map with SIPOC view: suppliers, inputs, outputs, customers, indicators, owner

Input:

{
  "nombre": "Financiera del Altiplano S.A.",
  "sector": "Servicios financieros",
  "normas": ["37001"],
  "documentoClientePath": "ejemplos/matriz-vigente-2016.docx",
  "modo": "actualizar",
  "plantillaPath": "ejemplos/plantilla-antisoborno-partes-interesadas.docx"
}

Output (abridged, illustrative):

# Matriz de Partes Interesadas

**Empresa:** Financiera del Altiplano S.A.
**Requisito:** 4.2 Comprensión de las necesidades y expectativas de las partes interesadas

## Partes interesadas internas (4)
| Parte interesada | Necesidades y expectativas | Requisitos para el SIG | ¿Legal? | Influencia | Seguimiento | Abordado mediante el sistema de gestión |
| --- | --- | --- | --- | --- | --- | --- |
| Directorio | Confianza de los grupos de interés<br>Involucramiento de la plana gerencial | Revisión periódica del desempeño del sistema | No | alta | Revisión por la dirección | Revisión por la dirección (9.3) |
| Colaboradores | Ambiente laboral con integridad | Canales de denuncia y protección al denunciante | Sí | media | Canal de denuncias | Canal de denuncias (8.9) |
…

---
<details><summary>Datos estructurados (JSON — para reuso entre herramientas)</summary>
{ "partes": [ { "parte": "Directorio", "tipo": "interna", … } ] }
</details>

---
📄 Plantilla del cliente rellenada — identidad visual exacta:
   /…/salidas/4.2-matriz-de-partes-interesadas-1760000000000.docx
🔎 Fragmentos del origen conservados: 40/40 (100%)
✅ Sin posibles pérdidas.
➕ Adiciones no presentes en el origen (3) — confirmar que respondan a la norma:
   · Determinar si el cambio climático es una cuestión pertinente
   · Canal de denuncias (8.9)
   …

In the generated .docx the new column and the new rows are green, the obsolete reference is red strike-through, and the client's shading per row (internal vs. external) is preserved.

contexto_cuestiones_4_1 — { "nombre": "Textiles del Sur S.A.C.", "sector": "Manufactura textil", "normas": ["9001","45001"] } → two tables (internal / external) with columns Categoría · Cuestión · Tendencia · Impacto potencial en el SIG · FODA, 12–20 issues, each tagged F/O/D/A.

contexto_foda_4_1 — same profile, optionally documentoClientePath: "ejemplos/cliente-foda-2019.md", modo: "actualizar" → SWOT lists, then the cross matrix (FO · FA · DO · DA strategies). In update mode the 2019 reference to ISO 9001:2008 is corrected and the missing cross matrix is added; the fidelity report confirms no original item was lost.

contexto_pestel_4_1 — same profile → one table per PESTEL dimension: Factor · Descripción · Implicancia para el SIG · Tendencia, anchored on Peruvian regulators where relevant.

contexto_alcance_4_3 — profile with productosServicios, procesos, ubicacion → formal scope statement (quoted), products and services covered, physical boundaries (sites), organizational boundaries (units), processes included, exclusions table (ISO 9001 only, each with a justification; empty for 14001/45001/37001).

contexto_mapa_procesos_4_4 — profile with procesos → processes grouped as strategic / operational / support, one SIPOC row each (supplier, inputs, outputs, customer, indicator, owner) and the interactions between them.

Add "exportarDocx": true to any call to also get a house-format Word file.

Running it

Requirements: Node ≥ 20.12 (tested on 22) and an Anthropic API key. The key lives only in the server's environment; the MCP client never sees it.

git clone https://github.com/edpauce/iso-agents.git
cd iso-agents
npm ci
cp .env.example .env.local     # then set ANTHROPIC_API_KEY

Claude Desktop

Add the server to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json), then restart Claude Desktop:

{
  "mcpServers": {
    "iso-agents": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/iso-agents/src/index.ts"],
      "env": { "ANTHROPIC_API_KEY": "<your key>" }
    }
  }
}

Or compile once (npm run build) and point command to node with args: ["/absolute/path/to/iso-agents/dist/index.js"]. The six tools appear under the server name; ask Claude, for example: "Usa contexto_partes_interesadas_4_2 para Textiles del Sur S.A.C., sector manufactura textil, normas 9001 y 45001, y exporta a Word."

Claude Code

claude mcp add iso-agents --env ANTHROPIC_API_KEY=<your key> -- npx tsx "$(pwd)/src/index.ts"

The repository also ships a .mcp.json, so opening the folder in Claude Code offers the server (named ehsq) automatically; it reads the key from .env.local.

MCP Inspector (manual testing in the browser)

npm run inspect

ejemplos/README.md lists five ready-made trials (client format, update mode, house Word, client template, ISO 37001 template) using the fictional company Textiles del Sur S.A.C.

Demo

A short recording of the server inside Claude Desktop belongs here. To make one:

  1. Register the server as above and restart Claude Desktop.

  2. Record the screen (macOS: ⌘⇧5, or Kap for a GIF) while you ask for the 4.2 matrix of Textiles del Sur S.A.C. with exportarDocx: true, then open the .docx.

  3. Keep it under 30 s, save it as docs/demo.gif and reference it here: ![ISO Agents in Claude Desktop](docs/demo.gif).

Use fictional company data in the recording.

Tests

npm ci && npm test

39 tests in about two seconds, no API calls, no client data. Fixtures are synthetic (test/helpers.ts, test/fixtures/) and reproduce the pathologies met on real documents:

  • extraction keeps tables as a grid; an ambiguous merged cell produces a note, never a guess; truncated source text arrives verbatim;

  • change marks colour the right fragment, keep the run's own properties and leave no residue;

  • enumerated fields with change marks do not empty the document; the ISO 37001 4.2 c) column comes from the model, never a hardcoded "Sí"; lists stay lists;

  • the normative loader prefers official text, falls back to the paraphrased guide and never invents a requirement that the standard does not have;

  • end to end: a client .docx → template with two prototype rows and an extra column → filled document with the right shading per row, one bullet per item, green/red changes, and every input item present in the output;

  • the fidelity guard reports losses and additions, tolerates light rewording, is not fooled by change marks and does not count an item cited only in Cambios realizados as preserved.

The tests name the case that motivated them, so nobody deletes them as redundant.

Limitations and things to know

  • Clause 4 only. Clauses 5–10 are planned; the framework is ready (HerramientaSpec).

  • Spanish output, Peruvian legal anchors (SUNAFIL, OEFA/MINAM, Indecopi, Ley 30424…). Other jurisdictions need the prompts in src/tools/ adjusted.

  • Official ISO text is not included. It is copyrighted. The repository ships paraphrased guides (normas/comun/); if you hold a licence, drop the requirement text in normas/<standard>/<code>.md and it takes precedence (.gitignore keeps it local).

  • Documents travel to the Anthropic API. Before processing a real client's document, make sure you have the client's consent and that your data-handling agreement allows it. Anthropic does not train on API data by default; check the current terms.

  • The model is not deterministic. The guards catch truncation, fabrication of fixed values and content loss; they do not replace the auditor's review. Treat every green addition as a proposal.

  • PDF input is not supported (convert to .docx or paste the text). The default model is claude-sonnet-5; override with ANTHROPIC_MODEL.

Project layout

src/
├─ index.ts                 # MCP entry point (stdio), registers the tools
├─ lib/
│  ├─ herramienta.ts        # framework: HerramientaSpec + registrarHerramienta
│  ├─ perfil.ts             # company profile schema (zod)
│  ├─ opciones.ts           # grounding options: document, mode, format, export
│  ├─ extract.ts            # .docx/.txt/.md → Markdown (tables as grid)
│  ├─ normas.ts             # loads the requirement text from normas/
│  ├─ anthropic.ts          # Claude client, JSON/Markdown generation, truncation guard
│  ├─ fidelidad.ts          # runtime fidelity guard (source → output diff)
│  ├─ render.ts             # Markdown helpers, deliverable envelope
│  └─ docx/                 # casa (house Word), plantilla (docxtemplater), marcas (colours), markdown→docx, salida
└─ tools/clausula4/         # one file per deliverable (4.1 ×3, 4.2, 4.3, 4.4)
normas/                     # paraphrased guides + placeholders for licensed text
ejemplos/                   # fictional client documents and templates
scripts/                    # docx-a-plantilla, md-a-docx, template generators
test/                       # 39 tests, synthetic fixtures

Stack

@modelcontextprotocol/sdk · @anthropic-ai/sdk · zod · docx · docxtemplater · mammoth · TypeScript (ESM) · Node test runner.

License

MIT © 2026 Edson Palomino. ISO standards are the property of ISO; this project does not redistribute their text.

Available Tools

6 tools
contexto_alcance_4_34.3 · Determinación del alcance del SIGB

Redacta la Determinación del Alcance del requisito 4.3 (declaración formal + límites físicos y organizacionales + procesos; exclusiones solo para ISO 9001 con justificación). Admite documento del cliente, modo generar|actualizar y formato casa|cliente.

NameRequiredDescriptionDefault
modoNogenerar = crear de cero con la metodología casa (default). actualizar = partir del documento del cliente, conservar lo correcto y actualizarlo/reforzarlo a la versión vigente de la norma. 'actualizar' requiere un documento.
nombreYesRazón social o nombre de la empresa.
normasNoNormas ISO objetivo del sistema de gestión. Por defecto ISO 9001. Usa 37001 para sistemas de gestión antisoborno (SGAS).
sectorYesSector / rubro económico (ej. 'Distribución de energía eléctrica').
tamanoNoTamaño o nº de trabajadores (texto libre, admite rangos: '51-200').
formatoNocasa = plantilla estándar de la casa (default). cliente = replicar la estructura, columnas, escala y metodología del documento del cliente. 'cliente' requiere un documento.
materialNoMaterial fuente OPCIONAL: texto extraído de documentos reales del cliente (políticas, actas, informes) para fundamentar la generación (grounding).
procesosNoProcesos principales de la organización.
ubicacionNoPaís / región de operación. Por defecto se asume Perú (marco legal peruano).
salidaPathNoCarpeta o ruta de archivo .docx donde escribir la salida. Por defecto: carpeta 'salidas/' del proyecto.
exportarDocxNoSi es true, además del Markdown genera un archivo Word (.docx) con formato casa (tablas y colores) y devuelve su ruta para abrirlo en Word.
plantillaPathNoRuta a una PLANTILLA .docx del cliente con marcadores docxtemplater ({campo}, {#bucle}…{/bucle}). Si se da, rellena esa plantilla conservando su formato visual EXACTO (colores, bordes, logo) y devuelve la ruta del .docx generado.
documentoClienteNoTexto del documento VIGENTE del cliente (matriz previa, política, acta, FODA anterior). Base para grounding, actualización o para replicar su formato.
productosServiciosNoProductos y servicios principales de la organización.
documentoClientePathNoRuta local a un documento del cliente (.docx/.txt/.md) que el servidor leerá y usará como base. Alternativa a documentoCliente.

TDQS

B3.4/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden, and it does disclose substantive content rules (what the clause document must contain and the ISO 9001-only exclusion constraint). It omits the operationally important behavior: that the tool writes files to disk (Markdown and/or .docx, salidaPath/exportarDocx/plantillaPath) and returns paths — side effects an agent should know before calling.

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?

A single front-loaded sentence that opens with the verb and deliverable and then packs the content requirements into a parenthetical. Efficient, though the trailing "Admite documento del cliente, modo generar|actualizar y formato casa|cliente" largely repeats enum values already documented in the schema.

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 15-parameter document generator with no output schema, the description should say what the call produces (Markdown text? a .docx path?) and that most parameters are optional with defaults. It covers the document's substance well but leaves the output contract to be inferred from individual parameter descriptions.

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 parameter descriptions are unusually detailed (modo, formato, plantillaPath, documentoClientePath), so the baseline is 3. The description adds one genuine cross-parameter rule — exclusiones apply only to ISO 9001 with justification — but otherwise only echoes the modo/formato/documento enums already in the schema.

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 deliverable ("Redacta la Determinación del Alcance del requisito 4.3") and enumerates the required content blocks: declaración formal, límites físicos y organizacionales, procesos. It is clearly distinct from the sibling tools (FODA, PESTEL, partes interesadas, mapa de procesos), though it never names them 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?

It signals that a client document can be supplied and offers generar|actualizar and casa|cliente choices, plus a real usage rule ("exclusiones solo para ISO 9001 con justificación"). However it never says when to pick generar vs. actualizar, nor any prerequisites (e.g. that actualizar/cliente require a document) — that guidance lives only in the schema.

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

contexto_cuestiones_4_14.1 · Matriz de cuestiones internas y externasA

Genera la Matriz de Contexto (cuestiones internas y externas) del requisito 4.1 del Anexo SL (ISO 9001/14001/45001), aterrizada al sector y al marco legal peruano. Admite documento del cliente (documentoCliente/documentoClientePath), modo generar|actualizar y formato casa|cliente.

NameRequiredDescriptionDefault
modoNogenerar = crear de cero con la metodología casa (default). actualizar = partir del documento del cliente, conservar lo correcto y actualizarlo/reforzarlo a la versión vigente de la norma. 'actualizar' requiere un documento.
nombreYesRazón social o nombre de la empresa.
normasNoNormas ISO objetivo del sistema de gestión. Por defecto ISO 9001. Usa 37001 para sistemas de gestión antisoborno (SGAS).
sectorYesSector / rubro económico (ej. 'Distribución de energía eléctrica').
tamanoNoTamaño o nº de trabajadores (texto libre, admite rangos: '51-200').
formatoNocasa = plantilla estándar de la casa (default). cliente = replicar la estructura, columnas, escala y metodología del documento del cliente. 'cliente' requiere un documento.
materialNoMaterial fuente OPCIONAL: texto extraído de documentos reales del cliente (políticas, actas, informes) para fundamentar la generación (grounding).
procesosNoProcesos principales de la organización.
ubicacionNoPaís / región de operación. Por defecto se asume Perú (marco legal peruano).
salidaPathNoCarpeta o ruta de archivo .docx donde escribir la salida. Por defecto: carpeta 'salidas/' del proyecto.
exportarDocxNoSi es true, además del Markdown genera un archivo Word (.docx) con formato casa (tablas y colores) y devuelve su ruta para abrirlo en Word.
plantillaPathNoRuta a una PLANTILLA .docx del cliente con marcadores docxtemplater ({campo}, {#bucle}…{/bucle}). Si se da, rellena esa plantilla conservando su formato visual EXACTO (colores, bordes, logo) y devuelve la ruta del .docx generado.
documentoClienteNoTexto del documento VIGENTE del cliente (matriz previa, política, acta, FODA anterior). Base para grounding, actualización o para replicar su formato.
productosServiciosNoProductos y servicios principales de la organización.
documentoClientePathNoRuta local a un documento del cliente (.docx/.txt/.md) que el servidor leerá y usará como base. Alternativa a documentoCliente.

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 behavioral burden. It discloses that output is tailored to sector and Peruvian legal framework and that client documents and modes are supported, but it does not explain file-writing side effects, overwrite behavior, permissions, or error conditions for a generation tool with 15 parameters.

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 sentences, front-loaded with the core purpose and followed by key accepted inputs and modes. There is no filler, and the structure makes the main action immediately clear.

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?

The schema is rich and fully described, which covers parameter semantics. However, for a complex generation tool with no output schema and no annotations, the description does not mention expected output format, file side effects, or important operational constraints beyond the brief mention of client documents and modes.

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 the schema already documents all parameters thoroughly. The description mentions documentoCliente/documentoClientePath, modo generar|actualizar and formato casa|cliente, but this largely repeats what the schema provides rather than adding new semantic detail.

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 specific verb and resource: genera la Matriz de Contexto (cuestiones internas y externas) for requirement 4.1 of Anexo SL. The resource is clearly differentiated from sibling tools such as FODA, PESTEL, partes interesadas, alcance and mapa de procesos.

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?

The description implies usage by tying the tool to requirement 4.1 and mentioning generar|actualizar and casa|cliente modes. However, it does not explicitly state when to use this tool versus the sibling contexto_foda_4_1, contexto_pestel_4_1 or other contexto tools.

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

contexto_foda_4_14.1 · Análisis FODA (con FODA cruzado)A

Genera el Análisis FODA (SWOT) del requisito 4.1 y la matriz cruzada de estrategias (FO/FA/DO/DA · TOWS), específico al sector y a las normas objetivo. Admite documento del cliente (documentoCliente/documentoClientePath), modo generar|actualizar y formato casa|cliente.

NameRequiredDescriptionDefault
modoNogenerar = crear de cero con la metodología casa (default). actualizar = partir del documento del cliente, conservar lo correcto y actualizarlo/reforzarlo a la versión vigente de la norma. 'actualizar' requiere un documento.
nombreYesRazón social o nombre de la empresa.
normasNoNormas ISO objetivo del sistema de gestión. Por defecto ISO 9001. Usa 37001 para sistemas de gestión antisoborno (SGAS).
sectorYesSector / rubro económico (ej. 'Distribución de energía eléctrica').
tamanoNoTamaño o nº de trabajadores (texto libre, admite rangos: '51-200').
formatoNocasa = plantilla estándar de la casa (default). cliente = replicar la estructura, columnas, escala y metodología del documento del cliente. 'cliente' requiere un documento.
materialNoMaterial fuente OPCIONAL: texto extraído de documentos reales del cliente (políticas, actas, informes) para fundamentar la generación (grounding).
procesosNoProcesos principales de la organización.
ubicacionNoPaís / región de operación. Por defecto se asume Perú (marco legal peruano).
salidaPathNoCarpeta o ruta de archivo .docx donde escribir la salida. Por defecto: carpeta 'salidas/' del proyecto.
exportarDocxNoSi es true, además del Markdown genera un archivo Word (.docx) con formato casa (tablas y colores) y devuelve su ruta para abrirlo en Word.
plantillaPathNoRuta a una PLANTILLA .docx del cliente con marcadores docxtemplater ({campo}, {#bucle}…{/bucle}). Si se da, rellena esa plantilla conservando su formato visual EXACTO (colores, bordes, logo) y devuelve la ruta del .docx generado.
documentoClienteNoTexto del documento VIGENTE del cliente (matriz previa, política, acta, FODA anterior). Base para grounding, actualización o para replicar su formato.
productosServiciosNoProductos y servicios principales de la organización.
documentoClientePathNoRuta local a un documento del cliente (.docx/.txt/.md) que el servidor leerá y usará como base. Alternativa a documentoCliente.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations, so the description carries the burden. It discloses that it produces sector/norm-specific output, accepts client documents, and supports modes/formats, but does not explain side effects like file writes to salidaPath, whether existing files are overwritten, or what the response looks like.

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 sentences, front-loaded with the core purpose and deliverables. The second sentence is a somewhat dense list of inputs but still earns its place by surfacing the client-document and mode/format options.

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 15-parameter tool with no output schema and no annotations, the description gives purpose and input options but omits how outputs are returned, the default output location, and permission/auth expectations, leaving gaps an agent must guess at.

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 enums and all 15 parameters are already documented. The description only echoes 'documentoCliente/documentoClientePath', 'generar|actualizar', and 'casa|cliente' without adding format or behavior detail 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?

States a specific verb ('Genera') and two concrete deliverables: the FODA/SWOT analysis of requirement 4.1 and the crossed TOWS strategy matrix. This clearly differentiates it from the PESTEL and stakeholders siblings.

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?

Mentions supported 'modo generar|actualizar' and 'formato casa|cliente' options and the client-document input, which hints at usage contexts. But it never says when to choose this tool over contexto_pestel_4_1 or when to prefer generar vs actualizar beyond the enum labels echoed from the schema.

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

contexto_mapa_procesos_4_44.4 · Mapa de procesos y sus interaccionesA

Genera el Mapa de Procesos del requisito 4.4 (procesos estratégicos/operativos/apoyo con enfoque SIPOC: proveedores, entradas, salidas, clientes, indicadores y responsable). Admite documento del cliente, modo generar|actualizar y formato casa|cliente.

NameRequiredDescriptionDefault
modoNogenerar = crear de cero con la metodología casa (default). actualizar = partir del documento del cliente, conservar lo correcto y actualizarlo/reforzarlo a la versión vigente de la norma. 'actualizar' requiere un documento.
nombreYesRazón social o nombre de la empresa.
normasNoNormas ISO objetivo del sistema de gestión. Por defecto ISO 9001. Usa 37001 para sistemas de gestión antisoborno (SGAS).
sectorYesSector / rubro económico (ej. 'Distribución de energía eléctrica').
tamanoNoTamaño o nº de trabajadores (texto libre, admite rangos: '51-200').
formatoNocasa = plantilla estándar de la casa (default). cliente = replicar la estructura, columnas, escala y metodología del documento del cliente. 'cliente' requiere un documento.
materialNoMaterial fuente OPCIONAL: texto extraído de documentos reales del cliente (políticas, actas, informes) para fundamentar la generación (grounding).
procesosNoProcesos principales de la organización.
ubicacionNoPaís / región de operación. Por defecto se asume Perú (marco legal peruano).
salidaPathNoCarpeta o ruta de archivo .docx donde escribir la salida. Por defecto: carpeta 'salidas/' del proyecto.
exportarDocxNoSi es true, además del Markdown genera un archivo Word (.docx) con formato casa (tablas y colores) y devuelve su ruta para abrirlo en Word.
plantillaPathNoRuta a una PLANTILLA .docx del cliente con marcadores docxtemplater ({campo}, {#bucle}…{/bucle}). Si se da, rellena esa plantilla conservando su formato visual EXACTO (colores, bordes, logo) y devuelve la ruta del .docx generado.
documentoClienteNoTexto del documento VIGENTE del cliente (matriz previa, política, acta, FODA anterior). Base para grounding, actualización o para replicar su formato.
productosServiciosNoProductos y servicios principales de la organización.
documentoClientePathNoRuta local a un documento del cliente (.docx/.txt/.md) que el servidor leerá y usará como base. Alternativa a documentoCliente.

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden and does state the deliverable's content (SIPOC sections). However it says nothing about side effects such as writing files to salidaPath, the default Markdown output, the docx/plantilla variants, or permission/grounding behavior; those facts exist only in the parameter descriptions.

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 sentences, front-loaded with the artifact and requirement ID, with the capability list second. No filler or repetition.

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 15-parameter generation tool with no annotations and no output schema, the description omits the default output format (Markdown), that exports produce file paths to open in Word, and how documentoCliente vs documentoClientePath vs plantillaPath interact. Much of this is rescued by the rich schema, but the description alone is only minimally sufficient.

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 the parameter docs are detailed (enum meanings, defaults, alternatives between documentoCliente and documentoClientePath). The description merely restates the modo and formato enums and adds no format, precedence, or interaction guidance beyond the schema.

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 concrete verb and resource ('Genera el Mapa de Procesos') and pins it to ISO requirement 4.4, which is what separates it from the sibling 4.1/4.2/4.3 tools. The SIPOC field list adds specificity about what the artifact contains, though it doesn't explicitly name the siblings it replaces.

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?

The second sentence enumerates the supported options (client document, modo generar|actualizar, formato casa|cliente) but never states when an agent should pick one over the other or when not to call it. The conditions ('requiere un documento') live only in the schema, leaving usage rules implicit here.

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

contexto_partes_interesadas_4_24.2 · Matriz de partes interesadasA

Genera la Matriz de Partes Interesadas del requisito 4.2 (necesidades, expectativas y requisitos pertinentes al SIG), con marca de requisito legal según el marco peruano. Admite documento del cliente, modo generar|actualizar y formato casa|cliente.

NameRequiredDescriptionDefault
modoNogenerar = crear de cero con la metodología casa (default). actualizar = partir del documento del cliente, conservar lo correcto y actualizarlo/reforzarlo a la versión vigente de la norma. 'actualizar' requiere un documento.
nombreYesRazón social o nombre de la empresa.
normasNoNormas ISO objetivo del sistema de gestión. Por defecto ISO 9001. Usa 37001 para sistemas de gestión antisoborno (SGAS).
sectorYesSector / rubro económico (ej. 'Distribución de energía eléctrica').
tamanoNoTamaño o nº de trabajadores (texto libre, admite rangos: '51-200').
formatoNocasa = plantilla estándar de la casa (default). cliente = replicar la estructura, columnas, escala y metodología del documento del cliente. 'cliente' requiere un documento.
materialNoMaterial fuente OPCIONAL: texto extraído de documentos reales del cliente (políticas, actas, informes) para fundamentar la generación (grounding).
procesosNoProcesos principales de la organización.
ubicacionNoPaís / región de operación. Por defecto se asume Perú (marco legal peruano).
salidaPathNoCarpeta o ruta de archivo .docx donde escribir la salida. Por defecto: carpeta 'salidas/' del proyecto.
exportarDocxNoSi es true, además del Markdown genera un archivo Word (.docx) con formato casa (tablas y colores) y devuelve su ruta para abrirlo en Word.
plantillaPathNoRuta a una PLANTILLA .docx del cliente con marcadores docxtemplater ({campo}, {#bucle}…{/bucle}). Si se da, rellena esa plantilla conservando su formato visual EXACTO (colores, bordes, logo) y devuelve la ruta del .docx generado.
documentoClienteNoTexto del documento VIGENTE del cliente (matriz previa, política, acta, FODA anterior). Base para grounding, actualización o para replicar su formato.
productosServiciosNoProductos y servicios principales de la organización.
documentoClientePathNoRuta local a un documento del cliente (.docx/.txt/.md) que el servidor leerá y usará como base. Alternativa a documentoCliente.

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses the generar/actualizar and casa/cliente behaviors and the legal-requirement marking, but never states that the tool writes output files or generates a .docx, nor any prerequisites beyond the modes. Moderate transparency gap for a mutating generator.

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 front-loaded sentences with no waste; the resource and clause are stated first, then the supported modes. Efficient and readable, if a bit terse given the tool's complexity.

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 15-parameter document-generation tool with no annotations and no output schema, the description is thin on the mutating behavior and output artifacts (files, .docx, template paths). The rich schema compensates for parameter details, but the overall narrative is not fully complete.

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 100%, so the schema already documents all 15 parameters with enums and defaults. The description reinforces the key selector parameters (modo, formato, documento del cliente), adding slight context over the schema baseline of 3.

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 ('Genera') and resource ('Matriz de Partes Interesadas del requisito 4.2'), and clarifies the SIG clause. The clause number and resource name distinguish it from siblings like contexto_foda_4_1, though it never explicitly references alternatives.

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?

Mentions the supported options (documento del cliente, modo generar|actualizar, formato casa|cliente) but only implies when to choose each. There is no explicit when-to-use vs when-not guidance or routing to sibling tools, so usage must be inferred.

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

contexto_pestel_4_14.1 · Análisis PESTEL del entornoA

Genera el Análisis PESTEL (Político, Económico, Social, Tecnológico, Ecológico, Legal) de las cuestiones externas del requisito 4.1, anclado al marco peruano y al sector. Admite documento del cliente (documentoCliente/documentoClientePath), modo generar|actualizar y formato casa|cliente.

NameRequiredDescriptionDefault
modoNogenerar = crear de cero con la metodología casa (default). actualizar = partir del documento del cliente, conservar lo correcto y actualizarlo/reforzarlo a la versión vigente de la norma. 'actualizar' requiere un documento.
nombreYesRazón social o nombre de la empresa.
normasNoNormas ISO objetivo del sistema de gestión. Por defecto ISO 9001. Usa 37001 para sistemas de gestión antisoborno (SGAS).
sectorYesSector / rubro económico (ej. 'Distribución de energía eléctrica').
tamanoNoTamaño o nº de trabajadores (texto libre, admite rangos: '51-200').
formatoNocasa = plantilla estándar de la casa (default). cliente = replicar la estructura, columnas, escala y metodología del documento del cliente. 'cliente' requiere un documento.
materialNoMaterial fuente OPCIONAL: texto extraído de documentos reales del cliente (políticas, actas, informes) para fundamentar la generación (grounding).
procesosNoProcesos principales de la organización.
ubicacionNoPaís / región de operación. Por defecto se asume Perú (marco legal peruano).
salidaPathNoCarpeta o ruta de archivo .docx donde escribir la salida. Por defecto: carpeta 'salidas/' del proyecto.
exportarDocxNoSi es true, además del Markdown genera un archivo Word (.docx) con formato casa (tablas y colores) y devuelve su ruta para abrirlo en Word.
plantillaPathNoRuta a una PLANTILLA .docx del cliente con marcadores docxtemplater ({campo}, {#bucle}…{/bucle}). Si se da, rellena esa plantilla conservando su formato visual EXACTO (colores, bordes, logo) y devuelve la ruta del .docx generado.
documentoClienteNoTexto del documento VIGENTE del cliente (matriz previa, política, acta, FODA anterior). Base para grounding, actualización o para replicar su formato.
productosServiciosNoProductos y servicios principales de la organización.
documentoClientePathNoRuta local a un documento del cliente (.docx/.txt/.md) que el servidor leerá y usará como base. Alternativa a documentoCliente.

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It adds useful context about the Peruvian legal anchoring and the sector-specific grounding, but says nothing about side effects — that the tool writes files to disk (salidaPath, .docx export), what it returns, or whether generation is deterministic. A significant gap remains for a document-writing tool with zero annotation coverage.

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 tight sentences with zero waste: the first front-loads what is produced and its scope, the second covers the optional inputs and modes. Nothing is padded or repeated.

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 15-parameter document-generation tool with no annotations and no output schema, the description should clarify what comes back (Markdown? file path? both) and how exportarDocx/plantillaPath affect the result. Those behaviors are only partially hinted at via the schema, leaving the agent to infer the return contract.

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% across all 15 parameters, so the schema already documents modo, formato, documentoCliente, documentoClientePath and the rest in detail. The description only echoes three of those parameter names without adding syntax, defaults, or precedence rules beyond what the schema states, so baseline 3 applies.

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 specific verb ('Genera') and a well-defined artifact (Análisis PESTEL) scoped to requirement 4.1's external issues, anchored to the Peruvian framework and the sector. This is clearly distinguishable from siblings like contexto_foda_4_1 or contexto_cuestiones_4_1 without opening any schema.

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?

The description names the operational modes (generar|actualizar) and formats (casa|cliente), and notes that a client document is accepted, which implies the correct invocation context. However, it never says when to choose PESTEL over the sibling FODA/cuestiones tools, nor restates the dependency that 'actualizar'/'cliente' require a document — that constraint only lives in the schema.

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 updatesv0.1.0
    • First observedcontexto_alcance_4_3
    • First observedcontexto_cuestiones_4_1
    • First observedcontexto_foda_4_1
    • First observedcontexto_mapa_procesos_4_4
    • First observedcontexto_partes_interesadas_4_2
    • First observedcontexto_pestel_4_1

TDQS

A3.8/5.0

Scored across 6 tools

Disambiguation4/5

The six tools produce clearly different ISO clause-4 artifacts, but three tools all target requirement 4.1 (contexto_cuestiones, FODA, PESTEL), so an agent may need to decide which combination to use. Descriptions help distinguish the outputs, but the overlap at clause 4.1 keeps it from being fully unambiguous.

Naming Consistency5/5

All tool names follow a consistent contexto_{topic}_{clause} pattern, with noun-like topic segments and explicit clause suffixes. The convention is predictable and readable throughout.

Tool Count5/5

Six tools is well-scoped for generating the clause 4 context documents. Each tool corresponds to a distinct required artifact, and none appears redundant or trivially included.

Completeness4/5

The surface covers ISO clause 4.1 through 4.4, including three complementary 4.1 analyses, 4.2 stakeholders, 4.3 scope, and 4.4 process map. Update is supported through modo actualizar, though there is no explicit list/get/delete or lifecycle management for generated artifacts.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    A "Virtual DOM" for Microsoft Word enabling AI to safely read, redline, and sanitize DOCX contracts without breaking formatting.
    11
    168
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Structure-preserving Word DOCX editing MCP server with a .NET Open XML backend and Office.js live sessions. Enables safe, auditable, incremental editing of Microsoft Word documents for AI agents.
    63
    6 npm
    10
    AGPL 3.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to generate format-stable, editable Word DOCX documents from structured content and reusable templates, with document type recognition, schema retrieval, template rendering, validation, and conservative fixes.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP clients to resolve legal contract clause cross-references and build defined-term dependency graphs, flagging circular references and substituting statutory definitions. It also parses document layouts and complex financial/legal tables, returning structured matrices and audit telemetry with zero external dependencies.
    8
    -