MCP Integration

Connect Claude, ChatGPT, Cursor or any other Model Context Protocol client to BlogSEO, so your AI assistant can work directly in your account: read your articles and keywords, plan the calendar, run SEO checks and publish.

The Model Context Protocol (MCP) is the open standard AI assistants use to talk to external tools. BlogSEO exposes a remote MCP server, so there is nothing to install and no API key to copy: your assistant signs in as you through OAuth and acts with your own permissions.

You can ask it in plain language to:

  • Review what is published, what is scheduled and what is out of sync with your CMS
  • Research keywords, refresh their metrics and grow topic clusters
  • Fill the content calendar, rewrite headlines and move articles around
  • Rewrite an article with AI, fix its SEO score and publish it to your CMS
  • Score any content, benchmark it against the pages ranking for a keyword and apply the fixes
  • Check a domain's rating, its backlink profile or the keyword density of any page
  • Read your rankings, clicks and impressions from Search Console

MCP is a data integration, not a publishing destination. It sits alongside whatever CMS you already use, so connecting it never replaces or disables your WordPress, Shopify, Webflow or webhook integration.

Before you start

You need a BlogSEO account with at least one website. Everything else is handled during the connection: your assistant registers itself, you sign in once, and you approve what it can reach.

The server is rolling out gradually. Until it is enabled for your account, every call answers "The MCP server is in private beta for your account". Ask support to be added.

Reading your data does not need an active subscription, so a lapsed plan still reads fine. A website that never completed checkout is refused, reads included. Actions gated behind a subscription in the app stay gated here.

Server URL

The server URL is the same for every client:

https://mcp.blogseo.io/mcp

The server uses the streamable HTTP transport and OAuth 2.1 with PKCE and dynamic client registration. Most clients configure themselves once you point them at that URL.

Connect your assistant

ClientHow to add it
Claude (web, desktop, mobile)Settings → Connectors → Add custom connector
Claude Codeclaude mcp add --transport http blogseo https://mcp.blogseo.io/mcp
ChatGPTSettings → Connectors → Create (developer mode)
Cursor.cursor/mcp.json entry, or Settings → Tools & Integrations
VS Code (Copilot)code --add-mcp "{\"name\":\"blogseo\",\"type\":\"http\",\"url\":\"https://mcp.blogseo.io/mcp\"}"
Codex CLIcodex mcp add blogseo --url https://mcp.blogseo.io/mcp
Gemini CLIgemini mcp add --transport http blogseo https://mcp.blogseo.io/mcp
Windsurfmcp_config.json entry

Details for each client are below. The last step is the same everywhere: a browser window opens, you sign in to BlogSEO, and you approve the access request.

Claude (web, desktop and mobile)

  1. Open Settings, then Connectors, then Add custom connector.
  2. Enter the name BlogSEO and the URL https://mcp.blogseo.io/mcp, then save.
  3. Click Connect, sign in to BlogSEO, and approve the access request.

Claude Desktop cannot reach remote MCP servers through claude_desktop_config.json. Add BlogSEO through Connectors instead. The connector then works in Claude on the web, on desktop and on mobile.

Claude Code

claude mcp add --transport http blogseo https://mcp.blogseo.io/mcp

Then type /mcp, choose to authenticate, and approve the access request in the browser window that opens. Tools appear as mcp__blogseo__*.

ChatGPT

  1. Open Settings, then Connectors, then Advanced settings, and turn on Developer mode.
  2. Back in Connectors, click Create.
  3. Enter the name BlogSEO, the MCP server URL https://mcp.blogseo.io/mcp, and pick OAuth authentication.
  4. Sign in to BlogSEO and approve the access request. The connector then shows up in the composer's developer-mode tools.
MCP connectors in ChatGPT need a Plus or Pro account and are available on the web.

Cursor

Add BlogSEO to your project's .cursor/mcp.json, or to the global one in ~/.cursor/mcp.json:

{
    "mcpServers": {
        "blogseo": {
            "url": "https://mcp.blogseo.io/mcp"
        }
    }
}

Cursor then shows a Needs login prompt next to the server. Click it and approve the access request.

You can do the same from the UI: Settings, then Tools & Integrations, then Add custom MCP.

VS Code (GitHub Copilot)

code --add-mcp "{\"name\":\"blogseo\",\"type\":\"http\",\"url\":\"https://mcp.blogseo.io/mcp\"}"

Or add it to .vscode/mcp.json for a single workspace:

{
    "servers": {
        "blogseo": {
            "type": "http",
            "url": "https://mcp.blogseo.io/mcp"
        }
    }
}

Start the server from the MCP view in Copilot Chat and approve the access request.

Codex CLI

codex mcp add blogseo --url https://mcp.blogseo.io/mcp
codex mcp login blogseo

