Skip to main content
Glama

generate_wiki

Generates wiki docs — parameters, risk posture, Markdown pages — from source code; eliminates documentation drift that costs engineers hours per sprint. Use when a module ships undocumented or its docs lag. WHEN NOT TO USE: snippets under 5 lines; files with no public functions. Languages: PowerShell, Python, Go, CSharp, Java, COBOL. Use async=true for large files; poll with get_generation_status.

Tool call template

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

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "code": "<code>",
      "language": "<language>"
    },
    "name": "generate_wiki"
  }
}

Input Schema

NameRequiredDescriptionDefault
codeYesRaw source code to document. Max 1 MB.
asyncNoWhen true, returns a job_id immediately and processes in the background. Default false (synchronous).
languageYesSource language. One of: PowerShell, Python, Go, CSharp, Java, COBOL.
module_nameNoOptional display name used as the wiki page title. When omitted, a name is inferred from the code.

Output Schema

NameRequiredDescriptionDefault
_metaNo
errorNo
job_idNo
statusYes
wiki_docNo
retryableNo
elapsed_msYes
error_codeNo
available_languagesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are supplied, so the description carries the full burden; it discloses the async/background execution mode, the polling follow-up via get_generation_status, and the supported language surface. It stops short of stating whether source code is retained or transmitted, any rate limits, or whether the operation has side effects — details that matter for a tool that ingests proprietary code.

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?

Front-loaded purpose followed by a WHEN NOT TO USE block and a compact operational note — a well-ordered structure that an agent can scan quickly. The clause 'eliminates documentation drift that costs engineers hours per sprint' is promotional padding that does not help tool selection and could be cut.

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

Completeness5/5

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

An output schema exists, so return values need not be explained, and the input schema fully documents all four parameters. Given that support, the description covers exclusions, language scope, and the async/polling workflow, leaving nothing essential missing for correct invocation.

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

Parameters4/5

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

Schema coverage is 100% and each parameter is documented, so the baseline is 3. The description adds a decision rule the schema does not: use async=true specifically for large files, which converts a boolean flag into an actionable choice; the language list is merely restated from the schema.

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

Purpose5/5

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

States a concrete verb and resource ('Generates wiki docs') plus the artifacts produced (parameters, risk posture, Markdown pages) and the input ('from source code'). It is immediately distinguishable from the siblings get_generation_status and get_supported_languages, which are polling and lookup utilities rather than generators.

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?

Explicitly says when to use ('when a module ships undocumented or its docs lag') and when not to use ('snippets under 5 lines; files with no public functions'). It also routes the agent to the async workflow and names the sibling to poll with, so no alternative-selection inference is required.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources