MCP server for Advertising Management
This server exhibits significant quality gaps across tool definitions. While schemas are present (using Zod validators), descriptions are minimal and often generic. Most tools lack actionable guidance for LLM selection. The 'query' tool is destructive and should be heavily restricted. Tool naming is reasonably clear but lacks consistency in verb-noun patterns. Parameter descriptions are sparse, and output schemas are not documented. Error handling exists but is minimal. Only 3 of 8 tools have descriptions that exceed 50 characters.
Analyze ad group metrics and performance over time
Analyze campaign metrics and performance
Analyze performance trends over a specified date range
Create a new user with email, password, and optional role
Retrieve a user by ID
List all users in the system
Analyze and recommend budget optimization for campaigns based on ROAS metrics
Destructive 'query' tool exposes raw SQL without comprehensive safeguards
Tool descriptions are too brief (avg 49 chars) and lack actionable LLM guidance
Output schemas are not documented, LLMs cannot plan downstream calls
Multiple tools use generic 'analyze' verb, creating LLM confusion
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 47 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 41 | - | v1 |
Run custom SQL queries against the database
No pagination support documented for list_users; missing limit/offset params
Parameter constraints missing (email format, password requirements, enum roles)
getUser only accepts 'id' parameter; should also accept email or username
Error responses are generic (e.g., 'Error analyzing campaign'); lack recovery guidance