Bulk Publishing AI MCP Server — Overview
What Is the MCP Server?
The Bulk Publishing AI MCP (Model Context Protocol) Server turns the entire content generation platform into a set of callable tools that any MCP-compatible AI client can access. Instead of using the web dashboard, site owners can generate articles, manage projects, publish to WordPress, export content, and trigger SEO indexing directly from their AI coding environment.
Compatible Clients:
- Antigravity
- Claude Desktop
- Cursor
- Windsurf
- Cline
- Any MCP-compatible editor or agent framework
Architecture
┌─────────────────────────────┐
│ MCP Client (Claude, etc.) │
│ User sends natural │
│ language commands │
└──────────┬──────────────────┘
│ stdio / SSE
▼
┌─────────────────────────────┐
│ BPAI MCP Server │
│ ┌───────────────────────┐ │
│ │ Tool Router │ │
│ │ ┌─────────────────┐ │ │
│ │ │ generate │ │ │
│ │ │ research │ │ │
│ │ │ export / import │ │ │
│ │ │ wordpress │ │ │
│ │ │ indexing │ │ │
│ │ │ projects │ │ │
│ │ └─────────────────┘ │ │
│ └───────────────────────┘ │
│ │ │
│ ┌──────────▼────────────┐ │
│ │ AI Engine │ │
│ │ OpenAI | Claude | │ │
│ │ Gemini | Grok | │ │
│ │ DeepSeek | Kimi | │ │
│ │ Perplexity │ │
│ └──────────┬────────────┘ │
└──────────────┼──────────────┘
│
┌──────────▼──────────┐
│ InsForge Backend │
│ PostgreSQL + Auth │
│ + Edge Functions │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ External Services │
│ WordPress REST API │
│ IndexNow / Bing │
│ Google Ping │
│ Broadcaster Network │
└─────────────────────┘
Content Generation
| Tool |
Description |
generate_article |
Generate a single SEO-optimized article from a keyword or topic |
generate_batch |
Generate multiple articles from a list of keywords |
generate_seo_metadata |
Generate optimized title, slug, and meta description for a keyword |
humanize_content |
Run anti-AI detection pass on existing content |
Article Library
| Tool |
Description |
list_articles |
Browse and search your generated article library |
get_article |
Retrieve full content of a stored article by ID |
Research
| Tool |
Description |
research_topic |
Run web research on a topic using Perplexity or other providers |
Import & Export
| Tool |
Description |
import_csv |
Import keywords, titles, and metadata from a local CSV file |
export_csv |
Export articles as CSV |
export_markdown |
Export articles as individual .md files with YAML frontmatter |
export_json |
Export articles as structured JSON |
export_bulk |
Combined export with format, scope, and filter options |
WordPress Publishing
| Tool |
Description |
publish_to_wordpress |
Publish a single article to a connected WordPress site |
publish_batch |
Publish multiple articles in sequence with rate limiting |
test_wp_connection |
Verify WordPress credentials and connectivity |
list_wp_categories |
List available categories from a WordPress site |
SEO & Indexing
| Tool |
Description |
broadcast_urls |
Submit URLs to Google, Bing, and Yandex discovery endpoints |
indexnow_submit |
Submit URLs via the IndexNow protocol for rapid indexing |
fetch_sitemap |
Fetch and parse a site's XML sitemap |
Project Management
| Tool |
Description |
list_projects |
List all projects for the authenticated user |
switch_project |
Set the active project for subsequent commands |
get_project_settings |
View settings for a project (WordPress, linking, prompts) |
get_settings |
View current AI generation settings |
update_linking_settings |
Update internal linking configuration for a project |
Knowledge Base
| Tool |
Description |
list_knowledge_base |
List knowledge base items for a project |
add_knowledge_base |
Add brand voice, facts, or context snippets |
update_knowledge_base |
Update an existing KB item |
delete_knowledge_base |
Remove a KB item |
Models
| Tool |
Description |
list_models |
List available AI models for a provider |
Image Generation
| Tool |
Description |
generate_image |
Generate a single image from a text prompt using Gemini Nano Banana models |
generate_article_images |
Generate hero + section images for an article keyword |
list_image_models |
List available Gemini image models and capabilities |
MCP vs. Web App Comparison
| Capability |
Web App |
MCP Server |
| Single article generation |
✅ |
✅ |
| Batch generation |
✅ (browser-limited) |
✅ (server-side) |
| CSV input |
Upload (10MB limit) |
Local file read (unlimited) |
| CSV/Markdown/JSON export |
Browser download |
Direct file write |
| WordPress publishing |
✅ |
✅ |
| Deep Research |
✅ |
✅ |
| Internal Linking |
✅ |
✅ |
| Cross-Linking |
✅ |
✅ |
| Broadcaster / IndexNow |
✅ |
✅ |
| Knowledge Base |
✅ |
✅ |
| Article Persistence |
✅ |
✅ |
| Scriptable / automatable |
No |
Yes |
| Works without browser |
No |
Yes |
| File system access |
No |
Yes |
| Image generation |
Yes |
Yes |
BYOK (Bring Your Own Key) Model
The MCP server uses the same BYOK architecture as the web app. Users provide their own API keys for AI providers:
- OpenAI — GPT-5.2, GPT-5-mini, o4-mini, GPT-4.1 series
- Anthropic — Claude Opus 4.5, Claude Sonnet 4.5, Claude 3.7 Sonnet
- Google — Gemini 3 Pro, Gemini 2.5 Flash
- xAI — Grok 4 Flagship, Grok 4.1 Fast
- DeepSeek — DeepSeek Reasoner V3.2
- Kimi — Kimi K2.5 Thinking
- Perplexity — Sonar Pro, Sonar Reasoning Pro
Multi-key registration allows parallel generation across multiple API keys per provider, distributing rate limits and maximizing throughput.
Security Model
- Row Level Security (RLS): All data is isolated per user via
auth.uid() = user_id
- API Key Encryption: User API keys are stored encrypted in InsForge PostgreSQL
- No Key Storage on MCP: The MCP server never persists API keys locally. Keys are fetched per-session from the database
- TLS Transit: All communication between the MCP server and InsForge uses encrypted connections
- Project Isolation: Each project's settings, knowledge base, and content are isolated by
project_id
Next Steps