MCP server providing tools for weather data, Notion database operations, and GitHub repository management
Server has 6 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have input schemas with type definitions and descriptions present, meeting minimum requirements. However, descriptions are generic (avg ~60 chars, well below the 194-char baseline for A+ tools), lack context about when to use each tool, and omit prerequisites or dependencies. Output schemas are undocumented, LLMs cannot predict return structure. Error handling returns raw error messages without recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk distinctions (3 WRITE, 3 READ_ONLY). Parameter descriptions lack format constraints, ranges, or validation rules. No pagination support despite tools returning lists (query-notion-database, get-github-repos). Tool composition is reasonable but lacks chaining metadata.
Create a new GitHub issue in a repository
Create a new Notion page with optional content
List repositories for a GitHub user
Retrieve a Notion page by its ID
Get current weather information for a specified city
Query a Notion database with optional filtering
No output schemas documented. LLMs cannot predict return structure or plan downstream tool calls. E.g., get-weather returns text only; get-github-repos returns comma-separated names without structured fields.
Descriptions are generic and lack context. 'Get current weather information for a specified city' (60 chars) does not explain when to use this vs. a forecast tool, what format is returned, or prerequisites. Baseline for A+ tools is 194 chars.
No tool annotations despite clear risk distinctions. create-notion-page and create-github-issue are destructive (WRITE); others are read-only. Missing destructiveHint/readOnlyHint prevents agents from reasoning about side effects and retry safety.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Error handling returns raw error messages without recovery guidance. E.g., 'Error: City not found' does not suggest calling a discovery tool or provide available alternatives. Agents cannot self-correct.
query-notion-database and get-github-repos return lists without pagination support. No limit parameter, no total count, no next_cursor. Large result sets will blow context window.