# MCP Overview

> Hosted Model Context Protocol server for Claude, Cursor, and other MCP clients.

HTML version: https://blogizi.com/docs/mcp
Markdown version: https://blogizi.com/docs/mcp.md

Blogizi exposes a Streamable HTTP MCP server at `https://blogizi.com/api/mcp`. Authenticate with the same account API key as the CLI and [Public API](/docs/public-api).

## Connect

```json
{
  "mcpServers": {
    "blogizi": {
      "url": "https://blogizi.com/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_ACCOUNT_API_KEY"
      }
    }
  }
}
```

Get the key from **Dashboard → Account → API**. See [Authentication](/docs/api-authentication).

## Stdio-only clients

If your client only supports stdio MCP, bridge with `mcp-remote`:

```json
{
  "mcpServers": {
    "blogizi": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://blogizi.com/api/mcp",
        "--header",
        "Authorization: Bearer YOUR_ACCOUNT_API_KEY"
      ]
    }
  }
}
```

## Tools

- [list_projects](/docs/mcp-list-projects) — list blogs for the account
- [list_posts](/docs/mcp-list-posts) — list posts (defaults to published; metadata only)
- [draft_post](/docs/mcp-draft-post) — create a new draft (fails if the slug exists); optional `scheduledAt`
- [update_post](/docs/mcp-update-post) — upsert by slug; omit `status` to keep draft/published; optional `scheduledAt`
- [publish_post](/docs/mcp-publish-post) — upsert and publish **immediately** (cancels any schedule)
- [schedule_post](/docs/mcp-schedule-post) — schedule or unschedule an existing post by slug/`postId`
- [upload_post_image](/docs/mcp-upload-post-image) — upload cover or inline content image (base64)
- [get_search_performance](/docs/mcp-get-search-performance) — cached Google Search Console stats

Pass `projectSlug` on post tools when the account has more than one project (same rule as `blogizi use`). For a future go-live, set `scheduledAt` or call [schedule_post](/docs/mcp-schedule-post) — Blogizi publishes at that time; agents should not poll or call `publish_post` early. After you connect Search Console, agents can call [get_search_performance](/docs/mcp-get-search-performance) on the same server they publish with — see [SEO MCP](/seo-mcp).

> **Prefer the CLI for local files:** For repo workflows where the agent writes a `.md` file, prefer [blogizi draft/update/publish](/docs/cli-publishing). Use MCP when the client has no shell or you want direct tool calls.

Coming from WordPress? See [WordPress MCP alternative](/wordpress-mcp-alternative) for how the Blogizi MCP compares to a WordPress MCP server.
