MCP server: install & register Model Context Protocol servers in Cursor, VS Code, and Claude Desktop from npm, PyPI, or local folders (npx mcp-hosts-installer).
This server provides two clearly-named installation tools with reasonable schemas and descriptions. However, there are notable gaps in parameter descriptions, missing output schema documentation, and no structured error handling guidance. Tool names follow verb_noun convention well (install_repo_*, install_local_*), descriptions are present and adequate (80-120 chars), and input schemas use Zod with basic type definitions. The main weaknesses are: (1) parameter descriptions for 'args' and 'env' are minimal and don't explain format constraints ('delimited by =' is mentioned but not actionable for LLMs); (2) no documented output schema structure, the code returns {content, isError} but this is not declared anywhere visible to the agent; (3) error handling is basic, many failure modes (missing config file, invalid paths, spawn failures) return generic error messages without recovery guidance; (4) no batch operations or pagination support (not critical for this use case, but relevant for composition). The schema score is capped at 50-60 because while Zod schemas are present, they lack sufficient constraint documentation (e.g., what are valid values for 'args'? What format for 'env'?). Overall, this is a solid community tool with functional definitions but missing some production-grade polish around LLM ergonomics.
Install an MCP server from a local folder
Install an MCP server from a repository (npm or PyPI package)
Parameter 'args' and 'env' lack actionable constraint descriptions. 'env' description says 'delimited by =' but doesn't explain how LLMs should format it (e.g., ['KEY=value', 'KEY2=value2']) or what happens if format is wrong.
Output schema not documented. Code returns {content: [{type, text}], isError: boolean} but agent has no visibility into this structure. Should include formal return type documentation.
Error responses lack recovery guidance. Examples: 'This client (${host}) is not installed!' and 'Invalid npm package name' do not tell the agent what to do next or suggest alternatives.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 19 | - | v1 |
No distinction between retryable and fatal errors. If npm package lookup fails due to network timeout vs. invalid package name, the agent cannot differentiate and may waste retries.
'host' parameter description is generic. Should clarify: 'Target app where the MCP server will be registered. If omitted, automatically detects installed clients (prefers Cursor, then VS Code, then Claude Desktop).'
Tool descriptions do not state that these are WRITE operations (modify client configuration files). LLMs need to know operations are irreversible.