MCP server for authenticated Meta Graph API access, enabling ads reporting, page management, and Instagram insights
Bash-based STDIO server with 6 tools. Tool names lack action verbs (meta_get, meta_post, meta_delete are acceptable but generic). Descriptions are present but minimal (10-50 chars, below the 50-200 char LLM-optimized baseline). Input schemas visible for all tools with basic type info, but parameter descriptions are terse and lack constraints. No output schemas documented. Error handling is absent, tools fail silently or return raw API errors without recovery guidance. No security annotations (readOnlyHint/destructiveHint present in metadata but not in schema). Composition is reasonable (separate GET/POST/DELETE), but parameter naming lacks clarity (e.g., 'query' and 'body' as strings rather than structured objects).
Diagnose connection issues with Meta Graph API token and assets. Checks local prerequisites, token validity, scopes, expiry, and accessible ad accounts and pages.
DELETE request to Meta Graph API endpoint to remove resources
GET request to Meta Graph API endpoint with optional query parameters
GET request to Meta Graph API using a Page's own access token instead of system-user token
POST request to Meta Graph API endpoint to create or edit resources
Token health check. Confirms token validity and displays accessible ad accounts and pages.
Parameter descriptions are terse and lack format/constraint guidance. 'query' and 'body' are described as strings but lack examples of valid formats, length limits, or encoding expectations. LLMs cannot infer whether to pass raw JSON, form-encoded data, or query strings.
No output schemas documented. Tools return raw Meta Graph API responses without specifying structure, field types, or pagination. LLMs cannot plan downstream calls or extract required fields reliably.
Error handling is absent. Tools fail with raw API errors (e.g., 'code 190: token expired') without recovery guidance. No distinction between retryable, user-fixable, and fatal errors. LLMs cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Tool descriptions are under 50 characters (baseline 50-200 for LLM optimization). 'GET request to Meta Graph API endpoint with optional query parameters' (67 chars) is borderline; others are shorter. Descriptions lack WHEN to use this tool vs. alternatives (meta_get vs. meta_page_get distinction unclear).
Parameters accept free-form strings (path, query, body) without validation. No enums, regex patterns, or length constraints. LLMs can pass invalid Graph API paths or malformed query strings, causing silent failures.