# 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
- [draft_post](/docs/mcp-draft-post) — create a new draft (fails if the slug exists)
- [update_post](/docs/mcp-update-post) — upsert by slug; omit `status` to keep draft/published
- [publish_post](/docs/mcp-publish-post) — upsert and set status to `published`
- [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`).

> **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.
