Skip to main content
Glama

generate_json

Convert existing Word documents into structured JSON for inspection, transformation, or archiving. Works without .NET runtime from any language or shell.

Instructions

Reads an existing Word document and returns it as JSON. The JSON-side equivalent of generate_xml, for a caller whose tooling speaks JSON rather than XML - same use cases (inspect, transform, or archive a document's structure without any F#/C# source, or any .NET runtime at all, on the caller's side) and the same section/paragraph-level feature set. Usable directly from Python, JavaScript, or any other language, and a human with no MCP client at all can get the same result via fsworddsl-mcp convert <file> --lang json from a plain shell. Unlike generate_xml, there's no runtime JSON Schema validation built into the core library itself (see generate_json_schema's own doc string for why) - but generate_json_schema still returns the documented shape this produces.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesPath to an existing .docx/.docm file to convert to JSON.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden, and it delivers: it discloses the read-only nature ('Reads an existing Word document'), the lack of runtime JSON Schema validation in the core library, and that no .NET runtime is needed on the caller's side. It honestly points to generate_json_schema for the documented output shape. The only gap is unstated error behavior for invalid or unreadable files, which is minor for a read/conversion tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

The core purpose is front-loaded in the first sentence, followed by sibling routing, portability, a CLI alternative, and a validation caveat — each sentence earns its place. It is somewhat verbose with long nested clauses, so it could be tightened, but the logical structure is strong.

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

Completeness4/5

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

For a single-parameter conversion tool with no output schema and no annotations, the description covers purpose, when-to-use, cross-language usability, and the key behavioral caveat. Delegating output-shape documentation to generate_json_schema is a legitimate division of labor given that sibling exists. Nothing an agent needs to select and invoke this tool correctly is missing.

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% — the single path parameter is fully documented with type and meaning ('existing .docx/.docm file to convert to JSON'). The description reinforces the 'existing file' constraint but adds no new parameter-level meaning, so the schema-does-the-heavy-lifting baseline of 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific verb, resource, and output: reads an existing Word document and returns it as JSON. It explicitly positions itself as the JSON-side equivalent of generate_xml, distinguishing it from the most confusable sibling at a glance. No ambiguity about what this tool does.

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

Usage Guidelines5/5

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

Names generate_xml as the alternative and gives the selection criterion: callers whose tooling speaks JSON rather than XML. It lists the shared use cases (inspect, transform, archive) and even offers a CLI fallback for humans without an MCP client. This is explicit routing guidance rather than something left to inference.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kookerella-Ltd/Kookerella.FsWordDsl'

If you have feedback or need assistance with the MCP directory API, please join our Discord server