All Posts

How to Publish Blogs from Claude Desktop (MCP Workflow 2026)

Laptop displaying code with a coffee mug nearby.
Photo by Daniil Komov on Unsplash

You can already get Claude Desktop to write a blog post you'd actually publish. The hard part has never been the writing. The hard part is everything that happens after the draft: meta tags, schema, the right slug, an internal link map, an image with proper alt text, a sitemap ping, a canonical URL, and getting the post live on yourdomain.com/blog/... instead of some throwaway subdomain.

This guide shows you how to publish blogs from Claude Desktop to your own domain using a Model Context Protocol (MCP) server, with no copy-pasting into WordPress and no plugin patchwork. You'll get a copy-paste config for Claude Desktop, Claude Code, and Cursor, a named four-phase workflow you can actually run, and the data on why this approach is winning in 2026.

Short answer: To publish blogs from Claude Desktop, connect a publishing MCP server (like Quillly's) once via Settings → Connectors, then drive the full draft → score → patch → publish loop in a single chat. Claude calls the MCP tools directly. The post lands on your domain with the SEO plumbing already wired.

What "publishing from Claude Desktop" actually means in 2026

Claude Desktop on its own can't push anything to the open web. It chats. To publish, you connect an MCP server — a small program that exposes "tools" Claude can call, like create_blog, check_blog_seo, or publish_blog. The Model Context Protocol is the open standard that defines how those tool calls work.

MCP launched in November 2024. By March 2026 there were more than 10,000 active public MCP servers and roughly 97 million monthly SDK downloads, and Anthropic donated the protocol to the Agentic AI Foundation under the Linux Foundation. Translation: MCP is no longer an Anthropic curiosity. It's the wire protocol every serious AI client speaks, including ChatGPT, Cursor, Gemini, and Microsoft Copilot.

For blog publishing, that matters because once you wire one MCP server into one of those clients, the same connection works across the others. Write in Claude Desktop on your laptop, finish the post in Claude Code from the terminal, schedule the next one from Cursor — same tools, same domain, same draft.

Why publishing to your own domain still wins in 2026

The MCP servers that publish to a hosted subdomain (blog.yourtool.com) or a generic platform (yourname.medium.com) are easy to set up. They also leak ranking authority that you spent real money to earn.

Subdomains and the root domain are treated by Google as related but distinct properties. Backlinks pointing at blog.subdomain.com build authority for the subdomain — not for the marketing site that converts visitors into customers. Subdirectories don't have that problem. Authority compounds against one domain.

The clearest public proof: when Salesforce moved its blog from a subdomain to a subdirectory, organic traffic doubled almost overnight. Yelp and Monster reported similar lifts. One commonly-cited case study showed a 40% organic traffic boost from a subdomain → subdirectory move, with a 47% drop reported on a reverse migration.

Google's own John Mueller has stated repeatedly that "Google websearch is fine with using either subdomains or subdirectories." That's true in theory. In practice, the subdirectory wins, because all your inbound links and topical authority pile up under one domain.

Three more 2026 reasons this matters:

  • AI Overviews lean on existing top-10 ranking. Roughly 76.1% of URLs cited in Google's AI Overviews also rank in the top 10 for the same query. Bleeding link equity to a subdomain shrinks your top-10 footprint, which directly shrinks your AI citation footprint.

  • AI search and Google search are diverging. A separate Ahrefs analysis found that only 12% of AI-cited URLs rank in Google's top 10 for the original prompt. You need the post to look authoritative to both systems — and one-domain authority is the cheapest way to do it.

  • AI models prefer fresh content. A 17-million-citation study across seven AI search platforms found AI assistants prefer content that is on average 25.7% fresher than the broader web. Owning the publishing pipeline (versus waiting on a CMS plugin update) is how you keep "updated" timestamps moving.

The wedge for an MCP-native publisher is therefore very specific: write in Claude, publish to yourdomain.com/blog/your-slug, with the canonical URL, sitemap, RSS, and indexing API ping handled for you. No subdomain. No iframe. No "Powered by AnotherTool" footer dragging down your link equity.

The four-phase MCP publishing loop

Every publishing MCP server worth using exposes the same four phases. Memorize this sequence — it's the workflow you'll prompt Claude through every time you publish.

The four-phase MCP publishing loop: Draft → Score → Patch → Publish.

Each phase maps to a specific MCP tool call. Claude figures out which tool to use from your prompt; you don't have to name them. Here's how the loop runs end to end:

Table

Phase

Tool called

What Claude does

Gate before next phase

1. Draft

create_blog

Generates markdown body, slug, meta title, meta description, tags. Saves as draft on your domain.

Draft saved with a status of draft.

2. Score

check_blog_seo

Runs the post through 14+ SEO criteria and returns a 0–100 score plus per-category breakdown.

Score returned.

3. Patch

get_blog_seo_patches + update_blog

Pulls a list of ready-to-apply find/replace patches with point impact, then applies them in one batch.

Score ≥ 85 (publish-ready).

4. Publish

publish_blog

Flips status to published, regenerates sitemap and RSS, pings Google's Indexing API.

Post live on yourdomain.com/blog/your-slug.

The discipline is what makes this work. Most "AI blog" workflows skip Phase 2 and 3 entirely — Claude writes a draft, the user copy-pastes it into a CMS, and an editor with no SEO checklist publishes it. The post ranks on page 4 and dies there.

A scoring step catches the things humans forget: missing alt text, an H1 with no keyword in the first five words, a meta description over 160 characters, internal links pointing nowhere. The patch step turns those misses into a list Claude can fix in one tool call.

What "Score" actually checks

The scoring engine inside Quillly's MCP runs each post against 14+ criteria including keyword optimization, meta tags, heading structure, slug shape, content length, content structure, readability, image optimization, internal linking, external sources, link health, E-E-A-T signals, featured-snippet readiness, and overall hygiene. Each criterion returns a sub-score, a status, and a fix hint. The aggregate becomes your 0–100 score. We'll dig deeper into these later.

Why patch beats rewrite

A patch is a surgical find/replace operation. It costs one tool call and leaves the rest of the markdown alone. A "please rewrite" round-trip costs two tool calls (get_blog + update_blog content=...), wastes credits, and routinely introduces new defects (a fresh H1 with a different keyword, an accidentally dropped internal link).

This is the same reason senior engineers prefer code review diffs to "please rewrite this file." Diffs are auditable. Rewrites are not.

Connect Claude Desktop, Claude Code, or Cursor to a publishing MCP server

The configs below all point at Quillly's MCP endpoint (https://quillly.com/api/mcp). The same shape works for any HTTP-transport MCP server — swap the URL and headers for your provider.

Claude Desktop (the one-click path)

Claude Desktop ships native MCP support via the Connectors panel. You don't have to touch a config file:

  1. Open Claude Desktop → SettingsConnectors.

  2. Click Add custom connector.

  3. Paste https://quillly.com/api/mcp and pick OAuth.

  4. Sign in with Google when the browser pops open. Claude Desktop receives a token via OAuth 2.1 with PKCE and stores it locally.

  5. Start a new chat. Type "list my blogs on quillly" — Claude will surface the connector's tools and run list_blogs.

If you'd rather use an API key (recommended for shared machines and Claude Code), generate one in your dashboard. Quillly keys start with the qly_ prefix so you can spot them in logs.

Claude Code (CLI, terminal-first)

Claude Code is the right tool when you want the publishing loop to live next to your codebase, run inside a worktree, or be scriptable. One command:

code
claude mcp add --transport http quillly https://quillly.com/api/mcp \
  -H "Authorization: Bearer qly_your_key_here"

That registers the server globally. From any project directory, ask Claude to "draft a 1,500-word post on <topic>, score it, fix anything under 85, and publish." Claude Code will resolve the connection, call the four tools in order, and stream the diff back to your terminal.

Cursor and other JSON-config clients

Cursor, Windsurf, Cline, and Continue.dev all read from a project-level or user-level mcp.json. Add this block:

code
{
  "mcpServers": {
    "quillly": {
      "url": "https://quillly.com/api/mcp",
      "headers": {
        "Authorization": "Bearer qly_your_key_here"
      }
    }
  }
}

Restart the client. The Quillly tools show up alongside your filesystem and GitHub MCPs.

One MCP, every editor

The headline benefit isn't any single integration — it's the portability. The same authenticated connection works in Claude Desktop, Claude Code, Cursor, and every other client that speaks MCP. You can draft a post on a phone in Claude's mobile app, finish it in Cursor, and have a teammate publish from their own Claude Desktop session. The post, the SEO score, and the version history are server-side. The clients are interchangeable.

That portability is exactly the bet Anthropic made when it donated MCP to the Linux Foundation: the protocol becomes infrastructure, not vendor lock-in.

A real prompt-to-published walkthrough

Here's the actual sequence you'd run in Claude Desktop after the connector is wired up. The user prompt is in plain English. Claude resolves each step into a tool call.

Prompt 1 — Draft.

"Draft a 2,000-word blog called 'Self-hosted blog vs SaaS blog platform: the honest comparison for indie hackers.' Use my brand voice (direct, builder-to-builder, no fluff). Pull a comparison table, a 5-point checklist, and a FAQ. Save it as a draft on my website."

Claude calls create_blog with the markdown body, a slug, meta title and description, and three tags. Comes back with a blog ID and an initial SEO score.

Prompt 2 — Score.

"Score the post and tell me what's failing."

Claude calls check_blog_seo. It returns "78/100, B. Failing: meta description 168 chars (over the 160 limit), only one internal link, alt text missing on the second image."

Prompt 3 — Patch.

"Get the patches and apply them in one update. Add two more internal links if relevant posts exist."

Claude calls get_blog_seo_patches (which returns find/replace strings with point impact like "+5 if you trim meta description"), runs suggest_internal_links to find candidates, then issues a single update_blog call with all patches batched. Score jumps to 88.

Prompt 4 — Publish.

"Publish it."

Claude calls publish_blog. Response: post is live at yourdomain.com/blog/self-hosted-vs-saas-blog-indie-hackers, the sitemap regenerated, the canonical tag is set, and the URL was submitted via Google's Indexing API.

That's the whole loop. Four prompts. No browser tabs. No copy-paste. The end-to-end run from "draft this" to "it's live" routinely takes under five minutes — fast enough that the bottleneck is no longer publishing, it's deciding what's worth writing.

For context on how much time that buys back: a State of AI Content Marketing 2026 benchmark found that marketers save an average of 3 hours per content piece and 2.5 hours per day using AI tools, and 86% report saving more than an hour daily on creative work. Pulling the publish step into the same loop pushes those numbers higher.

"AI search is rewriting how people find information. A page at position 1 in ChatGPT's retrieval results has a 58% citation rate versus 14% at position 10 — a 4× gap that no amount of content quality alone won't close." — Aleyda Solís, AI search and SEO consultant (source)

Aleyda's point is the reason the publish step matters as much as the writing step. If the post never reaches a state Google actually wants to crawl — clean schema, valid sitemap, canonical pointed home — it never enters the retrieval pool that AI engines draw from. The four-phase loop is what gets you in.

What the SEO scoring step is actually checking

Most "AI blog" tools either skip SEO entirely or fake it with a single keyword density check. A useful scoring engine evaluates the post against the same criteria a senior SEO would in a manual audit. Quillly's MCP runs each post through 14+ checks. Knowing what they are makes you a better prompter:

  • Keyword optimization — Primary keyword in H1 (first 5 words), URL, first 100 words, and 2+ H2s. Density between 0.5–2.5%.

  • Meta tags — Title ≤60 chars with keyword front-loaded. Description 120–155 chars with a benefit hook.

  • Heading structure — Single H1, H2s in logical order, no skipped levels (no H4 under an H2).

  • URL / slug — 3–5 words, kebab-case, includes the primary keyword, no stop words.

  • Content length — Above the SERP-median word count for the target keyword. Not padded for its own sake.

  • Content structure — Bulleted lists, numbered lists, and at least one table. Sections of 120–180 words between headings.

  • Readability — Grade 8–9 reading level. Short sentences. Paragraphs of 2–4 lines.

  • Image optimization — Alt text on every image. First image becomes the featured image.

  • Internal linking — At least three contextual links to other published posts on the same domain.

  • External sources — Three to five citations to authoritative sources, opened in the same tab.

  • Link health — Every link returns 200. No 404s, no soft-redirect chains.

  • E-E-A-T signals — Author byline, publish date, source citations, named expert quotes.

  • Featured snippets — A 40–60 word direct-answer paragraph near the top.

  • Hygiene — No broken markdown, no orphan brackets, no duplicate H1.

Each criterion returns a sub-score and an actionable hint. The aggregate is your 0–100 number. Hit ≥85 and a post is publish-ready by the standards Google and AI engines actually use, not the standards a 2018 keyword-stuffing tool used.

The contrarian take: AI-written blogs rank fine when you give them infrastructure

Conventional wisdom in 2026 says AI content can't rank. The conventional wisdom is misreading the data.

Yes, a Semrush analysis of 42,000 blog posts found that purely-AI content holds the #1 spot only about 9% of the time, versus 80% for human-written content. But the same study notes that from position 5 onward the gap collapses. And Ahrefs sampled 900,000 newly published pages and found nearly three-quarters contain AI-generated content in some form — yet only 2.5% are categorized as "pure AI."

The pattern: pages that lose are pages that are only AI-generated, with no editorial pass, no SEO infrastructure, no internal link map, no schema, no fresh sources. Pages that win are AI-drafted and human-shaped — and increasingly, AI-drafted and workflow-shaped, where the workflow itself enforces SEO infrastructure.

That's the entire point of an MCP-native publishing loop. The AI writes. A scoring engine forces the post through 14+ checks. Patches close the gaps before publish. The post that goes live is structurally indistinguishable from one a senior editor shipped, because the same checklist ran.

If you want a deeper view of the broader category, the ultimate guide to AI blog automation in 2026 covers the same shift across more workflows. The short version: AI authorship is no longer the question. The question is whether your publishing pipeline catches the things AI authorship will never catch on its own.

How MCP-native publishing stacks up against the alternatives

Five common ways developers try to publish from Claude Desktop right now, and where each falls down:

Table 2

Approach

Native MCP?

Publishes to your own domain?

Built-in SEO scoring?

Schema + sitemap + GSC?

Cost to start

WordPress + WP MCP plugin

Yes (via plugin)

Yes (subdir)

No

Plugin stack required

$0 + hosting + plugin maintenance

Webflow MCP

Yes

Yes

No

Partial

Webflow plan ($14+/mo)

GitHub Pages + custom MCP

DIY

Yes

No

DIY

$0 + dev time

Medium / Dev.to MCP

Yes

No (their domain)

No

Their schema

$0

Quillly MCP

Yes (native)

Yes (subdir)

Yes (14+ criteria)

Yes (auto)

Free plan available

A WordPress + plugin stack works, but you're back to maintaining plugins, theme conflicts, and a dashboard you're trying to avoid. Webflow is clean but doesn't enforce SEO scoring before publish. GitHub Pages is great for engineers who enjoy yak-shaving — most don't. Medium and Dev.to are tempting and fast, but every backlink earned compounds against their domain, not yours.

Quillly's wedge is the combination: native MCP server, publishes to a subdirectory on your domain (no subdomain), enforces a SEO scoring gate before publish, and ships with sitemap, RSS, canonical, schema, and Google Search Console wired up out of the box. The Free plan covers one site, unlimited blogs, and the core MCP toolset; the Pro plan ($9/mo or $90/yr) adds five sites, custom CSS, scheduled publishing, and the AI generation tools.

If you want a side-by-side on writing tools more broadly (Jasper, Writesonic, Surfer SEO, etc.), the definitive comparison of AI blog writing tools in 2026 covers what each one does — and crucially, what they don't. Most of them are draft-only. Almost none of them publish.

Frequently asked questions

Can Claude Desktop publish blog posts directly to a website?

Yes, but only through an MCP server that exposes publishing tools. Claude Desktop on its own can't write to any external system. With a publishing MCP connector (Quillly, WP MCP Ultimate, a custom Webflow server, etc.), Claude can call tools like create_blog, update_blog, and publish_blog to land posts on your site. The connector handles auth, the API call, and (with the right server) the SEO and indexing plumbing.

Do I need WordPress to publish blogs from Claude Desktop?

No. WordPress is one option via plugins like WP MCP Ultimate, but you can publish from Claude Desktop into Webflow, Ghost, custom GitHub-Pages stacks, Medium, Dev.to, Notion, or a dedicated MCP-native platform like Quillly. The advantage of an MCP-native platform is that publishing to your own domain doesn't require any CMS to maintain.

What is MCP and how does it work with Claude?

MCP — Model Context Protocol — is an open standard that lets AI assistants call external "tools" exposed by a server. Anthropic launched it in November 2024 and donated governance to the Linux Foundation in 2026. When you connect an MCP server to Claude Desktop, Claude can read its available tools and call them based on your prompt — no manual function-calling code required.

Is AI-generated content bad for SEO in 2026?

No. Pure AI content with no editorial pass struggles to rank, but AI-drafted content that runs through SEO scoring, patches, and structural review consistently competes with human-written content from position 5 onward. Google's stated position is that helpfulness — not authorship — drives rankings. The catch is that "helpful" requires structure, sources, and freshness — exactly what an SEO-scoring publishing loop enforces.

Should my blog live on a subdomain or a subdirectory?

Subdirectory. Backlinks and topical authority compound under one domain, while subdomains build authority independently. Public migrations from Salesforce, Yelp, and Monster all show subdirectory moves boosting organic traffic substantially. For more on building an AI-ready website that ranks in generative search, the structural rules are the same: one domain, one canonical, one consolidated link graph.

How much does it cost to publish from Claude Desktop?

Claude Desktop itself is free. Most publishing MCP servers offer a free tier — Quillly's Free plan covers one site, unlimited blogs, and the core MCP toolset, with a Pro plan at $9/mo or $90/yr for multi-site support and AI generation tools. Costs only stack when you add a separate CMS license, hosting, or premium SEO plugins on top.

Can I publish to multiple sites from one Claude Desktop session?

Yes, if your MCP server supports multi-site management. Quillly's Pro plan supports five sites under one connection — Claude can ask "which site am I publishing to?" and route the call accordingly. This is the workflow agencies use to run blogs across multiple client domains from a single chat.

How does AI Overview citation differ from Google ranking?

They're related but increasingly separate systems. Roughly 76% of AI Overview citations come from pages already in Google's top 10 — but only ~12% of citations across all AI search platforms appear in Google's top 10 for the same prompt. Translation: ranking helps a lot for AI Overviews specifically, but ChatGPT and Perplexity are pulling from a different (and shifting) retrieval pool. You need to be present in both, which is why publishing infrastructure that handles schema, freshness, and canonical URLs cleanly matters more in 2026 than it did in 2023.

The takeaway

Three things to walk away with:

  1. The four-phase MCP publishing loop is the whole game. Draft → Score → Patch → Publish. Skip the score and patch steps and you're back to publishing AI slop that ranks at position 40.

  2. Subdirectory beats subdomain by an order of magnitude in compounding authority. Salesforce doubled organic traffic on this single change. So have Yelp, Monster, and a long list of others.

  3. MCP is now infrastructure. With 10,000+ servers, 97 million monthly SDK downloads, and Linux Foundation governance, the protocol is no longer a bet — it's the substrate every AI client speaks. Building your publishing pipeline against MCP today means you keep the same workflow when ChatGPT, Cursor, and Gemini all join the same room (which they already have).

If you also want to be cited by AI Overviews and not just rank in Google, the zero-click search playbook for 2026 covers the structural changes worth making before your next post goes live.

Want your AI to actually publish the post it just wrote? Connect Quillly to Claude Desktop in 30 seconds.