Word MCP Server
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool targets a distinct input/output format: plain text, XML, JSON, F# script, C# script, or schema, so an agent can select based on the caller's data format and desired output. The inverse pairs (read vs create) are clearly labeled, and the schema tools are distinct from the document-generation tools.
Naming Consistency5/5Tool names consistently follow a verb_noun pattern, with create_* for writing documents, generate_* for extracting representations or schemas, and read_* for simple plain-text reading. The from_xml/from_json suffixes make format-specific variants predictable and easy to compare.
Tool Count5/5Ten tools is well-scoped for a Word document server covering creation, reading, multiple serialization formats, and schema retrieval. Each tool serves a clearly identifiable consumer need, and the count is not bloated.
Completeness4/5The tool surface covers full-featured round-trips for XML and JSON, plus a simple plain-text round-trip and schema generation, which covers the core authoring/inspection workflow well. Obvious gaps like updating or converting an existing document between representations are minor given the server's stated purpose of building and inspecting .docx files.
Average 4.4/5 across 10 of 10 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 19 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
This repository includes a glama.json configuration file.
This server has been verified by its author.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does well by revealing that output is a plain .docx, that paragraphs are created in order, and that many Word features are unsupported. It does not mention overwrite behavior or return value, but for this simple creation tool the disclosed limitations are significant and useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff: the purpose is stated first, followed by clear limitations and an alternative reference. Every sentence earns its place and the description is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter creation tool, the description plus schema covers the essential behavior, limitations, and disk output. It does not describe return value or overwrite semantics, but given the output schema is absent and the function is straightforward, the definition is largely complete. Mentioning the XML-based sibling could have improved routing further.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both path and paragraphs. The description adds the contextual note that each string becomes one plain paragraph in order, which reinforces the schema but does not add major new semantics beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('creates') and resource ('new Word document (.docx)') along with the exact input form (a simple list of paragraph texts) and output behavior (saves it to disk). It also differentiates from siblings like create_document_from_xml by explicitly limiting the scope to plain paragraphs with no formatting, styles, tables, or images.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly implies use for simple paragraph-only documents and explicitly calls out unsupported features (run styling, tables, images, headers/footers, track changes), directing users to the underlying library for those cases. It could be stronger by naming a specific sibling tool like create_document_from_xml as the alternative for richer documents, but the guidance is still clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so well: it states the side effect of saving to disk, places execution server-side, notes that .NET is not needed by the caller, and gives the CLI equivalent. It does not explicitly describe return values or error/validation behavior, but it is otherwise transparent about what the tool does and how it operates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded, and the comparisons with generate_xml and create_document are valuable. However, the description is long and includes tangential details such as the plain-shell CLI path and the fact that any language can call it; these are useful context but could be trimmed without losing essential selection and invocation guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the absence of annotations and output schema, the description is largely complete: it explains when to use it, what feature set it covers, how it relates to siblings, and where the heavy lifting happens. The only real gaps are explicit return-value expectations and behavior on validation failure or file overwrite, but these do not severely undermine the agent's ability to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already fully documents the xml and path parameters. The description reinforces that the XML must match Xml.xsd and that the output is a Word document saved to disk, but it does not add substantial parameter-level meaning beyond what the schema provides. The baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Builds a new Word document from XML ... and saves it to disk.' It also distinguishes this tool from close siblings by calling it the inverse of generate_xml and by contrasting it with create_document, which is limited to plain paragraph text. This makes the tool's purpose and scope immediately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance on when to use this tool: when a caller already produces XML, wants to reach Word without learning OOXML, the library API, or .NET, and needs the full feature set including styles, tables, and images. It names alternatives (generate_xml and create_document) and even clarifies the exclusions: unlike create_document, this tool is not limited to plain text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It clearly states that the tool reads an existing document and returns generated C# code, and adds useful context about the DSL, .NET 10 file-based apps, and no-.csproj requirement. It does not discuss edge cases, errors, or whether the input document remains untouched, but the core behavior is transparent enough for a safe read-and-generate operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The main action is front-loaded and the description provides rich context, but the second sentence is quite long with several parentheticals and slightly repetitive DSL comparison. Still, nearly every piece of information earns its place by helping the agent understand the tool's output and relationship to siblings.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description does well to explain what the returned artifact is, how it is meant to be executed, and what feature areas it covers. It could be more complete about return format or failure behavior, but for a generation tool with fully documented parameters, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema. The description does not add any parameter-specific guidance beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation: reads an existing Word document and returns a self-contained C# file that rebuilds an equivalent document. It also explicitly contrasts itself with generate_fsharp_script and create_document, making its role distinct from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly identifies generate_fsharp_script as the alternative and gives the selection criterion: C# vs F#. It also explains when the tool is useful (explaining file structure, as a starting point for fluent API) and notes it goes beyond what create_document exposes, giving an agent clear guidance on when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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/5Is 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/5Given 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/5Does 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/5Does 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/5Does 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.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It does well by revealing the exact return format, the round-trip convention, and the major excluded feature categories plus where to find the full list. It does not mention error behavior for nonexistent paths or unreadable files, which is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured: the first sentence states the core behavior and return format, the second provides useful limitations, and the third emphasizes the table/non-paragraph skip rule. No sentence is wasted, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter, no output schema, and no annotations, the description is sufficiently complete: it states what the tool does, what it returns, which document types are accepted, and which content is omitted. An agent has enough information to decide whether to call it and what to expect from its response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes 'path' as 'Path to an existing .docx or .docm file', so schema coverage is 100%. The description adds context about the expected file type and that the document must already exist, but it does not materially expand beyond the schema's parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Reads'), a specific resource ('existing Word document (.docx/.docm)'), and precisely describes the output ('JSON array of plain strings, one per paragraph'). It also ties the output convention to create_document, which distinguishes the read behavior from the create-oriented sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use the tool: to read an existing Word document as plain paragraphs. It also gives explicit when-not guidance by stating that tables, non-paragraph blocks, and rich features like styling or track changes are skipped entirely. However, it does not name an explicit alternative tool for those unsupported features, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It clearly states this is a filesystem write operation, mentions that .NET execution happens server-side, and notes the CLI-equivalent path. It does not disclose overwrite semantics or error behavior, but the core side effect is unambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single long, winding sentence with several embedded clauses and parenthetical asides, making it harder to parse quickly. The core action is front-loaded and the content is dense, but it would benefit from being split into a couple of crisp sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description covers the input contract, output destination, feature parity, and relationship to siblings. It does not explain overwrite behavior or return values, but those are secondary to correct invocation given the clear write-to-disk contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage for the two parameters is 100%, so the baseline is 3. The description adds meaning by tying the json parameter to generate_json's output shape, enumerating supported features like named styles, tables, and images, and confirming path is the disk target.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action and resource: "Builds a new Word document from JSON... and saves it to disk." It also clearly separates this tool from siblings by calling it "the inverse of generate_json," "the JSON-side equivalent of create_document_from_xml," and by contrasting it with create_document's plain-text-only limitation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to use this tool: for callers who already produce JSON and want Word output without learning OOXML, the F#/C# API, or needing .NET installed. It also names alternatives and distinguishes feature coverage, so an agent can route between this tool, create_document_from_xml, and create_document.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure burden. It communicates that the tool reads an existing file, that it does not modify the input (it reverse-engineers), and that the output is a script requiring dotnet fsi to run. It also discloses the generated script's save target via outputFileName. It does not mention side effects, but the read-only nature is implied by 'Reads an existing Word document... reverse-engineer'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense paragraph that front-loads the core action (reads a document, returns a script) and then provides the purpose and differentiation. Every sentence earns its place, with no filler or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 required params with full schema coverage, no output schema, and no nested objects, the description covers the essential context: input, output, runtime requirement (dotnet fsi), and differentiation from create_document. It doesn't explicitly mention error cases or file access implications, but for a read-and-generate tool with this schema, the description is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters. The description adds context to outputFileName by explaining that it is the filename the generated script should save its rebuilt file to, reinforcing the parameter's role in the generated output. This goes slightly beyond the schema's own description, which is helpful for an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Reads... and returns'), a specific resource (existing Word document), and the output (self-contained F# script). It also distinguishes itself from create_document by explaining it exposes the full library feature set, which differentiates it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: useful for explaining a file's structure or as a starting point for full-feature generation. It implicitly contrasts with create_document, which is a key alternative among siblings, though it does not explicitly say 'when not to use this tool'. The intended use cases are clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It discloses that the schema is not validated against at runtime, is bundled in the MCP tool rather than the core library, and exists purely to be handed back on request. This prevents false expectations about validation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The most important information is front-loaded: what is returned, for whom, and why. The third sentence adds a useful caveat about runtime validation, but the .NET/JsonSchema.Net implementation aside makes it slightly more verbose than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description is complete. It covers the return value, the relationship to related tools, the intended use, and an important limitation, so an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description has no parameter semantics to add. Per the baseline rule for no-parameter tools, this is adequate; the description correctly focuses on return behavior instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Returns the raw JSON Schema (Json.schema.json)'. It further identifies the schema's relationship to generate_json and create_document_from_json, which clearly distinguishes it from the XML-schema sibling and from example generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names the intended audience and use case: callers authoring JSON by hand or script who want validation/autocomplete, rather than reverse-engineering from a generate_json example. It does not enumerate explicit 'when not to use' scenarios, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains server-side .NET execution, client-side language independence, validation against an embedded schema, CLI availability, and the absence of an output-filename parameter. This gives the agent a clear picture of what happens and what the tool does not do.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then efficiently covers usage guidance, cross-language accessibility, and sibling differentiation. Every sentence adds meaningful information, including the CLI fallback and feature-set comparison, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one required parameter, no output schema, and no annotations, the description is highly complete. It explains what the tool returns, how it validates, what makes it different from siblings, and how it can be invoked from various environments. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single 'path' parameter is already described as 'Path to an existing .docx/.docm file to convert to XML.' The tool description reinforces that the input is an existing Word document, but adds no new parameter-level semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific action, resource, and output: reads an existing Word document and returns it as XML. It also distinguishes itself from sibling code-generation tools by explicitly naming generate_fsharp_script and generate_csharp_script as alternatives and clarifying it returns data rather than a runnable script.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description is explicit about when to use this tool: when the caller wants to inspect, transform (e.g., via XSLT), or archive a document without F#/C# source and without a .NET runtime. It also states what it is not for, noting that unlike the script generators, it returns data and has no output-filename parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool is a simple retrieval ('Returns the raw XSD'), implies a read-only behavior, and adds useful context about the schema's role. It does not discuss potential response formatting or side effects, but for a zero-parameter accessor this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundancy. It front-loads the core behavior in the first sentence and adds practical use-case context in the second, making every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is complete. It explains what is returned, why the XSD is useful, and how it relates to generate_xml and create_document_from_xml, so an agent can correctly select and invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is trivially 100%, so the baseline is 4. The description adds no param details because none are needed; it is clear that no input is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') and names the exact resource (the raw XSD, Xml.xsd). It clearly distinguishes the tool from siblings by explaining that the schema is shared by generate_xml's output and create_document_from_xml's input, and by positioning it as a schema-authoring aid rather than a generation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use this tool: when authoring XML by hand or via transform and wanting schema validation/autocomplete. It also gives an alternative ('rather than reverse-engineering the shape from a generate_xml example'), which helps an agent decide between this and another approach.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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