MCP server wrapping AppBootstrapAI's install.sh so AI agents (Claude Code, Cursor, Gemini CLI, Kiro) can invoke it through structured tools instead of parsing shell output.
Server exposes 9 tools with clear verb-noun naming (recommend_setup, list_categories, preview_install, install, uninstall). All tools have descriptions (avg ~120 chars, within baseline 34-392). Input schemas are present and typed for all tools. However, parameter descriptions are sparse or missing entirely, most params lack guidance on format, constraints, or when to use them. Output schemas are not documented; LLMs cannot predict response structure. Error handling exists but lacks recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE). Composition is sound: tools chain logically (recommend_setup → preview_install → install). Security concern: install/uninstall are destructive but lack confirmation/dry-run enforcement in the tool interface itself.
Run `install.sh` against a target directory (supports --agents and --with-mcps).
Return the feature categories with descriptions. The set is read live from `install.sh --list --json`, so it never drifts from what the installer recognizes.
Return every rule's frontmatter (description, globs, file path).
Return every skill's frontmatter + its reference files.
Run `install.sh --list` for a given selection; return parsed catalog.
Run `install.sh <dir> --uninstall --dry-run` (plan-only).
Run `install.sh <dir> --upgrade` (plan-only, writes nothing).
Parameter descriptions missing or minimal. 'platform', 'apple_language', 'features', 'agents', 'with_mcps' lack guidance on format, valid values, or constraints. LLMs cannot infer whether 'features' accepts 'all', 'recommended', or a CSV without explicit description.
Output schemas not documented. Tools return JSON but LLMs have no schema to predict structure. E.g., recommend_setup returns 'command[]' but no field names, types, or example structure are visible.
Destructive tools (install, uninstall) lack tool annotations. No readOnlyHint or destructiveHint declared. Agents cannot distinguish safe discovery tools from irreversible operations without reading descriptions carefully.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Analyze a directory and return the recommended action (create / adopt / upgrade) as JSON with a ready-to-run command[]. The agent's entry point: call it first.
Run `install.sh <dir> --uninstall` (destructive — preview first).
Error handling lacks recovery guidance. Code catches errors but responses do not tell LLM what to do next (retry, ask user, abort). E.g., 'Unknown feature category' error is actionable, but generic spawn errors are not.
Enum constraints present in schema but not reinforced in parameter descriptions. 'platform' has enum ['apple','android','both'] in schema but description does not repeat valid values, forcing LLM to parse JSON Schema.