Agent-VC MCP Server - A version control and project management server using Fossil SCM
Agent-VC MCP has 10 tools with complete input schemas and basic descriptions, but falls short of production quality. All tools have descriptions (10-100 chars, mostly 50-80), and schemas are properly typed with required fields. However, descriptions lack depth, they state WHAT but rarely explain WHEN to use or dependencies. Parameters lack format constraints (e.g., no enum for task status filter, no regex for project names). Output schemas are undocumented; responses are plain text, not structured. Error handling is minimal, generic 'Error: {message}' with no recovery guidance. No tool annotations (readOnlyHint, destructiveHint). File operations (read_file, write_file, list_files) lack path validation or traversal guards. Task tools accept free-form status strings despite enum constraints in task_update. Overall: functional but below production baseline of 70+.
Lists all files in a specific project's workspace.
Read a file from within a project's workspace.
Creates a new Fossil ticket (task).
Lists existing Fossil tickets.
Update a Fossil ticket (task).
Commits current changes across the entire workspace to Fossil.
Returns the diff of current changes in the workspace.
Output schemas undocumented. Tools return plain text responses (e.g., 'res' stringified as JSON), but LLMs cannot infer structure. list_files returns JSON.stringify(res) without documenting field names, types, or pagination.
Descriptions lack WHEN/WHY context. 'Commits current changes' does not explain when to call vs vc_diff, or that it requires staged changes. 'Lists existing Fossil tickets' omits that status filter is optional and what statuses are valid.
No input validation or path traversal guards. read_file and write_file accept arbitrary subPath without validating against '..' or absolute paths. Agents could read/write outside project boundaries.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Initializes a new project folder inside the workspace.
Returns the current Fossil workspace status.
Write content to a file in a project's workspace. Automatically adds to Fossil tracking.
Error handling is generic. All errors return 'Error: {message}' with no recovery guidance. No distinction between retryable (network timeout) vs user-fixable (invalid project name) vs fatal errors.
No tool annotations. Tools lack readOnlyHint (vc_status, vc_diff, read_file, list_files, task_list) and destructiveHint (vc_commit, write_file, task_create, task_update). LLMs cannot infer safety without explicit hints.