The login command opens your browser for the OAuth flow.

Gemini CLI

gemini mcp add --transport http blogseo https://mcp.blogseo.io/mcp

The browser opens for authorization the first time a BlogSEO tool is used.

Windsurf

Add BlogSEO to Windsurf's mcp_config.json, at ~/.codeium/windsurf/mcp_config.json (create it if it is missing). Windsurf uses serverUrl rather than url:

{
    "mcpServers": {
        "blogseo": {
            "serverUrl": "https://mcp.blogseo.io/mcp"
        }
    }
}

Any other client

Point it at https://mcp.blogseo.io/mcp over the streamable HTTP transport and let it run the OAuth flow. Clients that support dynamic client registration need no further configuration.

Your first conversation

Ask your assistant to read your account:

list my BlogSEO websites and how many credits I have

That calls get_account, which returns your websites, your role on each of them, your credit balances and your plan. It is the quickest way to confirm the connection works.

After that, plain requests are enough:

what did we publish last month, and is anything out of sync with WordPress?

Choosing the website

If your organization has a single website, every action targets it automatically. If you have several, ask the assistant to list them first, or name the site in your request:

schedule three articles about winter tyres on example.com next week

Each action takes a website_id, and the assistant can only reach websites you are a member of.

What your assistant can do

BlogSEO exposes 45 tools. Your assistant picks them from what you ask, so you never have to name one. Costs are in AI brain credits and match the app.

Account

ToolCostWhat it does
get_accountFreeLists your websites with their role, credit balances and plan. The recommended first call.
get_credit_balanceFreeAI brain credits, article credits and backlink credits of one website.

Articles

ToolCostWhat it does
list_articlesFreeLists generated articles with status and target keyword, filterable by search, status and date.
get_articleFreeOne article with its metadata, translations and optionally its full body.
update_article_headlineFreeRenames an article or one of its translations.
update_article_meta_descriptionFreeRewrites the SEO meta description.
update_article_slugFreeChanges the URL slug.
edit_article_with_ai1 credit per languageRewrites the body with AI following your instructions.
batch_edit_articles_with_ai1 credit per articleQueues the same AI rewrite across up to 50 articles.
publish_articleFreeQueues an article for publishing to a connected integration.
sync_article_to_cmsFreePushes current content to your CMS, clearing the Out of Sync state.

Content calendar

ToolCostWhat it does
list_scheduled_articlesFreeThe upcoming calendar, one row per day slot.
schedule_articleFreeAdds a custom article on a given date. Consumes 1 article credit when it is generated.
update_scheduled_articleFreeEdits the headline, brief, keyword or products of a pending article.
reschedule_articleFreeMoves an article to another date, optionally swapping with the article already there.
delete_scheduled_articleFreeRemoves a pending article from the calendar.
suggest_headlineFreeAsks the AI for an alternative headline without saving it.
regenerate_headlinesFreeQueues a rewrite of every upcoming automatically planned headline.

Keywords

ToolCostWhat it does
list_keywordsFreeTracked keywords with volume, difficulty, CPC, opportunity and intent.
get_keywordFreeOne keyword with 90 days of position history and the articles targeting it.
get_keyword_rankingsFreeRank tracking from Search Console: position, ranking page, clicks and impressions per keyword.
research_keywords1 creditAdds keywords from up to 20 seeds, optionally expanding them into related ideas.
refresh_keyword_metrics1 creditRe-fetches metrics for one keyword plus up to 49 companions.
expand_keyword_cluster1 creditGrows a topic cluster with semantically related ideas.
schedule_articles_for_keywordsFreeQueues one article per keyword in the calendar.
set_keyword_favoriteFreeStars or unstars a keyword.
delete_keywordsFreePermanently deletes keywords. Refused when an article already targets one.

SEO analysis

ToolCostWhat it does
check_article_seo_scoreFreeThe on-page score of one of your articles, with every failing check and how to fix it.
check_seo_scoreFreeThe same score for any content you paste, even from a site that is not in BlogSEO.
run_advanced_seo_check1 creditBenchmarks one of your articles against the pages ranking for its keyword. Runs in the background.
get_advanced_seo_reportFreeReads the stored competitor analysis: gaps, strengths, recommendations and recommended keywords.
run_advanced_seo_check_for_content1 creditThe same competitor benchmark for content you paste, returned in the same call. Takes 1 to 3 minutes.
improve_article_seo1 creditRewrites one of your articles to fix its failing checks, like the Improve with AI button.
improve_content_seo1 creditReturns an SEO-improved version of content you paste, without saving anything.

Free SEO tools

ToolCostWhat it does
check_domain_ratingFreeThe Ahrefs Domain Rating of any domain.
check_keyword_densityFreeKeyword density of any public page URL or block of text, with the top phrases.
check_backlinks1 creditThe backlink profile of any domain: referring domains, anchors, top links and Domain Rating.

