Skip to content
This repository was archived by the owner on May 15, 2026. It is now read-only.

Multiple server-side bugs across insights & legacy Graph API endpoints (75-tool audit) #1

Description

@sigvardt

Summary

Tested all 75 read tools in meta-mcp-server against a live Meta Business account. ~15 of them fail with errors that look like server-side issues in the MCP (retired fields, removed edges, wrong paths, missing query params, or stale schema defaults) rather than permission/config problems on the caller side.

The single biggest hit is insights: all four ads-hierarchy insights tools plus Page/Post insights are broken because the MCP still requests fields/metrics Meta has retired. Fixing the default field set on those alone restores the entire performance-reporting surface.

Categories of bugs found

  • A. Insights endpoints request retired fields (7 tools) — meta_get_{account,campaign,adset,ad}_insights still default to unique_impressions; meta_get_page_insights / meta_get_post_insights / meta_get_page_fan_demographics use the pre-2024 metric names; meta_get_instagram_account_insights needs metric_type=total_value passed through.
  • B. Fields/edges removed by Metameta_list_offline_event_sets, meta_list_saved_audiences, meta_get_promotable_posts, meta_get_page_automated_responses.
  • C. Wrong path entirelymeta_get_pixel_events (/test_events is not a Graph edge), meta_get_instagram_broadcast_channels (/broadcast_channels does not exist).
  • D. Deprecated since v8.0 (2020)meta_search_places (Place Search API retired for third parties).
  • E. Bad default field setsmeta_search_instagram_hashtag, meta_get_instagram_media_children (carousel children expose a smaller field set than parents).
  • F. Schema & robustnessmeta_get_pixel_stats enum is wrong (device is not valid); meta_get_page_videos blows the 600-edge limit because thumbnails is expanded by default; meta_get_post_reactions surfaced a 190/2069032 page-token error that should be auto-refreshed.

Suggested priority order

  • P0 — Drop unique_impressions from the ads-insights default fields and rebuild Page/Post insights metric defaults. Unblocks 7 tools in one workstream.
  • P1 — Add metric_type pass-through to meta_get_instagram_account_insights; make thumbnails opt-in on meta_get_page_videos.
  • P2 — Field/edge cleanups across category B + the schema fix in meta_get_pixel_stats + repoint meta_get_pixel_events (or remove it) + fix IG hashtag/media-children defaults + rework meta_get_page_automated_responses against messenger_profile.
  • P3 — Remove meta_search_places (Meta deprecated it years ago; point users at meta_search_targeting_geolocations instead).
  • P4 — Detect 190/2069032 and silently refresh the cached page token.

Net effect

If P0 + P1 ship, the MCP goes from roughly 52/75 working tools (69%) to ~60/75 (80%). The remaining gaps are permission-scope / Meta App Review issues, not code bugs.

Full write-up

Detailed reproduction notes, exact error strings, and per-tool fix suggestions are in this gist (kept out of the issue body for length):

Full write-up here: Meta MCP bug analysis

Happy to provide further detail on any individual tool if useful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions