An MCP server that wraps Apache Tika for document content and metadata extraction.
Single tool 'extract_file' has a basic schema with two required string parameters (file_path, tika_url) and a generic 10-word description. Schema is present but lacks output documentation. No parameter descriptions beyond the names themselves. No error handling guidance, no idempotency hints, no pagination or result limits. Tool name is verb-based (extract_) which is good, but the implementation exposes a Tika server URL as a parameter, a security and usability anti-pattern. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Descriptions are minimal (10 chars for tool, 0 chars for params). Baseline for A+ tools requires 50-200 char descriptions and 100% param descriptions; this server has neither.
Extract content and metadata from a file using Tika.
Tika server URL exposed as tool parameter instead of server-side injection. Agents will log this URL in traces; if it contains credentials or internal IPs, they leak into logs and prompt history.
Input parameters lack descriptions. 'file_path' and 'tika_url' have no guidance on format, constraints, or examples. LLMs cannot infer whether file_path accepts absolute paths, relative paths, or URIs.
No output schema documented. Tool description does not specify what fields are returned (e.g., content, metadata, format). LLMs cannot plan downstream tool calls or extract relevant data.
No error handling or recovery guidance. If file not found, Tika server unreachable, or format unsupported, the tool returns a raw error. LLM has no guidance on what to do next.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | <=2025-11-25 | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tool is read-only but LLM cannot infer this from the schema. Agents may incorrectly assume it modifies state.