Settings, integrations and backlinks

ToolCostWhat it does
get_website_settingsFreeYour website configuration, grouped like the settings tabs.
update_general_settingsFreeSitemap URL, automatic scheduling, publishing time and timezone.
update_content_settingsFreeDefault language, audiences, offer summary and writing instructions.
update_image_settingsFreeImage styles, brand color and image instructions.
update_competitorsFreeThe competitor list used for tracking and analysis.
list_integrationsFreeConnected CMS, e-commerce and webhook integrations, plus Search Console.
get_backlinks_overviewFreeDomain Rating, backlink credits and the backlinks you received.
convert_credits_to_backlink_credits1 to 100 creditsConverts AI brain credits into backlink credits, 5 backlink credits per AI brain credit. Irreversible.

Example prompts

What to ask once BlogSEO is connected.

Reviewing your content

  • "How many articles are scheduled for next month?"
  • "Show me everything published this quarter that targets a keyword we rank below position 10 for"
  • "Which articles are out of sync with my CMS?"
  • "Read me the intro of the article about winter tyres"

Planning the calendar

  • "Fill next week with articles about e-bike maintenance"
  • "Move Thursday's article to the following Monday"
  • "Suggest a better headline for the article scheduled on the 12th"
  • "Schedule one article for each of my five favorite keywords"

Keyword work

  • "Research keywords around cold email deliverability"
  • "Which of my keywords gained positions in the last 30 days, and which page ranks for each?"
  • "Expand the cluster around indoor cycling into related ideas"
  • "Refresh the metrics for my top 20 keywords"

Improving articles

  • "Score my article about hydraulic brakes and tell me what is failing"
  • "Fix the failing SEO checks on that article"
  • "Rewrite the meta description of the last three published articles so they mention the brand"
  • "Here is a draft from our newsletter: score it and give me an SEO-optimized version"

Publishing

  • "Publish the article about tubeless tyres to WordPress"
  • "Sync everything that is out of sync"

SEO research

  • "What is the Domain Rating of competitor.com?"
  • "Show me the backlink profile of competitor.com"
  • "What is the keyword density of https://example.com/blog/post?"

Settings

  • "Set the publishing time to 8am Paris time"
  • "Add these three competitors to my website"
  • "What writing instructions is my website using?"

Credits

Actions that spend AI brain credits cost what the same action costs in the app. Before running one, your assistant receives the price and your balance, and has to confirm with you:

You: research keywords around "cold email deliverability"

Assistant: This will use 1 AI brain credit and you have 31. Should I run it?

You: yes

Assistant: Added 24 keywords. 30 AI brain credits left.

Every credit-spending result ends with your remaining balance. Free actions never ask for confirmation.

A few specifics:

  • Scheduling an article is free, but generating it later consumes 1 article credit, exactly as in the app.
  • check_backlinks costs 1 credit per request, including when the profile comes from cache.
  • improve_article_seo and edit_article_with_ai charge after the rewrite. improve_content_seo returns the improved text without touching your saved article.
  • Batch actions charge per article, so ask for the count before confirming a large batch.

Permissions and security

  • Your assistant acts as you, on the websites you are a member of. Actions that require an admin role in the app still require it here.
  • Payment details, Stripe identifiers, API keys and integration tokens are never returned. Billing cannot be changed through MCP: no cancelling, no purchasing, no plan changes.
  • The consent screen names the assistant, says where it will send you back, and lists the websites it can reach.
  • Deleting a keyword that an article already targets is refused.

Managing connected assistants

Open Integrations, then MCP (AI assistants) in your dashboard, or Settings, then Security. Both list every connected assistant with the date it was connected, and let you revoke it.

Revoking takes effect immediately for new sessions. A session already in progress stops working within an hour.

Troubleshooting

The assistant says it cannot reach the server. Check the URL is exactly https://mcp.blogseo.io/mcp with no trailing slash, and that you completed the sign-in step.

The client shows "Needs login" or lists no tools. The OAuth flow was not finished. Click the login prompt (/mcp in Claude Code, the Needs login badge in Cursor, the MCP view in VS Code) and approve the request.

"Your account has N websites, pass website_id". The message lists every website with its id: name the site in your request.

"This feature needs an active subscription". The action is gated in the app too. Reading your data keeps working.

Tools stopped working after you revoked an assistant. That is expected. Reconnect it from your client to get a new grant.

Actions time out on long rewrites. AI rewrites and competitor benchmarks take one to three minutes. Some clients give up sooner; ask the assistant to retry, or use the background variants (run_advanced_seo_check then get_advanced_seo_report).

Was this page helpful?