MCP server for Terraform documentation generation and processing
This MCP server has significant definition quality issues. Only 4 tools are defined, and while they have basic schemas and descriptions, the descriptions are sparse (10-40 chars) and lack context for LLM selection. Tool naming is reasonable (verb-based: add, greet, process_document, get_server_status) but descriptions are minimal. The 'add' and 'greet' tools are toy examples, not production use cases. Parameter descriptions exist but are terse (e.g., 'First number', 'User name'). No output schemas are documented. Error handling is absent. The 'process_document' tool accepts an optional 'options' object with type 'object' but no description of what options are valid, this violates constrained-input pattern. Overall, this reads as a minimal example server, not production-grade.
Add two numbers together.
Get the current server status.
Greet a user by name.
Process a document asynchronously.
Descriptions are critically short (10-40 characters). LLMs need 50-200 char descriptions to understand when and why to select a tool. Examples: 'Add two numbers together.' (29 chars) lacks context for selecting 'add' over other operations; 'Greet a user by name.' (21 chars) offers no hint about prerequisites or return value.
No output schemas documented. LLMs cannot know what fields to expect from tool responses, blocking downstream tool composition and forcing agents to probe or guess at return structures.
process_document accepts an 'options' parameter of type 'object' with description 'Optional processing options' but provides NO enum, schema, or constraint details. LLMs cannot determine valid options without trying or guessing.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 36 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 44 | - | v1 |
Parameter descriptions are generic and terse ('First number', 'User name'). No format hints, ranges, or constraints. Descriptions should state expected format, range, and allowed values per pattern:tool-description.
No error handling or recovery guidance. Tools do not document what errors can occur, when they are retryable, or what the LLM should do next (e.g., 'If user not found, try search_users().').
Tools 'add' and 'greet' are toy examples, not real domain tools. A production Terraform documentation server should expose tools for searching docs, retrieving resource schemas, or validating configurations, not arithmetic or greeting.
get_server_status accepts zero parameters (empty properties object). Tool description does not explain what 'status' includes or when to call this vs other diagnostic tools.