A Model Context Protocol server for Upsun cloud platform integration
This MCP server demonstrates solid definition quality across 38 tools with consistent naming conventions, structured schemas, and descriptions. All tools follow verb_noun naming (add-domain, delete-domain, list-domain, etc.) and use a centralized Schema helper for parameter definitions. Input schemas are present and typed for all tools. However, there are gaps: descriptions are brief (7-50 chars for most tools, below the 50-200 char LLM-optimized baseline), parameter descriptions lack detail about formats/constraints, and output schemas are undocumented. Error handling and recovery guidance are absent from descriptions. The server shows strong infrastructure (OpenTelemetry, proper logging, TypeScript/Zod validation) but could improve prompt-engineering for LLM selection and parameter validation messaging.
Activate a environment of upsun project
Add an SSL/TLS certificate of upsun project
Add Domain on upsun project
Cancel a activity of upsun project
Create a backup on upsun project
Create a Organization on upsun
Create a new upsun project
Output schemas are completely undocumented. While input schemas are well-defined with Zod validation, no tool describes what fields it returns. LLMs cannot plan downstream calls or extract needed data without knowing response structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 63 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 43 | - | v1 |
Delete a backup of upsun project
Delete an SSL/TLS certificate of upsun project
Delete a Domain on upsun project
Delete a environment of upsun project
Delete a Organization on upsun
Delete a upsun project
Get detail of activity on upsun project
Get a backup of upsun project
Get an SSL/TLS certificate of upsun project
Get a Domain of upsun project
Get route URL of upsun project
Get information of environment on upsun project
Get information of organization on upsun
Get information of upsun project
List all activities of upsun project
List all backups of upsun project
List all SSL/TLS certificates of upsun project
List all Domains of upsun project
List all environments of upsun project
List all my organizations on upsun. Results are paginated; pass `links.next.href` or `links.previous.href` as `page_link` to follow pages.
List upsun projects in an organization. Results are paginated; pass `links.next.href` or `links.previous.href` as `page_link` to follow pages.
List routes URL of upsun project
Get log activity of upsun project
Display logs of app of upsun project
Merge a environment to parent environment of upsun project
Pause a environment of upsun project
Redeploy a environment of upsun project
Restore a backups of upsun project
Resume a environment of upsun project
Update a Domain of upsun project
Get all URLs of environment of upsun project
Descriptions like 'Get a Domain of upsun project' lack context on WHEN to use the tool instead of a similar one, WHY it matters, and what prerequisites exist.
Parameter descriptions lack actionable format/constraint details. Parameters like 'domain_name', 'environment_name', 'certificate_id' have generic descriptions ('The domain name to add') but no format validation rules, length limits, or character restrictions that LLMs should know about.
No error recovery guidance in tool descriptions. Destructive tools (delete-domain, delete-backup, delete-environment, delete-certificate, delete-project, delete-organization) have no warning text or recovery instructions. Descriptions should warn LLMs about irreversibility and suggest confirmation/dry-run patterns.
List tools lack pagination documentation. Tools like 'list-domain', 'list-route', 'list-activity', 'list-backup', 'list-certificate', 'list-environment' do not describe pagination parameters or indicate if results are capped. LLMs cannot know whether to expect 10 or 10,000 items returned.