meta-ads-official MCP server: OAuth fails with "redirect_uris are not registered for this client"
Bug
The meta-ads-official MCP server (https://mcp.facebook.com/ads) in the
Claude Code MCP catalog cannot complete OAuth authentication. Both the
auto-flow (triggered when a tool is invoked) and the interactive /mcp
manager fail at the same step with the same error.
Reproduction
- Have
meta-ads-officialavailable as an MCP server (it surfaces by
default in the Claude Code catalog).
- Trigger auth either way:
- Invoke any
mcp__meta-ads-official__*tool, which calls
mcp__meta-ads-official__authenticate under the hood, or
- Run
/mcp→ selectmeta-ads-official→ "Authenticate".
Expected
Browser opens to facebook.com, user grants ads scope, token is cached
locally, and the server's real tools (list ad accounts, campaign
performance, etc.) become available.
Actual
Both paths return:
SDK auth failed: The provided redirect_uris are not registered for this client.
\/mcp\ shows the same error in the server detail view:
\\\\
Status: △ needs authentication
Auth: ✘ not authenticated
URL: https://mcp.facebook.com/ads
SDK auth failed: The provided redirect_uris are not registered
for this client.
\\
This points at the OAuth client registered with Meta for this MCP
server — the \localhost:<port>/callback\ URLs that Claude Code's SDK
uses aren't whitelisted on the Meta app config.
Environment
- Claude Code CLI on darwin (macOS)
- Server: \
https://mcp.facebook.com/ads\
Workaround
Use the separate \facebook-ads\ MCP server (long-lived token auth
instead of OAuth) — covers the same ad-account / campaign / adset / ad
performance surface area.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