ChatGPT connector
Connect BlackOps Center to ChatGPT through a dedicated, curated tool surface: no generic executor, explicit safety hints on every tool, drafts-only writes.
OpenAI's plugin guidelines rule out exposing BlackOps' usual tool-surface gateway (describe_tools / use_tool) to a ChatGPT connector: a generic "look up and call anything" tool isn't allowed, and every tool needs its safety hints stated outright rather than implied by its name. So ChatGPT gets its own connector URL, with its own small, individually reviewed tool list — not the default or full surface described in Tool surfaces.
Connector URL
https://mcp.blackopscenter.com/chatgpt
This path always serves the ChatGPT surface — there's no ?surface= parameter to set, because a published ChatGPT connector URL can't easily be edited later. Authentication is the same OAuth flow as the main /mcp URL: you sign in at blackopscenter.com, with no token to paste.
Set it up
Custom servers in ChatGPT sit behind developer mode, on chatgpt.com in a browser only, not the phone apps. OpenAI's own pages disagree on plans: the developer mode guide lists Plus, Pro, Business, Enterprise and Edu, while the help center says full access (including saving) is for Business, Enterprise and Edu, and Pro gets read-only. On Business and Enterprise, a workspace admin has to allow developer mode first.
- On chatgpt.com, open Settings, then Apps.
- Open Advanced settings and switch on Developer mode.
- Back on the Apps page, choose Create app.
- Name it BlackOps and paste
https://mcp.blackopscenter.com/chatgptas the MCP server URL. Set Authentication to OAuth. - Create the app, confirming you trust it if ChatGPT asks. BlackOps opens in your browser: sign in, or choose Sign up if you're new, then approve the connection.
- In a new chat, click +, choose Developer mode, and pick BlackOps. Ask: "List my BlackOps sites."
ChatGPT asks you to confirm write actions by default, so you see each draft or note before BlackOps saves it.
OpenAI is also rolling out a Plugins page for custom servers (chatgpt.com/plugins, then Add custom MCP server). If your account shows that instead, use it with the same URL and OAuth.
The same steps, with a copy button and the other apps, are on Connect your AI.
What's on this surface
26 tools, covering four jobs:
- Ask or search the brain —
search,fetch,list_brains,get_brain,get_note,list_notes,get_recent_notes,get_daily_feed - Capture —
post_notes,update_brain,queue_daily_item,ingest_capture,get_capture_session - Draft and review content —
get_brand_voice,get_ai_context,post_posts,get_posts,get_post,patch_posts_by_id,post_tweets,create_review_session,get_review_feedback - Sorties (the escape hatch) —
list_sorties,fire_sortie - Account and context —
get_me,get_account_context
Nothing else is reachable from this connection — not through a gateway, not by name. If a tool you need isn't listed here, use the main connector or the app instead. Tool descriptions on this surface are written for it too, so none of them tells ChatGPT to call a tool that isn't in this list.
Server-side guardrails
These are enforced in BlackOps itself, not left to the model to self-police:
post_postsalways creates a draft. Anystatusyou pass is ignored and forced to"draft".patch_posts_by_idrefuses to edit a published post, and can't publish one either. Editing a post that's already live is refused outright; on any other post,statusandpublished_atare silently dropped from the patch before it's sent, so apatch_posts_by_idcall can never be the thing that makes a post public — not by editing a live post, and not by flipping a draft's status in the same call.fire_sortieonly fires a Sortie explicitly marked for it. Mark a Sortie withavailable_in_chatgpt: true(viacreate_sortie/patch_sortieon the main connector) to allow it; anything else is refused before the webhook is called.- Responses drop internal bookkeeping fields —
workspace_id,idempotency_key,source_item_id— that a ChatGPT connector has no use for and OpenAI's guidelines ask not to return.
Nothing on this connection publishes, schedules, or sends anything public. Every write is a draft or a private note; publishing stays a decision you make in the app.
Never a dead end
Every guardrail above answers, it doesn't just refuse. When a request can't go through on this connection, the response says what didn't happen and why, and gives you a working link to finish it:
- Asking to publish a post returns the draft plus a link to review and publish it in the BlackOps app.
- Editing a post that's already live returns a link to make the change in the app instead.
- Firing a Sortie that isn't marked available in ChatGPT returns a link to Settings → Sorties, where you can flip that flag.
Each of these also points at the full BlackOps connector (for Claude Code, Cursor, and other MCP clients), which has the complete toolset with none of this surface's restrictions — see Tool surfaces. For anything heavier that isn't on this surface at all — rendering a video, pulling a GA4 report, long research — list_sorties and fire_sortie are the escape hatch: fire a Sortie you've already wired up, or set one up in Settings → Sorties.