The server has 4 tools with significant gaps in definition quality. Tool names are generic and do not follow action-verb conventions (LinkIndexRebuilder, DataExporter, CategoryFetcher are noun-based). All parameter descriptions are explicitly null or missing, violating the requirement that every parameter must have a description. Tool descriptions are present but lack context for when to use each tool and what the output contains. No output schemas are documented. The server uses Zod for input schema definition, which is present in code but descriptions are universally absent, making parameters opaque to LLMs. No error handling strategy is evident from the code. This server is in the D (Poor) range, most descriptions are missing depth, all parameters lack descriptions entirely, and no output structure is documented.
Checks the health of the Jotty API.
Rebuilds the internal link index for a specific user.
Provides basic system information about the server, including platform, architecture, Node.js version, uptime, and memory usage. This resource offers insights into the operational environment of the MCP system
Generates the current timestamp in various formats (ISO, Unix, readable). This utility provides time-related information to agents within the MCP system.
All parameter descriptions are null or missing. The Zod schema in rebuild-link-index.ts shows `z.string()` with no description; export-data.ts has null descriptions for 'type' and 'username' parameters.
Tool names are noun-based (LinkIndexRebuilder, DataExporter, CategoryFetcher) rather than action verbs (rebuild_link_index, export_data, list_categories). LLMs infer intent from the verb, current names obscure what action occurs.
No output schemas documented. Tool responses are JSON-stringified results, but the agent cannot know what fields to expect. LinkIndexRebuilder returns {result}, DataExporter returns export data in unknown structure, CategoryFetcher and HealthChecker return unknown response shapes.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 10 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 27 | - | v1 |
DataExporter's 'type' parameter is an enum (json|csv) but the description is null, leaving LLMs unable to know when to choose json vs csv or what format each produces.
No error handling guidance. Tools catch exceptions and return JSON responses, but there is no indication of what errors are retryable, what guidance to provide LLMs on failure, or how to recover from common failures (API unavailable, user not found, etc.).
CategoryFetcher and HealthChecker have no input parameters; it's unclear when or why an LLM should call them vs other discovery tools. Descriptions do not explain dependencies or prerequisites.
LinkIndexRebuilder description does not explain that this is a write operation with side effects (rebuilds index), and there is no confirmation or dry-run pattern to prevent accidental rebuilds.