It's read-only for now: accounts, campaigns, ad groups, ads and insights (11 tools in total). You can query campaigns from Claude, Codex, Cursor and so on in plain language. Writes ("actions") are next; I have two ideas here: - wrap them in a deterministic tool (json in/out) - add a human in the loop (maybe even a verification/consistency check step between query and tool/json output)
Claude Code did most of the work but it wasn't a one-shot. The OpenAI API spec is very clean though and easy to understand; for some reason Claude couldn't read OpenAI's own docs, so I ended up with some manual "copy&paste".
Also I iterated a bit and went from a local stdio install to npm and then made it available in the MCP registry.
Feedback welcome, especially on the write/elicitation side and on hosting a remote version.
PS: It's (obviously) unofficial and not affiliated with OpenAI.
cionut•1h ago