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/mcpConnect Claude (web, desktop and mobile)
- In Claude, open Settings → Connectors and choose Add custom connector.
- Name it
Brandfineand paste the server URL above. - 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/mcpThen 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
| Tool | What it does |
|---|---|
list_workspaces | Lists your teams (with your role) and their sites, with each site's domain and languages. Claude starts here. |
get_brand_context | Reads 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_post | Lists a site's posts (by status, type, language, title or translation group) and reads one in full. |
create_post | Creates a draft post, with its body and SEO fields in one go. |
update_post | Edits a post: title, slug, body, meta description, cover image, tags, category, post type, author. |
publish_post / unpublish_post | Puts a post (or its latest edits) live, or takes it off the site. |
archive_post / restore_post | Puts a post away without deleting it, and brings it back as a draft. |
delete_post | Deletes a post permanently. Claude must confirm it with you first. |
create_translation / link_translation | Starts a translation of a post, or links two posts written separately as language versions. |
list_images / import_image | Lists the images in your media library, or copies one from a web address into Brandfine's storage. |
get_navigations / save_navigation | Reads a site's menus and replaces one (posts, links and headings, per-language labels, one level of children). |
add_knowledge | Adds text or a web page to the knowledge base the site's chat assistant answers from. |
list_knowledge | Reads 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_assistant | Reads 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_items | Reads the pages the chat assistant may recommend, and flags any that can't be shown. |
get_guide | Step-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_type | Reads and adds post types (blog, news, case study…). |
list_categories / create_category | Reads 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
| Tool | What it does |
|---|---|
create_workspace | Creates a site in one of your teams. |
update_workspace | Renames a site, sets its domain, or sets its schema.org data. |
add_locale / remove_locale / set_default_locale | Adds or removes a site's languages and picks the default. A language with posts, or the default one, can't be removed. |
enable_analytics | Turns on Brandfine's cookieless analytics for a site. |
Analytics
| Tool | What it does |
|---|---|
traffic_report | Brandfine analytics: overview, top pages, sources (AI assistants flagged, sign-in round trips removed), countries, devices, traffic per post. |
search_console_report | Google Search Console: summary, top queries, top pages, opportunities. |
google_analytics_report | Google Analytics 4: summary, channels, pages, key events. |
seo_audit / run_seo_audit | The 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)
| Tool | What it does |
|---|---|
list_submissions / mark_submission_read | Reads contact-form submissions and marks them read. |
list_chats / get_chat | Reads live chat conversations, including which pages each AI reply recommended. |
reply_chat | Replies to a visitor in a live chat, as you; it appears in their chat window. |
list_appointments | Reads appointment requests. |
respond_appointment | Confirms, 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-resourceand/.well-known/oauth-authorization-serveron the API host. - Scopes:
content,workspaces,analytics,inbox, plusoffline_accessfor 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,
429withRetry-After. - A request without a valid token gets
401withWWW-Authenticate: Bearer resource_metadata="…", which is what makes the client start the browser sign-in.