MCP server providing tools for Notion, Slack, GitHub, and Amplitude analytics integrations
This MCP server exposes 18 tools across Notion, Slack, GitHub, and Amplitude APIs. While tool names follow a clear verb_noun convention and all tools have basic descriptions, the implementation exhibits significant gaps in schema completeness, parameter documentation, and error handling. Most parameters lack explicit type information in the visible schemas, and output schemas are not documented. The codebase shows modular organization but schema validation and LLM-optimized descriptions are minimal. Average tool score: 52/100.
Add content to an existing Notion page
Create a new Notion page
Get details for a specific event from the events list
Get event segmentation data from Amplitude
Get simple event segmentation data from Amplitude
Get a simple list of all visible events with current week's metrics
API credentials exposed as tool parameters. Every tool accepts 'api_key' and/or 'secret_key' as explicit parameters (search_notion, send_slack_message, get_amplitude_retention, etc.). Agent call logs will leak these secrets into traces, audit logs, and prompt history.
Input schemas lack explicit type definitions for most parameters. The provided schema snippets show parameter names and descriptions but omit 'type' fields. For example, 'query' in search_notion is declared as a string in the text description, but the actual JSON Schema type attribute is not visible in the code excerpt. This prevents LLMs and clients from validating input strictly.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 48 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 32 | - | v1 |
Get funnel analysis data from Amplitude with step-by-step conversion rates
Get user retention analysis from Amplitude
Get user information and counts from Amplitude
Get current San Francisco time
Get detailed information about a Slack channel
List repository issues with filtering options
List repository pull requests with filtering options
Get repository metadata, statistics, and configuration
Read a specific Notion page and optionally its content
Read messages from a Slack channel
Search for pages and databases in Notion
Send a message to a Slack channel with Block Kit support
Output schemas not documented. Tool descriptions do not specify what fields are returned or the structure of responses. For example, search_notion returns 'Search results from Notion' but does not document whether results are an array, what fields each result contains, or how pagination is handled.
Enum constraints missing for constrained parameters. Several tools accept parameters that should be enums (filter_type='page'|'database' in search_notion, state='open'|'closed'|'all' in read_github_issues, content_format='markdown'|'plain') but no JSON Schema enum constraint is visible. This invites LLMs to hallucinate invalid values.
No error handling guidance. Tool descriptions do not explain what errors might occur or how to recover. For example, read_notion_page does not document behavior when page_id is invalid, what a 404 response looks like, or whether the agent should retry.
Pagination not documented. read_slack_channel accepts a 'limit' parameter and mentions 'will paginate if > 100', but no next_cursor, offset, or page-based pagination scheme is documented. LLMs cannot determine how to retrieve results beyond the first batch.
Destructive operations lack confirmation or dry-run support. create_notion_page and send_slack_message modify state but provide no dry-run, confirmation, or undo capability. An agent error could create unwanted pages or send erroneous messages.
Parameter descriptions lack actionable constraints. For example, read_slack_channel's 'oldest' and 'latest' parameters describe format as 'Unix timestamp or Slack timestamp' but do not clarify the exact expected format, range, or error handling if both are provided.