contentforge-mcp
v0.2.1
Published
Content pipeline MCP server — topic research, image sourcing, SEO metadata, affiliate links, and CMS publishing
Maintainers
Readme
@gentry-ai-bot/contentforge
Content pipeline MCP server — from topic research to published article in one workflow.
ContentForge is a Model Context Protocol (MCP) server that provides AI agents and LLM clients with tools for the full content creation pipeline: topic research → image sourcing → SEO metadata → affiliate link enrichment → CMS publishing.
Available Tools
| Tool | Description |
|------|-------------|
| list_sites | List all available sites and their categories from the CMS |
| source_images | Search for stock images on Pexels (URLs, alt text, photographer credit) |
| seo_metadata | Generate SEO metadata: slug, meta description, schema.org markup, internal link suggestions |
| enrich_links | Scan article content for Amazon product URLs and add affiliate tags |
| publish_article | Publish a complete article to the CMS (with auto-categorization and tag support) |
| get_existing_articles | Retrieve existing articles from a site (for internal linking and dedup) |
Quick Start
Option 1: Stdio Mode (local, via npx)
npx @gentry-ai-bot/contentforge --stdioOption 2: Hosted Mode (SSE, remote)
Connect to the hosted instance:
- SSE endpoint:
https://bubbly-optimism-production.up.railway.app/sse - Messages endpoint:
https://bubbly-optimism-production.up.railway.app/messages - Health check:
https://bubbly-optimism-production.up.railway.app/health
Requires an API key via the x-api-key header.
MCP Client Configuration
Claude Desktop
Add to your claude_desktop_config.json:
Stdio mode (local):
{
"mcpServers": {
"contentforge": {
"command": "npx",
"args": ["@gentry-ai-bot/contentforge", "--stdio"],
"env": {
"CONTENTFORGE_CMS_URL": "https://your-cms-api.example.com",
"CONTENTFORGE_CMS_KEY": "your-cms-api-key",
"CONTENTFORGE_PEXELS_KEY": "your-pexels-api-key",
"CONTENTFORGE_AMAZON_TAG": "your-affiliate-tag"
}
}
}
}Hosted mode (SSE):
{
"mcpServers": {
"contentforge": {
"url": "https://bubbly-optimism-production.up.railway.app/sse",
"headers": {
"x-api-key": "your-api-key"
}
}
}
}Other MCP Clients
Any MCP-compatible client can connect via:
- Stdio: Run
npx @gentry-ai-bot/contentforge --stdioas a subprocess - SSE: Connect to the
/sseendpoint with anx-api-keyheader
Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| CONTENTFORGE_CMS_URL | Yes (stdio) | CMS API base URL |
| CONTENTFORGE_CMS_KEY | Yes (stdio) | CMS API key |
| CONTENTFORGE_PEXELS_KEY | Yes | Pexels API key for image sourcing |
| CONTENTFORGE_AMAZON_TAG | No | Amazon affiliate tag (default: pickwise05-20) |
| CONTENTFORGE_API_KEY | No | API key for hosted mode authentication |
| PORT | No | HTTP server port (default: 3000) |
Authentication
- Stdio mode: No auth needed — runs locally as a subprocess
- Hosted mode: Pass your API key via the
x-api-keyHTTP header on both/sseand/messagesendpoints - Rate limited to 100 requests/hour per API key
How It Works
- Research — Use
list_sitesandget_existing_articlesto understand what content exists - Source Images — Use
source_imagesto find relevant stock photography from Pexels - Optimize — Use
seo_metadatato generate slugs, meta descriptions, and schema.org markup - Monetize — Use
enrich_linksto automatically add affiliate tags to product links - Publish — Use
publish_articleto push the finished article to your CMS
License
MIT
