Official PostHog MCP integration for Prime Agent (mcp.posthog.com, personal API key): analytics, funnels, paths, trends, session replay, projects.
Single tool 'exec' with severely deficient definition. Tool name is generic and does not follow verb_noun pattern (should be something like 'query_analytics' or 'call_posthog_api'). Description is 104 chars but vague, does not explain WHAT the tool does, WHEN to use it, or what it returns. Input schema has only one parameter 'command' (string type) with minimal description. No output schema documented. No error handling guidance. No parameter constraints (enums, ranges, patterns). Tool appears to be a pass-through wrapper around PostHog's CLI subcommands rather than a properly designed MCP tool. The 'token-optimized' claim in description is marketing language, not functional documentation.
Token-optimized tool with subcommands: tools | search | info | schema | call
Tool name 'exec' is generic and does not follow verb_noun pattern. Should be action-specific like 'query_posthog_analytics', 'search_posthog_insights', or 'call_posthog_api'. Generic names prevent LLMs from inferring intent.
Input schema lacks parameter constraints. 'command' parameter accepts free-form strings with no enum, pattern, or validation. LLMs will hallucinate invalid subcommands. Should define allowed values: ['tools', 'search', 'info', 'schema', 'call'] with format rules for each.
No output schema documented. Tool description does not specify what fields are returned, data types, or structure. LLMs cannot plan downstream operations or extract required data without knowing response format.
Description is vague and marketing-focused ('token-optimized'). Does not answer: What does this tool do? When should I call it instead of other tools? What does it return? Lacks dependency hints and prerequisites.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 29 | 2026-07-28+ | v2 |
No error handling guidance. Tool description does not explain what errors are possible, how to recover, or what to do if a subcommand fails. LLMs have no recovery path on failure.