Draft blog posts and tweets, keep your brand voice, and manage content notes from Muse
Connects to your BlackOps Center account to draft, schedule and publish blog posts, write tweets, generate hero images, upload media, and search your notes and knowledge brains. Muse can read your brand voice and recent context before writing.
Try asking Muse: "Draft a blog post about our spring menu in our brand voice and save it as a draft I can review."
Source: Found in the official MCP Registry (io.github.BlackOpsCenter/blackops-mcp) · First listed November 11, 2026
Each bar is one check, every 15 minutes. Green means it answered. Last checked 53 min ago.
What Muse can see: It does not ask you to sign in, so it cannot see your accounts. It only sees what Muse sends it from your request.
Before it acts: Read what Muse plans to do before you approve it, and remove the app from Muse when you stop using it.
musedirectory.ai is not part of Meta. More about how Muse handles your information
Not in Muse's Connectors list yet, but Muse can still use it. Copy the request below and paste it into Muse. Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.
https://mcp.blackopscenter.com/mcpNot in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
BlackOps Center is a remote MCP server, so any assistant that can add a custom connector by link can use it. Same link, same tools.
In ChatGPT, open Settings, then Connectors (called Apps & Connectors on some accounts).
Under Advanced settings, switch on Developer mode. That is what lets you add a connector by link.
Choose Create, give it a name, paste the link as the MCP server URL, and save. If it needs a sign-in, ChatGPT asks for it here.
Start a chat, open the tools menu, pick the connector, and ask. ChatGPT asks before it runs a tool the first time.
Custom connectors need a paid ChatGPT plan, and on Team, Enterprise and Edu accounts only an admin can add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in ChatGPT
In Claude, open Settings, then Connectors.
Choose Add custom connector, give it a name, and paste the link.
If it needs a sign-in, Claude sends you to it. Then turn the connector on in a chat from the tools menu and ask.
Custom connectors are available on paid Claude plans; on Team and Enterprise accounts an admin may need to add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in Claude
https://mcp.blackopscenter.com/mcpResponse time at the last check: 359ms. Worked in n/a of checks over 30 days.
Screened, no issues found
Screening looks for known threats and hidden instructions at the time of the check, and runs again weekly and whenever the tool list changes. It cannot see the server's code, so only connect what you need and review what Muse asks to do. How screening works.
get_meGet current user profile, accessible sites, and account info. Call this first to discover which sites you can manage.get_brand_voiceGet canonical brand voice for the site. Pass domain or site_id to target a specific site; omit to use the auth default. Always pass the same domain/site_id used with patch_brand_voice so both tools operate on the same record. Also returns pronoun_mode and approved_facts when set,get_recent_notesGet recent notes/context for the site. Recommended before creating tweets/posts.get_noteGet a single note by UUID, slug, or title. Use this to read the full content of individual notes, including brain source notes referenced in a brain manifest. VAULT SYNC STATUS: the response carries a sync block — status is "queued" (commit in flight), "synced" (landed; see file_get_ai_contextGet AI context pack for content generation. Recommended before creating tweets/posts. Also returns default_site (id, domain, and the rule "unless the user names another site, writes go to <domain>") when the account has one.post_notesCreate a BlackOps note, or update one in place when source_id resolves to a known note. Requires content_markdown (or transcript/conversation). Prefer this over post_notes_write — richer metadata, dedup, search/list visibility, auto-vault-sync. source_id is the idempotency key: pget_postsList blog posts for a site. Filter by status (draft, published) with pagination support.post_postsCreate a blog draft. Before calling, fetch get_me + get_brand_voice (+ get_ai_context/get_recent_notes). Site scope is automatic for a single-site account; pass domain or site_id to target one, and an account with several sites is asked to choose rather than guessed at. Do NOT reget_postFetch a single blog post by slug or UUID, including full content, metadata, and SEO fields. One call — no need to list posts first to resolve a slug.patch_posts_by_idEDIT ONLY — modifies a post in-place. NEVER call for reading; use post_posts to create. Published edits go live immediately. Always pass base_updated_at (from get_post.updated_at); without it a concurrent edit is silently overwritten. Custom styled HTML needs a richembed fenced bpost_posts_by_id_publishPublish a draft blog post, making it live on the site. Requires confirm: true. On a 2026-07-28 connection whose client declares form elicitation you may omit it and the user confirms in a dialog; anywhere else, omitting it fails. Publishing a scheduled post publishes it immediatepost_posts_by_id_scheduleSchedule a draft blog post for future publishing. Provide a datetime via scheduledFor; the platform publishes the post automatically at that time (checked every 5 minutes). Unschedule by patching status back to "draft"; publish immediately with post_posts_by_id_publish. Requires post_posts_by_id_heroGenerate (or regenerate) a blog post's hero image, or its OG social card — works the same before and after the post exists. Returns the image inline plus its public URL. The fields below cover prompts, references, style, and the commit:false review flow. Rules that span fields: opost_tweetsCreate a tweet draft. Before calling, fetch get_me + get_brand_voice (+ get_ai_context/get_recent_notes) AND call get_x_accounts for the posting account's max_tweet_length — never assume 280, since Premium/verified accounts go up to 25,000. If max_tweet_length is null the limit iget_x_accountsList connected X (Twitter) accounts. Search by username or filter by site. Each account record includes premium (boolean) and max_tweet_length (integer) — ALWAYS read these before drafting tweet content. Premium accounts allow up to 25,000 chars; non-premium are limited to 280. Iupload_mediaUpload media to the site media library. Three modes: 1. URL mode — pass file_url + filename + content_type. Fetches server-side, one call, no human step. file_url must be https, SSRF-guarded (blocks private/loopback/link-local/metadata, re-checked on every redirect), capped at 50get_media_upload_urlAgent-direct upload, no human step. 1: get_media_upload_url({ domain, filename, content_type, size_bytes? }) returns { asset_id, upload_url, public_url, expires_in }. 2: HTTP PUT the raw bytes to upload_url with a matching Content-Type. 3: finalize_media_upload({ asset_id, domainfinalize_media_uploadFinalize a presigned URL media upload. Call after uploading to the upload_url from upload_media, or after PUTting bytes directly to an upload_url minted by get_media_upload_url. Needs only { asset_id, domain } plus the same MCP/API token already on this session — no browser or coget_mediaGet details for a single media asset including URL, dimensions, format, and metadata.list_brainsList all brains accessible to the authenticated user. Returns each brain's id, name, description, aliases, status, note count, last compiled timestamp, and visibility. Match description and aliases to resolve natural-language references (e.g. "restaurant brain"). Brains are site-get_brainGet the compiled knowledge map for a brain: a manifest of source notes with IDs and summaries — call get_note for a note's full content. Site-agnostic. Accepts a UUID, slug, name, or alias; no list_brains lookup needed first (call list_brains for a brain not named in your instrucupdate_brainAdd a new note to a brain — no target_id or file path knowledge required; the server resolves storage from the brain record (BlackOps directly for DB-backed brains, a GitHub commit for vault-backed ones). Use this whenever the user says "update the brain", "add this to the brain"get_account_contextGet account context including defaults and publishing context for a domain. The default site (the site writes go to when the user names none) is stated by get_account_settings and get_ai_context (default_site).list_skillsList the user's stored skills (slug + description). Call this at the START of a task: if a skill matches what the user asked for, fetch it with get_skill and follow it instead of improvising.searchSearch BlackOps notes and blog posts. Returns id, title, and url per match; pass an id to fetch for the full text. Generated daily notes (note_type "daily", titled "YYYY-MM-DD · {Name}") do not contain the word "daily" in their title — queries containing "daily" automatically incfetchRetrieve the full text of one BlackOps note or blog post by its search id.describe_toolsDiscover the rest of the BlackOps tool catalog. This connector surfaces a small default tool set; every other BlackOps capability (pages, video, brains and brain watches, hunts, sorties, LinkedIn/Threads/Medium, GA4/Search Console analytics, and more) is one lookup away. Call wituse_toolInvoke any BlackOps catalog tool that is not on the default surface, by name. Arguments are validated against the same schema the tool has natively, and the call runs the identical handler with identical permissions — this is dispatch, not a bypass. Look up names and input schemahttps://mcp.blackopscenter.com/mcpNot in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use BlackOps Center to help me. It is a free service with an MCP server at https://mcp.blackopscenter.com/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.
At the last check (November 11, 2026, 20:56 UTC) the endpoint was working, answering in 359ms. It is checked every 15 minutes.
It was screened on November 11, 2026 with the result "screened, no issues found". Screening checks the domain against threat feeds and reads the tools for hidden instructions and requests for passwords or card numbers. It cannot see the server's code, so grant only the access you need.
It exposes 28 tools, including get_me, get_brand_voice, get_recent_notes, get_note. For example, you could ask Muse: "Draft a blog post about our spring menu in our brand voice and save it as a draft I can review."
This listing was added from public sources (Found in the official MCP Registry (io.github.BlackOpsCenter/blackops-mcp)). If you build BlackOps Center, claim it to correct the details and get your badge.
Paste this on your site or README. It always shows the latest check.
<a href="https://musedirectory.ai/connector/blackops-center"><img src="https://musedirectory.ai/badge/blackops-center.svg" alt="BlackOps Center on musedirectory.ai" width="236" height="40"></a>