MCP server giving AI agents local text tools — stats, extract, find-replace, case (free), plus redact PII, sort/dedupe lines (Pro). Text never leaves the machine.
VaultText has clear, action-verb naming (text_stats, text_extract, text_replace) and complete Zod schemas with type definitions for all parameters. Descriptions are present and adequate (avg ~100 chars), exceeding the 20-char minimum. However, parameter descriptions lack actionable detail on constraints, formats, and error recovery. Output schemas are not documented, LLMs cannot predict return structure. Error handling returns generic messages ('Error: ' + e.message) without recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles (READ_ONLY vs WRITE). Missing pagination, result limits, and structured output documentation.
Rewrite a local text file in upper, lower, title case, or as a URL slug.
Pro: remove duplicate lines from a local text file, preserving order.
Extract all unique emails, URLs, or numbers from a local text file.
Pro: replace all emails, URLs, or numbers in a local text file with [REDACTED] (privacy).
Find and replace text in a local file, plain or regex, and write the result.
Pro: sort the lines of a local text file, optionally descending and/or unique.
Count characters, words, lines, sentences and estimate reading time of a local text file.
Output schemas not documented. LLMs cannot predict return structure (e.g., does text_stats return a string or object? What fields?). Forces agents to guess and parse unstructured text.
Tool annotations missing. text_stats, text_extract are READ_ONLY; text_replace, text_case, text_redact, text_sort_lines, text_dedupe_lines are destructive (WRITE). No readOnlyHint or destructiveHint in schema, agents cannot distinguish safe from risky tools.
Error handling returns raw exception messages ('Error: ' + e.message) without recovery guidance. No categorization (retryable vs user-fixable vs fatal). LLM cannot determine next action on failure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Parameter descriptions lack actionable constraints. 'Absolute path to the text file' does not specify: must file exist? What if path is relative? What encodings are supported? What max file size?
No confirmation or dry-run for destructive operations (text_replace, text_redact, text_sort_lines, text_dedupe_lines). Agents can overwrite files without verification, risking data loss.