A unified command-line utility for managing Model Context Protocol (MCP) servers. Combines enhanced and interactive versions for server management, configuration, and integration with Claude and Cursor.
mcptool.sh is a bash-based MCP server management utility with significant definition quality gaps. While 25 tools are listed, most lack comprehensive schema definitions, parameter type information, and detailed descriptions. The server appears designed as a CLI wrapper for managing other MCP servers rather than exposing rich tool definitions. Of the 25 tools: (1) Naming is generally adequate (verb-noun pattern mostly followed), with names like 'run', 'list', 'add', 'info' being clear. (2) Descriptions exist for all tools but are brief (10-50 chars typically) and lack LLM-optimized detail about when to use each tool, what prerequisites exist, or what downstream operations become possible. Example: 'List all available MCP servers and groups from configuration' (60 chars) doesn't explain why an agent would call this vs. directly running a server. (3) Schemas are visible for tools 2-8, 13-17, and 20-25, but many lack detailed parameter descriptions beyond one sentence. Tools 1, 9, 10, 11, 12, 18, 19 show no visible input schemas in the source. (4) Output schemas are not documented for any tool, agents cannot know what fields to expect after calling 'run', 'list', or 'json'. (5) Error handling is absent; no tool describes retryability, failure modes, or recovery guidance. The 'add' tool family (tools 5-8) handles configuration writes but lacks confirmation patterns or dry-run options despite modifying user config files.
Add an MCP server to various backends: Claude, Cursor, or a custom JSON file
Add server definition to Claude MCP using the Claude CLI
Add server definition to Cursor MCP configuration file
Generate shell autoloader script for MCP Tool integration with shell configuration
Create a custom group file containing a subset of servers
Generate comprehensive documentation for all configured MCP servers and groups
Verify that all required environment variables for a server are set, with interactive setup option
Generate shell autoloader configuration with aliases and completion functions
No output schemas documented for any tool. Agents cannot know what fields to expect after calling these tools, forcing them to guess at response structure and breaking tool-chain composition.
Nine tools (list, docs, autoloader, interactive, help, get_servers, get_groups, ensure_env_vars_set, process_env_vars) have NO visible input schemas in the source code.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 38 | 2026-07-28+ | v2 |
Generate comprehensive markdown documentation for all servers and groups
Retrieve list of servers belonging to a specific group
Retrieve list of all configured server groups from groups configuration file
Retrieve the complete configuration definition for a specific server
Retrieve list of all configured MCP servers from configuration file (JSON or YAML)
Retrieve and validate a server definition, ensuring all required fields exist
Display help information for mcptool commands
Get detailed information about a specific MCP server or group
Launch interactive menu for server and group selection and management
Output the JSON definition of a server or group
List all available MCP servers and groups from configuration
Process server environment variables with variable substitution and proper escaping
Run an MCP server or group of servers. Supports background execution and separate terminal windows.
Run servers in background (detached) mode with logging and PID tracking
Run servers in separate terminal windows based on operating system
Interactive wizard for configuring environment variables for a server
Interactive wizard for initial configuration of a server's environment variables
Descriptions are uniformly too brief (25-60 characters). Most lack guidance on WHEN to use the tool vs. similar tools, what prerequisites exist, or what downstream operations become possible. Example: 'Launch interactive menu for server and group selection and management' (66 chars) doesn't explain when an agent should choose this over 'list' + 'info'.
Parameter descriptions exist but are minimal (one short sentence). Parameters like 'scope' in add_to_claude enumerate values but don't explain the consequences of choosing 'project' vs. 'user' scope, critical for agents to reason about side effects.
No error handling documentation. Agents don't know: Which failures are retryable? Which require user input? What should the agent do if 'add_to_claude' fails? Are side effects partially applied? Missing recovery guidance breaks agent planning.
Destructive/write tools (add, add_to_claude, add_to_cursor, setup, autoloader, generate_autoloader, create_custom_group, ensure_env_vars_set, setup_wizard) lack confirmation or dry-run patterns. An agent could overwrite user configuration without confirmation.
Parameter 'overwrite' in add_to_cursor defaults to false (implied), but the semantics of overwriting config files are not explained. If true, what exactly is overwritten? Entire file or just the entry for this server?
Tool names like 'add_to_claude', 'add_to_cursor', 'add_to_cursor' create confusion. The base 'add' tool also modifies config. No clear distinction of when to use 'add' vs. 'add_to_claude', agents will struggle to choose.
No pagination or limit control visible in tools returning lists (list, get_servers, get_groups, get_group_servers). If a config contains hundreds of servers, these tools will return unbounded results, exhausting the context window.