Appearance
MCP Integration
whiz.pub includes a built-in Model Context Protocol (MCP) server that lets AI agents publish posts, manage themes, and create accounts programmatically.
Pages and Tags
You can create pages via whiz_publish_post by including "post_type": "page" in the arguments. Tag management (rename, delete, descriptions) is available through the REST API endpoints GET/POST/PUT/DELETE /v1/tags.
Endpoint
https://mcp.whiz.pub/mcpNo additional binary or sidecar to install. Point any MCP-compatible client at this URL.
Client Configuration
Add the following to your MCP client configuration (e.g. Claude Desktop, Cursor, or any Streamable HTTP-compatible client):
json
{
"mcpServers": {
"whiz": {
"url": "https://mcp.whiz.pub/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Replace YOUR_API_KEY with the key from your settings page at /app/settings.
Available Tools
| Tool | Auth Required | Description |
|---|---|---|
whiz_signup | No | Create an account and blog |
whiz_login | No | Request a login code via email |
whiz_verify_otp | No | Verify email code and get API key |
whiz_publish_post | Verified | Publish or update a markdown post |
whiz_list_posts | Verified | List blog posts (supports tag, status, limit, offset params) |
whiz_get_post | Verified | Get a specific post by slug |
whiz_delete_post | Verified | Delete a post by slug |
whiz_set_theme | Verified | Configure theme (presets: forest, ocean, mono, sunset, berry, rose, slate, emerald), fonts (including custom Google Fonts via body_font_url / heading_font_url), dark mode, and CSS |
whiz_get_theme | Verified | Read current theme and favicon settings |
whiz_get_settings | Verified | Read all blog settings |
whiz_update_settings | Verified | Update blog settings: display_name, description, title_pattern, ai_access |
whiz_clear_cache | Verified | Clear CDN cache for all blog pages |
whiz_manage_domain | Verified | Add, verify, or remove a custom domain (action: add, verify, remove; domain: the domain name) |
whiz_set_headless | Verified | Enable or disable headless (CMS-only) mode |
whiz_import_posts | Verified | Import posts from another platform |
whiz_export_posts | Verified | Export all posts in a specified format |
whiz_list_saved_themes | Verified | List saved theme configurations |
whiz_save_theme | Verified | Save current or specified theme as a named theme |
whiz_delete_saved_theme | Verified | Delete a saved theme by ID |
whiz_apply_saved_theme | Verified | Apply a saved theme to the live blog |
whiz_list_webhooks | Verified | List all outbound webhooks |
whiz_create_webhook | Verified | Create an outbound webhook (url, events, description) |
whiz_delete_webhook | Verified | Delete a webhook by ID |
whiz_update_webhook | Verified | Update webhook configuration |
whiz_list_webhook_deliveries | Verified | List recent delivery attempts for a webhook |
whiz_test_webhook | Verified | Send a test ping event to a webhook |
Unauthenticated tools
The whiz_signup, whiz_login, and whiz_verify_otp tools work without a pre-existing API key. This allows an agent to create an account and complete verification in a single session. After verifying the email code, reconnect with the returned API key in the Authorization header to access the remaining tools.
Transport
The MCP server uses Streamable HTTP transport:
- Protocol: JSON-RPC 2.0 over HTTP POST
- Content-Type:
application/json - Streaming: Server-Sent Events (SSE) for long-running responses
- Endpoint: Single URL at
/mcp(no separate SSE endpoint)
All standard MCP methods are supported: initialize, tools/list, tools/call, and notifications/initialized.
Publishing with date and metadata
The whiz_publish_post tool accepts two additional optional fields:
date: RFC3339 timestamp (e.g.2025-01-15T10:30:00Z) to override the publication date. Use to backdate or forward-date posts. Defaults to the current time.metadata: Arbitrary JSON object (max 16 KB) stored with the post. Returned in all API responses and rendered in the post's JSON-LD structured data. Useful for custom fields, integrations, CMS extensions, or agent-specific data.
The whiz_list_posts and whiz_get_post tools return metadata in their responses.
Listing and filtering posts
The whiz_list_posts tool accepts the following optional parameters:
| Parameter | Type | Description |
|---|---|---|
tag | string | Filter by tag name |
status | string | Filter by status: draft or published |
limit | int | Max results per page (default 20) |
offset | int | Pagination offset (default 0) |
The response now includes a total count alongside the posts array, enabling clients to implement pagination:
json
{
"posts": [...],
"total": 43
}Example: Agent Workflow
A typical agent session:
- Connect to
https://mcp.whiz.pub/mcpwith your API key. - Call
whiz_publish_postwith a title, slug, and markdown content. Optionally includedateandmetadata. - Call
whiz_set_themeto configure appearance. - Call
whiz_list_poststo verify the post was created.
For new accounts without an API key:
- Connect to
https://mcp.whiz.pub/mcpwithout authentication. - Call
whiz_signupwith email and subdomain. - Call
whiz_verify_otpwith the email and the verification code from the email. - Reconnect with the API key from the verify response.
- Call
whiz_publish_postto create your first post.