ISO Agents
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ISO AgentsDraft clause 4.2 interested parties from our existing .docx"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ISO Agents — an MCP server that drafts ISO management-system documents clause by clause
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 ( |
Update mode |
|
Client format |
|
Exact visual fidelity |
|
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 |
Normative reference | Each tool injects the text of the requirement it serves ( |
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 |
| 4.1 | Matrix of internal and external issues, each linked to the SWOT quadrant it feeds |
| 4.1 | SWOT analysis plus the cross matrix of strategies (TOWS) |
| 4.1 | PESTEL analysis of external issues |
| 4.2 | Interested-parties matrix: needs, expectations, requirements, legal flag, follow-up; ISO 37001:2025 4.2 c) column when required |
| 4.3 | Scope statement with physical and organizational boundaries; exclusions only where ISO 9001 allows them, each justified |
| 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_KEYClaude 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 inspectejemplos/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:
Register the server as above and restart Claude Desktop.
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.Keep it under 30 s, save it as
docs/demo.gifand reference it here:.
Use fictional company data in the recording.
Tests
npm ci && npm test39 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 innormas/<standard>/<code>.mdand it takes precedence (.gitignorekeeps 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
.docxor paste the text). The default model isclaude-sonnet-5; override withANTHROPIC_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 fixturesStack
@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 toolscontexto_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.
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No | generar = 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. | |
| nombre | Yes | Razón social o nombre de la empresa. | |
| normas | No | Normas ISO objetivo del sistema de gestión. Por defecto ISO 9001. Usa 37001 para sistemas de gestión antisoborno (SGAS). | |
| sector | Yes | Sector / rubro económico (ej. 'Distribución de energía eléctrica'). | |
| tamano | No | Tamaño o nº de trabajadores (texto libre, admite rangos: '51-200'). | |
| formato | No | casa = plantilla estándar de la casa (default). cliente = replicar la estructura, columnas, escala y metodología del documento del cliente. 'cliente' requiere un documento. | |
| material | No | Material fuente OPCIONAL: texto extraído de documentos reales del cliente (políticas, actas, informes) para fundamentar la generación (grounding). | |
| procesos | No | Procesos principales de la organización. | |
| ubicacion | No | País / región de operación. Por defecto se asume Perú (marco legal peruano). | |
| salidaPath | No | Carpeta o ruta de archivo .docx donde escribir la salida. Por defecto: carpeta 'salidas/' del proyecto. | |
| exportarDocx | No | Si 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. | |
| plantillaPath | No | Ruta 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. | |
| documentoCliente | No | Texto del documento VIGENTE del cliente (matriz previa, política, acta, FODA anterior). Base para grounding, actualización o para replicar su formato. | |
| productosServicios | No | Productos y servicios principales de la organización. | |
| documentoClientePath | No | Ruta local a un documento del cliente (.docx/.txt/.md) que el servidor leerá y usará como base. Alternativa a documentoCliente. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No | generar = 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. | |
| nombre | Yes | Razón social o nombre de la empresa. | |
| normas | No | Normas ISO objetivo del sistema de gestión. Por defecto ISO 9001. Usa 37001 para sistemas de gestión antisoborno (SGAS). | |
| sector | Yes | Sector / rubro económico (ej. 'Distribución de energía eléctrica'). | |
| tamano | No | Tamaño o nº de trabajadores (texto libre, admite rangos: '51-200'). | |
| formato | No | casa = plantilla estándar de la casa (default). cliente = replicar la estructura, columnas, escala y metodología del documento del cliente. 'cliente' requiere un documento. | |
| material | No | Material fuente OPCIONAL: texto extraído de documentos reales del cliente (políticas, actas, informes) para fundamentar la generación (grounding). | |
| procesos | No | Procesos principales de la organización. | |
| ubicacion | No | País / región de operación. Por defecto se asume Perú (marco legal peruano). | |
| salidaPath | No | Carpeta o ruta de archivo .docx donde escribir la salida. Por defecto: carpeta 'salidas/' del proyecto. | |
| exportarDocx | No | Si 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. | |
| plantillaPath | No | Ruta 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. | |
| documentoCliente | No | Texto del documento VIGENTE del cliente (matriz previa, política, acta, FODA anterior). Base para grounding, actualización o para replicar su formato. | |
| productosServicios | No | Productos y servicios principales de la organización. | |
| documentoClientePath | No | Ruta local a un documento del cliente (.docx/.txt/.md) que el servidor leerá y usará como base. Alternativa a documentoCliente. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No | generar = 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. | |
| nombre | Yes | Razón social o nombre de la empresa. | |
| normas | No | Normas ISO objetivo del sistema de gestión. Por defecto ISO 9001. Usa 37001 para sistemas de gestión antisoborno (SGAS). | |
| sector | Yes | Sector / rubro económico (ej. 'Distribución de energía eléctrica'). | |
| tamano | No | Tamaño o nº de trabajadores (texto libre, admite rangos: '51-200'). | |
| formato | No | casa = plantilla estándar de la casa (default). cliente = replicar la estructura, columnas, escala y metodología del documento del cliente. 'cliente' requiere un documento. | |
| material | No | Material fuente OPCIONAL: texto extraído de documentos reales del cliente (políticas, actas, informes) para fundamentar la generación (grounding). | |
| procesos | No | Procesos principales de la organización. | |
| ubicacion | No | País / región de operación. Por defecto se asume Perú (marco legal peruano). | |
| salidaPath | No | Carpeta o ruta de archivo .docx donde escribir la salida. Por defecto: carpeta 'salidas/' del proyecto. | |
| exportarDocx | No | Si 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. | |
| plantillaPath | No | Ruta 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. | |
| documentoCliente | No | Texto del documento VIGENTE del cliente (matriz previa, política, acta, FODA anterior). Base para grounding, actualización o para replicar su formato. | |
| productosServicios | No | Productos y servicios principales de la organización. | |
| documentoClientePath | No | Ruta local a un documento del cliente (.docx/.txt/.md) que el servidor leerá y usará como base. Alternativa a documentoCliente. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No | generar = 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. | |
| nombre | Yes | Razón social o nombre de la empresa. | |
| normas | No | Normas ISO objetivo del sistema de gestión. Por defecto ISO 9001. Usa 37001 para sistemas de gestión antisoborno (SGAS). | |
| sector | Yes | Sector / rubro económico (ej. 'Distribución de energía eléctrica'). | |
| tamano | No | Tamaño o nº de trabajadores (texto libre, admite rangos: '51-200'). | |
| formato | No | casa = plantilla estándar de la casa (default). cliente = replicar la estructura, columnas, escala y metodología del documento del cliente. 'cliente' requiere un documento. | |
| material | No | Material fuente OPCIONAL: texto extraído de documentos reales del cliente (políticas, actas, informes) para fundamentar la generación (grounding). | |
| procesos | No | Procesos principales de la organización. | |
| ubicacion | No | País / región de operación. Por defecto se asume Perú (marco legal peruano). | |
| salidaPath | No | Carpeta o ruta de archivo .docx donde escribir la salida. Por defecto: carpeta 'salidas/' del proyecto. | |
| exportarDocx | No | Si 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. | |
| plantillaPath | No | Ruta 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. | |
| documentoCliente | No | Texto del documento VIGENTE del cliente (matriz previa, política, acta, FODA anterior). Base para grounding, actualización o para replicar su formato. | |
| productosServicios | No | Productos y servicios principales de la organización. | |
| documentoClientePath | No | Ruta local a un documento del cliente (.docx/.txt/.md) que el servidor leerá y usará como base. Alternativa a documentoCliente. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No | generar = 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. | |
| nombre | Yes | Razón social o nombre de la empresa. | |
| normas | No | Normas ISO objetivo del sistema de gestión. Por defecto ISO 9001. Usa 37001 para sistemas de gestión antisoborno (SGAS). | |
| sector | Yes | Sector / rubro económico (ej. 'Distribución de energía eléctrica'). | |
| tamano | No | Tamaño o nº de trabajadores (texto libre, admite rangos: '51-200'). | |
| formato | No | casa = plantilla estándar de la casa (default). cliente = replicar la estructura, columnas, escala y metodología del documento del cliente. 'cliente' requiere un documento. | |
| material | No | Material fuente OPCIONAL: texto extraído de documentos reales del cliente (políticas, actas, informes) para fundamentar la generación (grounding). | |
| procesos | No | Procesos principales de la organización. | |
| ubicacion | No | País / región de operación. Por defecto se asume Perú (marco legal peruano). | |
| salidaPath | No | Carpeta o ruta de archivo .docx donde escribir la salida. Por defecto: carpeta 'salidas/' del proyecto. | |
| exportarDocx | No | Si 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. | |
| plantillaPath | No | Ruta 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. | |
| documentoCliente | No | Texto del documento VIGENTE del cliente (matriz previa, política, acta, FODA anterior). Base para grounding, actualización o para replicar su formato. | |
| productosServicios | No | Productos y servicios principales de la organización. | |
| documentoClientePath | No | Ruta local a un documento del cliente (.docx/.txt/.md) que el servidor leerá y usará como base. Alternativa a documentoCliente. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No | generar = 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. | |
| nombre | Yes | Razón social o nombre de la empresa. | |
| normas | No | Normas ISO objetivo del sistema de gestión. Por defecto ISO 9001. Usa 37001 para sistemas de gestión antisoborno (SGAS). | |
| sector | Yes | Sector / rubro económico (ej. 'Distribución de energía eléctrica'). | |
| tamano | No | Tamaño o nº de trabajadores (texto libre, admite rangos: '51-200'). | |
| formato | No | casa = plantilla estándar de la casa (default). cliente = replicar la estructura, columnas, escala y metodología del documento del cliente. 'cliente' requiere un documento. | |
| material | No | Material fuente OPCIONAL: texto extraído de documentos reales del cliente (políticas, actas, informes) para fundamentar la generación (grounding). | |
| procesos | No | Procesos principales de la organización. | |
| ubicacion | No | País / región de operación. Por defecto se asume Perú (marco legal peruano). | |
| salidaPath | No | Carpeta o ruta de archivo .docx donde escribir la salida. Por defecto: carpeta 'salidas/' del proyecto. | |
| exportarDocx | No | Si 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. | |
| plantillaPath | No | Ruta 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. | |
| documentoCliente | No | Texto del documento VIGENTE del cliente (matriz previa, política, acta, FODA anterior). Base para grounding, actualización o para replicar su formato. | |
| productosServicios | No | Productos y servicios principales de la organización. | |
| documentoClientePath | No | Ruta local a un documento del cliente (.docx/.txt/.md) que el servidor leerá y usará como base. Alternativa a documentoCliente. |
TDQS
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.
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.
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.
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.
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.
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.
6 tool updates
v0.1.0- First observed
contexto_alcance_4_3 - First observed
contexto_cuestiones_4_1 - First observed
contexto_foda_4_1 - First observed
contexto_mapa_procesos_4_4 - First observed
contexto_partes_interesadas_4_2 - First observed
contexto_pestel_4_1
TDQS
Scored across 6 tools
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.
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.
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.
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
Related MCP Connectors
Create real Word .docx files from your AI chat: proposals, quotes, contracts, statements of work.
- emplusxOAuthcom.emplusx
Finished, on-brand .pptx and .docx from a brief - quality-gated by an agentic consulting team.
Run deterministic SaaS contract redlining, GDPR Art. 28 DPA & EU AI Act compliance audits.
Run deterministic SaaS contract redlining, GDPR Art. 28 DPA & EU AI Act compliance audits.
Related MCP Servers
- AlicenseAqualityAmaintenanceA "Virtual DOM" for Microsoft Word enabling AI to safely read, redline, and sanitize DOCX contracts without breaking formatting.11168MIT
- AlicenseBqualityDmaintenanceStructure-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.636 npm10AGPL 3.0
- AlicenseNot gradedqualityAmaintenanceEnables 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
- FlicenseNot gradedqualityBmaintenanceEnables 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-