Build plug-and-play MCP servers for any dev workflow
This is a monorepo of 6 modular MCP servers with 17 tools total. Most tools are READ_ONLY utilities (code search, git, database queries, documentation) with one WRITE tool (save_memory) and one DESTRUCTIVE tool (delete_memory). Across the toolkit: descriptions are present but generic (60-150 chars, below the optimal 50-200 char range for LLM optimization). Input schemas are visible and use Zod with type and description on most params, but 11 of 17 tools lack fully detailed parameter descriptions (e.g., 'Glob pattern' is too terse). Output schemas are not documented, responses appear to be unstructured or implicit from function returns. Error handling is basic (no recovery guidance visible in tool definitions). Tool naming follows verb_noun convention well (search_, list_, read_, query_, get_, git_*, save_, delete_). Security is reasonable for read-only tools but the delete_memory tool lacks a confirmation mechanism. Composition is good, tools are single-responsibility and chainable (e.g., list_files → read_file, search_code → read_file). Overall: a solid starter toolkit with good naming and basic schema structure, but descriptions need depth, output schemas need documentation, and error handling needs recovery guidance.
Delete a persistent project memory by its exact ID or exact title. Requires the server to be started with --writable.
Get current weather for a city using wttr.in (no API key needed).
Show who last changed each line of a file.
List all local and remote branches.
Show the diff for a commit hash, or the current working tree if no hash given.
Get recent commit history. Optionally filter by file path.
List all available documentation files.
Output schemas not documented. Tools return unstructured or implicit responses. LLMs cannot plan downstream tool calls or extract typed fields reliably.
Parameter descriptions too terse. Most params have 1 - 2 word descriptions ('Glob pattern', 'Max results', 'File path') instead of 50 - 150 char actionable guidance. LLMs cannot infer format, constraints, or when to use optional params.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
List files in the codebase matching a glob pattern.
List persistent project memories. Optionally filter by category. Without a category, memories are grouped by category.
List all tables in the database with their column names.
Run a read-only SQL query (SELECT only). Write operations are blocked.
Search persistent project memories by keyword or tag. Results are case-insensitive and ranked by relevance.
Read the full content of a documentation file.
Read the full contents of a file.
Save a persistent project memory such as an architectural decision, development pattern, constraint, rule, or other important context.
Search for a keyword or pattern across the codebase. Returns file path, line number, and surrounding context.
Search documentation files for a keyword or phrase. Returns matching sections with context.
delete_memory lacks confirmation or dry-run mechanism. A destructive tool should require explicit confirmation before execution to prevent accidental data loss from agent mistakes.
Error handling undefined. No visible guidance for what to do on failure (retry, ask user, ask for clarification). Agents have no recovery strategy.
Tool descriptions are generic (60 - 150 chars). Baseline optimal is 50 - 200 chars with WHAT/WHEN/RETURN info. Current descriptions lack context for LLM selection logic.
No pagination or result limits documented for search/list tools. Large result sets (search_code, query_memory, git_log) could blow context windows without explicit caps or cursors.
No input validation or constraints shown for free-form string params (query, sql, path). LLMs can pass SQL injection payloads, path traversal attacks, or invalid globs without guardrails.