Server that allows AI models to connect with computer systems, enabling file operations, program control, system command execution, and integration with multiple AI models including Claude Desktop and Ollama
Critical failures across naming, descriptions, and schemas. Tool names lack clear action verbs (e.g., 'connect_to_ollama' vs 'query_ollama_model' are vague about what 'connect' does). Descriptions are present but generic (50-100 chars, below the 194-char baseline). Parameter schemas visible in code but lack type constraints and enums for critical fields like 'operation' (read|write|delete|list) and 'task_type'. No output schemas documented. Duplicate tool names ('health_check', 'generate') indicate poor composition. Destructive tools (execute_file_operation, execute_system_command) lack confirmation patterns or dry-run support. Error handling returns generic success/error dicts without recovery guidance.
Connect to Claude Desktop by checking model info endpoint
Connect to an AI model (Ollama, Claude, OpenAI, etc.)
Connect to Claude Desktop AI application
Connect to an Ollama model by verifying its availability
Disconnect from Claude Desktop
Disconnect from a connected AI model
Execute file operations including read, write, delete, and list directory contents
Duplicate tool names ('health_check' appears 2x, 'generate' appears 2x, 'connect' appears 2x) violate single-responsibility principle and confuse LLM tool selection.
Destructive tools (execute_file_operation with 'delete', execute_system_command) lack confirmation/dry-run patterns. No recovery guidance in error responses. Agents can irreversibly delete files or execute arbitrary commands without safeguards.
Parameter 'operation' in execute_file_operation and 'task_type' in execute_task lack enum constraints. Descriptions say 'read, write, delete, or list' but no formal enum in schema. LLMs will hallucinate invalid values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 34 | <=2025-11-25 | v2 |
Execute system commands with optional arguments, working directory, and timeout
Execute a task of various types: system_command, file_operation, or program_control
Generate a response from Claude using the Anthropic API
Generate a response from Claude Desktop with optional system prompt
Check if the Claude API is accessible by sending a test prompt
Check if the MCP server and connected services are healthy
List all connected AI models
Query Claude Desktop with a prompt and receive a response
Query an Ollama model with a prompt and receive a response
Start a program with optional arguments and track its process ID
Stop a running program by process ID
Get the status of a running or completed task
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. E.g., list_models returns unknown structure; execute_task returns generic {task_id, status, result, error}.
Tool names use vague verbs ('connect_to_*', 'query_*') that don't clearly distinguish intent. 'connect_to_ollama' vs 'query_ollama_model', does 'connect' establish a session or just verify availability? Ambiguity forces LLM guessing.