What is ToastMCP?

ToastMCP is a Model Context Protocol (MCP) server platform specifically designed for Ghost CMS blogs. It creates a bridge between your Ghost content and AI assistants like Claude, allowing your members to query your content naturally through conversation.

πŸ’‘
Think of it as...

An AI concierge for your content library. Members can ask "What did you write about SEO in 2023?" and get instant, accurate answers from your archive.

Key Benefits

  • New Revenue Stream β€” Offer AI access as a premium feature and charge extra for it
  • Paywall Protection β€” Your Ghost membership tiers are automatically enforced
  • Zero Configuration β€” Members just copy-paste a URL into their AI assistant
  • 5-Minute Setup β€” Connect your Ghost blog and start syncing members immediately

Choose Your Path

Select the guide that matches your role:

How It Works

ToastMCP connects your Ghost blog to AI assistants through the Model Context Protocol:

Connect Your Ghost Blog

Sign up for ToastMCP and paste your Ghost Admin and Content API keys. Your blog is connected instantly.

Sync Your Members

ToastMCP imports all your Ghost members and generates unique API keys for each one. Membership tiers are preserved.

Members Receive Access

Each member receives an email with their personal MCP connection URL. They just copy-paste it into Claude Desktop.

AI Queries Your Content

Members can now ask their AI assistant questions about your content. Paywall restrictions are automatically enforced.

Ghost API Setup

To connect ToastMCP to your Ghost blog, you'll need two API keys from your Ghost admin panel.

Getting Your Admin API Key

Open Ghost Admin

Navigate to your Ghost admin dashboard at yourblog.com/ghost

Go to Integrations

Click Settings β†’ Integrations in the left sidebar.

Create Custom Integration

Click + Add custom integration and name it "ToastMCP".

Copy Your Keys

Copy both the Admin API Key and Content API Key shown on the integration page.

⚠️
Keep Your Keys Secret

Your Admin API key provides full access to your Ghost blog. Never share it publicly or commit it to version control.

Member Management

Once connected, ToastMCP automatically syncs your Ghost members and generates unique API keys for each.

Syncing Members

Click the Sync Members button in your ToastMCP dashboard to import members from Ghost. This process:

  • Imports all existing Ghost members
  • Preserves membership tier information (Free, Paid, Premium)
  • Generates unique API keys for each member
  • Sends welcome emails with MCP connection instructions
πŸ“˜
Manual Sync Required

Currently, member sync is manual. Click "Refresh" to import new members. Real-time webhook sync is coming in Q2 2025.

Managing Access

Action Description
View Members See all synced members with their tier and API key status
Resend Email Send another welcome email with MCP connection instructions
Revoke Access Immediately disable a member's API key
Export Keys Download CSV of all member API keys

Member Guide

This section is for Ghost blog members who want to connect their AI assistant to access blog content.

What You'll Need

  • Your MCP URL β€” Check your email from the blog owner
  • Claude Desktop β€” Download from claude.ai/download

Understanding Your MCP URL

Your connection URL looks like this:

https://app.toastmcp.com/mcp?apiKey=YOUR_UNIQUE_KEY
πŸ”’
Keep Your API Key Private

Your API key is like a password. Don't share it with anyone elseβ€”sharing violates terms and may result in access being revoked.

Claude Desktop Setup

Connect Claude Desktop to your Ghost blog in under 5 minutes.

Open Configuration File

Open Finder and press Cmd + Shift + G. Navigate to:

~/Library/Application Support/Claude/claude_desktop_config.json

Add MCP Server Configuration

Add or update the file with the following JSON:

claude_desktop_config.json
{
  "mcpServers": {
    "ghost-blog": {
      "type": "url",
      "url": "https://app.toastmcp.com/mcp?apiKey=YOUR_API_KEY"
    }
  }
}

Restart Claude Desktop

Quit Claude Desktop completely (Cmd + Q) and reopen it. You should see the Ghost blog connection in your tools.

Open Configuration File

Press Win + R and enter:

%APPDATA%\Claude\claude_desktop_config.json

Add MCP Server Configuration

Add or update the file with the following JSON:

claude_desktop_config.json
{
  "mcpServers": {
    "ghost-blog": {
      "type": "url",
      "url": "https://app.toastmcp.com/mcp?apiKey=YOUR_API_KEY"
    }
  }
}

Restart Claude Desktop

Close Claude Desktop and reopen it. Your Ghost blog should now appear in available tools.

Open Configuration File

Open your terminal and edit:

~/.config/Claude/claude_desktop_config.json

Add MCP Server Configuration

Add or update the file with the following JSON:

claude_desktop_config.json
{
  "mcpServers": {
    "ghost-blog": {
      "type": "url",
      "url": "https://app.toastmcp.com/mcp?apiKey=YOUR_API_KEY"
    }
  }
}

Restart Claude Desktop

Restart Claude Desktop to load the new configuration.

Testing Your Connection

