Integrates Claude Desktop with the web, Google and Atlassian workspaces
Starbridge exposes 16 tools with minimal quality attributes. All tool definitions are inferred from test files rather than directly visible in source code (tests/starbridge/mcp/starbridge_mcp_server_test.py), which caps per-tool assessment at 50. Most critically: no input schemas are visible for 10 of 16 tools (starbridge_claude_health, starbridge_claude_info, starbridge_claude_restart, starbridge_confluence_health, starbridge_confluence_info, starbridge_confluence_space_list, starbridge_hello_health, starbridge_hello_info, starbridge_hello_pdf, starbridge_hello_bridge), resulting in schema score of 0 for those tools. Six tools have minimal schema documentation (only parameter names and descriptions visible, no type constraints, enums, or output schemas). Descriptions are present but generic (8-120 characters), falling below the 194-char baseline. No evidence of error handling guidance, parameter validation rules, or idempotent-operation patterns. No output schema documentation visible. Tool naming follows verb_noun convention (get_, create_, delete_, list_, update_) but lacks dependency hints and multi-step guidance in descriptions.
Get health status of all services and their dependencies
Get information about the server and its capabilities
Restart the server
Get health status of Confluence service and its dependencies
Get information about the Confluence service
Create a new page in Confluence
Delete a page from Confluence
Tool definitions inferred from test files only; no direct source-code registration visible. This violates pattern:tool-registry and caps all tool assessments at 50/100.
10 of 16 tools have NO visible input schemas (starbridge_claude_health, starbridge_claude_info, starbridge_claude_restart, starbridge_confluence_health, starbridge_confluence_info, starbridge_confluence_space_list, starbridge_hello_health, starbridge_hello_info, starbridge_hello_pdf, starbridge_hello_bridge). This violates pattern:tool-schema and pattern:constrained-input.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 44 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 56 | - | v1 |
Get a page from Confluence
List pages in a Confluence space
Update a page in Confluence
List all Confluence spaces
Generate a bridge image
Get health status of hello service
Say hello in a given locale
Get information about the hello service
Generate a PDF document
Descriptions are minimal (8-120 chars) and lack WHEN/WHY/WHAT structure. Baseline is 194 chars. Example: 'Get health status of all services and their dependencies' (52 chars) does not explain when to call this, whether it triggers health checks or returns cached status, or what fields the response contains. Per pattern:tool-description, descriptions should include context for LLM selection.
Tools with parameters (create/update/delete/list) have parameter descriptions but lack type constraints and enums. starbridge_confluence_page_create takes 'space', 'title', 'body' (all type string) with no constraints (e.g. max length, required format, valid space keys). Per pattern:constrained-input, free-form strings invite hallucinated values.
No output schema documentation visible for any tool. LLMs cannot plan downstream calls without knowing response structure (e.g., does page_list return page_id, title, and space_key? Is there pagination?). Per pattern:tool, output schemas must be documented.
Destructive operations (starbridge_confluence_page_delete, starbridge_claude_restart) lack error handling guidance and confirmation patterns. Per pattern:confirmation-request, irreversible operations should support dry-run or require explicit confirmation.
No pagination support visible for list tools (starbridge_confluence_page_list, starbridge_confluence_space_list). Per pattern:paginated-result, list tools must accept limit/offset and return total count to prevent context window exhaustion.
No evidence of error handling patterns. Responses lack actionable recovery guidance (pattern:recovery-guide), error classification (retryable vs fatal), or invalid-input feedback. LLM cannot self-correct without clear error messages.