MCP server for deploying and managing code projects with support for multiple runtimes, scheduling, and remote agent targets
Berth MCP provides 16 well-named tools with consistent verb_noun patterns (berth_list_*, berth_deploy, berth_run, etc.). All tools have descriptions (avg ~80 chars, within baseline 34-392 range). Input schemas are present and properly typed with JSON Schema. However, parameter descriptions are sparse or missing entirely, most params lack actionable guidance on format, constraints, or dependencies. Output schemas are not documented. Error handling is minimal; no recovery guidance or error classification. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Composition is sound, tools chain logically (list → status → run → logs). Security concerns: path parameters in berth_deploy and berth_import_code lack sanitization guidance; no mention of permission gates or audit trails.
Add a new remote deploy target (agent endpoint)
Delete a project
Deploy code to a target. Can deploy from a directory path or inline code.
Auto-detect the runtime, entrypoint, and dependencies for a path
Check Berth system health and version
Import code from a path or inline string, creating a new project
List all Berth projects with their status, runtime, and metadata
Parameter descriptions are minimal or absent. 'project_id' appears in 8 tools but lacks format guidance (UUID vs name ambiguity). 'path' in berth_deploy and berth_import_code has no validation rules or path traversal warnings. LLMs cannot infer constraints from names alone.
No output schemas documented. Tools return structured data but LLMs cannot plan downstream calls without knowing response fields. E.g., berth_list_projects returns project metadata but schema is invisible.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk levels are declared in metadata but not in tool definitions. berth_delete and berth_schedule_remove are destructive but lack annotation to guide agent caution.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
List configured deploy targets (local + remote agents)
Fetch recent logs from a project run
Get detailed status of a specific project including run history
Remove a deploy target
Run a project. Use run_mode 'service' for long-running processes.
Add a cron-like schedule to a project. Supports: @every 5m, @hourly, @daily, @weekly, or 'M H * * *'
List all schedules
Remove a schedule by UUID
Stop a running project
Path parameters (berth_deploy, berth_import_code) lack sanitization guidance. No mention of path traversal validation, symlink handling, or safe directory constraints. Security risk if LLM passes untrusted paths.
Error handling is absent. No recovery guidance, error classification, or actionable messages. If berth_deploy fails, LLM has no guidance on retry strategy, user-fixable issues, or next steps.