Once connected, try asking Claude:

  • "List the 5 most recent posts"
  • "Search for posts about [topic]"
  • "What did the author write about [subject]?"

MCP Server Reference

Technical documentation for developers integrating with the ToastMCP server.

Endpoint

SSE https://app.toastmcp.com/mcp?apiKey={API_KEY}

Authentication

All requests require an API key passed as a query parameter:

?apiKey=mcp_abc123def456...

Protocol

ToastMCP implements the Model Context Protocol (MCP) specification using Server-Sent Events (SSE) transport.

Tools Reference

ToastMCP exposes three MCP tools for querying Ghost content:

get_posts

Retrieve a list of blog posts with filtering options.

Parameter Type Description
limit Optional integer Number of posts to return (default: 15, max: 100)
page Optional integer Page number for pagination (default: 1)
filter Optional string Ghost filter syntax (e.g., "tag:javascript")
Example Request
{
  "tool": "get_posts",
  "arguments": {
    "limit": 10,
    "filter": "tag:tutorial"
  }
}

search_posts

Full-text search across accessible blog posts.

Parameter Type Description
query Required string Search query text
limit Optional integer Results to return (default: 10, max: 50)
Example Request
{
  "tool": "search_posts",
  "arguments": {
    "query": "machine learning tutorial",
    "limit": 5
  }
}

get_post_by_slug

Retrieve full post content by URL slug.

Parameter Type Description
slug Required string Post URL slug (e.g., "getting-started-with-ai")
format Optional string "html" or "markdown" (default: "html")
Example Request
{
  "tool": "get_post_by_slug",
  "arguments": {
    "slug": "getting-started-with-ai",
    "format": "markdown"
  }
}

Errors & Rate Limits

ToastMCP uses standard HTTP status codes to indicate success or failure.

Code Meaning Solution
200 Success Request completed successfully
401 Unauthorized Invalid or missing API key. Check your MCP URL.
403 Forbidden Content requires higher membership tier. Upgrade your subscription.
404 Not Found Post doesn't exist or has been deleted.
429 Too Many Requests Rate limit exceeded. Wait and retry.

Troubleshooting

Causes: Invalid API key, network issues, or server downtime.

Solutions:

  • Double-check your MCP URL from the welcome email
  • Ensure you copied the entire URL including the API key
  • Check status.toastmcp.com for service status
  • Try restarting Claude Desktop

Cause: The post requires a membership tier higher than yours.

Solution: Upgrade your Ghost membership to access premium content. Contact the blog owner for tier details.

Cause: Member sync is currently manual.

Solution: Click the "Refresh Members" button in your ToastMCP dashboard to sync new members from Ghost.

Causes: Keys copied incorrectly, or integration was deleted.

Solutions:

  • Create a new custom integration in Ghost
  • Copy both Admin and Content API keys carefully
  • Ensure no extra spaces before or after the keys

Frequently Asked Questions

For Blog Owners

  • Starter: $29/month (1 blog, 500 members)
  • Professional: $79/month (3 blogs, 5,000 members)
  • Enterprise: $199/month (unlimited)

No, it enhances it. Your Ghost paywall strategy is fully respected. Free members only access public content, paid members access paid content.

Member API keys stop working immediately. Your Ghost blog is completely unaffectedβ€”we never modify your Ghost content or settings.

For Members

Model Context Protocol (MCP) is a standard way for AI assistants like Claude to securely access external data sources. It lets you query blog content naturally through conversation.

No. Just copy-paste the URL from your welcome email into Claude Desktop settings. That's itβ€”takes less than 2 minutes.

Claude Desktop (recommended) and any other MCP-compatible client. We provide setup instructions for all major platforms.

Glossary

Term Definition
API Key A secret password that lets your AI assistant access the blog securely
Ghost The open-source blogging and publishing platform your content creator uses
MCP Model Context Protocol β€” a standard for connecting AI assistants to external data
Paywall Content restricted to paid members only
Slug The URL-friendly version of a post title (e.g., "my-first-post")
Tier Membership level (Free, Paid, Premium) that controls content access
SSE Server-Sent Events β€” the transport layer used for MCP communication

Security

ToastMCP is built with security as a core principle.

Data Protection

  • Unique API Keys β€” Each member gets a unique, revocable key
  • Server-Side Validation β€” All access checks happen on our servers
  • No Content Storage β€” We don't cache or store your Ghost content
  • HTTPS Only β€” All connections are encrypted with TLS 1.3

Infrastructure

  • Google Cloud Run β€” Auto-scaling, serverless containers
  • Firebase Auth β€” Enterprise-grade authentication
  • Cloud Firestore β€” Encrypted database with automatic backups

Compliance

  • βœ… GDPR compliant
  • βœ… SOC 2 Type II (in progress)
  • βœ… 99.9% uptime SLA
πŸ”’
Security Best Practices

Store your Ghost API keys securely, revoke access for departing members promptly, and monitor your usage dashboard for unusual activity.