Brandfine Docs
AI assistants (MCP)

Connect Claude

Let Claude draft, edit and publish your posts. Add Brandfine as a connector, sign in once in your browser, and Claude works as you, with no API keys to copy.

Brandfine is an MCP server: AI assistants that speak the Model Context Protocol, like Claude, can connect to your Brandfine account and work in it for you. Ask Claude to "draft a post about spring opening hours for the Kadıköy site", "add meta descriptions to the posts that miss one", or "publish the draft I just reviewed", and it does the work through Brandfine.

You connect once. Claude opens Brandfine in your browser, you approve, and from then on Claude keeps itself signed in.

Server URL:

https://api.brandfine.co/mcp

Connect Claude (web, desktop and mobile)

  1. In Claude, open Settings → Connectors and choose Add custom connector.
  2. Name it Brandfine and paste the server URL above.
  3. Choose Connect. Brandfine opens in your browser. Sign in if you need to, check the permissions and the teams listed, and choose Allow access.

The connector then works everywhere you use Claude with that account, including the desktop and mobile apps. If your Claude organization manages its connectors centrally, an owner may need to add it first.

Connect Claude Code

claude mcp add --transport http brandfine https://api.brandfine.co/mcp

Then run /mcp inside Claude Code, pick brandfine and choose Authenticate. Your browser opens the same Brandfine consent screen; after you allow access, Claude Code stores the sign-in and renews it on its own.

What Claude can do

Tools are grouped by the permission they need (see below).

Content

ToolWhat it does
list_workspacesLists your teams (with your role) and their sites, with each site's domain and languages. Claude starts here.
get_brand_contextReads the business, audience and voice your team described for a site, its recent posts and its schema.org data, so drafts sound like the site.
list_posts / get_postLists a site's posts (by status, type, language, title or translation group) and reads one in full.
create_postCreates a draft post, with its body and SEO fields in one go.
update_postEdits a post: title, slug, body, meta description, cover image, tags, category, post type, author.
publish_post / unpublish_postPuts a post (or its latest edits) live, or takes it off the site.
archive_post / restore_postPuts a post away without deleting it, and brings it back as a draft.
delete_postDeletes a post permanently. Claude must confirm it with you first.
create_translation / link_translationStarts a translation of a post, or links two posts written separately as language versions.
list_images / import_imageLists the images in your media library, or copies one from a web address into Brandfine's storage.
get_navigations / save_navigationReads a site's menus and replaces one (posts, links and headings, per-language labels, one level of children).
add_knowledgeAdds text or a web page to the knowledge base the site's chat assistant answers from.
list_knowledgeReads a site's knowledge base in the order the chat assistant reads it: what it gets in full, what it opens on demand, what it can't reach, which index cards are stale.
get_chat_assistantReads the chat assistant's setup: when it replies, its model, its personality & instructions, and how often and how many AI suggestions it attaches.
list_suggestion_itemsReads the pages the chat assistant may recommend, and flags any that can't be shown.
get_guideStep-by-step instructions, with a link to the right page, for changing the assistant or its knowledge base in Brandfine.
list_post_types / create_post_typeReads and adds post types (blog, news, case study…).
list_categories / create_categoryReads and adds categories.

Claude can read the chat assistant's setup but not change it (adding a knowledge document is the one exception). What the assistant tells your visitors stays in your hands: Claude finds the problem, then walks you through the fix in Brandfine with get_guide.

Workspaces

ToolWhat it does
create_workspaceCreates a site in one of your teams.
update_workspaceRenames a site, sets its domain, or sets its schema.org data.
add_locale / remove_locale / set_default_localeAdds or removes a site's languages and picks the default. A language with posts, or the default one, can't be removed.
enable_analyticsTurns on Brandfine's cookieless analytics for a site.

Analytics

ToolWhat it does
traffic_reportBrandfine analytics: overview, top pages, sources (AI assistants flagged, sign-in round trips removed), countries, devices, traffic per post.
search_console_reportGoogle Search Console: summary, top queries, top pages, opportunities.
google_analytics_reportGoogle Analytics 4: summary, channels, pages, key events.
seo_audit / run_seo_auditThe latest SEO audit's scores and problems, grouped by check with the pages they affect; or start a fresh audit.

Inbox (off unless you tick it)

ToolWhat it does
list_submissions / mark_submission_readReads contact-form submissions and marks them read.
list_chats / get_chatReads live chat conversations, including which pages each AI reply recommended.
reply_chatReplies to a visitor in a live chat, as you; it appears in their chat window.
list_appointmentsReads appointment requests.
respond_appointmentConfirms, declines, cancels or reschedules a request. Confirming, declining and rescheduling email the visitor.

New posts always start as drafts. A post goes live only through publish_post. Edits to a published post stay in its draft until Claude publishes again, so you can review them in Brandfine first. Archiving is reversible; deleting is not, which is why Claude asks before it deletes anything. Claude is told to show you a chat reply or an appointment email before it sends one; your Claude app also asks before it runs tools that change things.

Images Claude finds on the web are copied into Brandfine's storage with import_image first, so your site never depends on another site keeping the file. It takes the image file's own address (PNG, JPEG, WebP, GIF or AVIF, up to 10 MB), and the copy appears in your media library. Only ask Claude to use images you have the right to use.

Posts Claude publishes show in your activity stream as published "via" the app, e.g. "via Claude Code".

What it can reach

  • It works as you. Claude can reach every site in every team you belong to, and can do there exactly what your role allows in the CMS. If you leave a team, Claude loses it too.
  • Only what you approved. The consent screen offers four permissions: Content, Workspaces (site settings; owners and admins only) and Analytics start ticked; Inbox starts unticked, because it shares your visitors' names, contact details and messages with Claude and lets Claude reply to them. Claude never reaches billing, team members or API keys. If you connected before a permission existed, remove the connector and connect again to add it.
  • Never your password. Claude gets a token that works only with Brandfine's MCP server.
  • Your content goes to Claude. What Claude reads through Brandfine is handled by Anthropic under your own Claude plan and terms. See our Privacy Policy.

Disconnect

Go to Settings → AI access in Brandfine and choose Disconnect next to the app. It stops working on its next request. You can also remove the connector in Claude.

The sign-in renews itself while you use it. A connection nobody uses for 30 days expires, and Claude asks you to sign in again.

Troubleshooting

  • "This connection request isn't valid." The link Claude opened was incomplete or had expired. Start connecting again from Claude. If it keeps happening, remove the Brandfine connector in Claude and add it again.
  • Claude Code says the server needs authentication. Run /mcp, pick brandfine and choose Authenticate again.
  • Claude can't find a site. Ask it to list your Brandfine workspaces. It only sees teams you're a member of; ask a team owner to invite you.

For developers

Brandfine follows the MCP authorization specification:

  • Streamable HTTP at POST /mcp, stateless, JSON responses.
  • OAuth 2.1 authorization code flow with PKCE (S256 only) and dynamic client registration. Discovery: /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server on the API host.
  • Scopes: content, workspaces, analytics, inbox, plus offline_access for the refresh token. Access tokens last one hour; refresh tokens rotate on every use. Tokens are stored hashed.
  • At most 120 requests a minute per person; beyond that, 429 with Retry-After.
  • A request without a valid token gets 401 with WWW-Authenticate: Bearer resource_metadata="…", which is what makes the client start the browser sign-in.

On this page