Strapi MCP Server
Package: ainative-strapi-mcp-server
npm: npm install -g ainative-strapi-mcp-server
Tools: 21 across 4 content types
Auth: Strapi admin email + password
Lets AI agents create, update, filter, and publish content in Strapi CMS using natural language — blog posts, tutorials, gallery items, and events — without touching the Strapi UI.
Quick Start
Claude Code
claude mcp add ainative-strapi ainative-strapi-mcp -- \
-e STRAPI_URL=https://your-strapi.com \
-e STRAPI_ADMIN_EMAIL=admin@example.com \
-e STRAPI_ADMIN_PASSWORD=yourpassword
Manual Config
{
"mcpServers": {
"ainative-strapi": {
"command": "ainative-strapi-mcp",
"args": [],
"env": {
"STRAPI_URL": "https://your-strapi-instance.com",
"STRAPI_ADMIN_EMAIL": "admin@example.com",
"STRAPI_ADMIN_PASSWORD": "your-secure-password"
}
}
}
}
Environment Variables
| Variable | Required | Description |
|---|---|---|
STRAPI_URL | Yes | Your Strapi instance URL |
STRAPI_ADMIN_EMAIL | Yes | Admin account email |
STRAPI_ADMIN_PASSWORD | Yes | Admin account password |
Tools Reference
Blog Posts (8 tools)
| Tool | Description |
|---|---|
strapi_create_blog_post | Create a blog post (title, content, slug, categories, tags, author) |
strapi_list_blog_posts | List posts with filters (category, tag, author, status, date range) |
strapi_get_blog_post | Get a post by document ID |
strapi_update_blog_post | Update title, content, metadata |
strapi_publish_blog_post | Publish or unpublish a post |
strapi_list_authors | List all authors |
strapi_list_categories | List all categories |
strapi_list_tags | List all tags |
Create blog post example:
{
"title": "Introducing ZeroDB Local",
"content": "# ZeroDB Local\n\nRun vector search offline...",
"slug": "introducing-zerodb-local",
"categories": ["Product Updates"],
"tags": ["zerodb", "open-source"],
"author": "AINative Team"
}
Tutorials (5 tools)
| Tool | Description |
|---|---|
strapi_create_tutorial | Create a tutorial (title, steps, difficulty, duration) |
strapi_list_tutorials | List tutorials with filters (difficulty, category, tags) |
strapi_get_tutorial | Get tutorial by document ID |
strapi_update_tutorial | Update tutorial content or metadata |
strapi_publish_tutorial | Publish or unpublish |
Difficulty values: beginner, intermediate, advanced
Events (5 tools)
| Tool | Description |
|---|---|
strapi_create_event | Create an event (title, type, date, location, registration URL) |
strapi_list_events | List events with filters (type, date range, status) |
strapi_get_event | Get event by document ID |
strapi_update_event | Update event details |
strapi_publish_event | Publish or unpublish |
Event type values: webinar, workshop, meetup, conference, hackathon
Gallery Items (5 tools)
| Tool | Description |
|---|---|
strapi_create_gallery_item | Create a gallery item |
strapi_list_gallery_items | List gallery items with filters |
strapi_get_gallery_item | Get item by document ID |
strapi_update_gallery_item | Update gallery item |
strapi_publish_gallery_item | Publish or unpublish |
Example Workflows
Draft and publish a blog post
You: "Write a blog post about our new Agent Cloud launch and publish it"
Agent: [strapi_list_authors] Found authors: ["AINative Team", "Engineering"]
[strapi_list_categories] Found: ["Product Updates", "Engineering", "Tutorials"]
[strapi_create_blog_post] Created draft "Introducing Agent Cloud" (ID: abc123)
[strapi_publish_blog_post] Published. Live at /blog/introducing-agent-cloud
Bulk content audit
You: "List all unpublished blog posts from the last 30 days"
Agent: [strapi_list_blog_posts] Filters: status=draft, createdAt > 2026-04-09
Found 7 unpublished drafts:
- "Q2 Product Roadmap" (created 2026-04-15)
- "ZeroDB Local Tutorial" (created 2026-04-22)
...
Create an event
You: "Create a PAI Palooza event for June 15th in San Francisco"
Agent: [strapi_create_event] {
title: "PAI Palooza — SF June 2026",
type: "meetup",
date: "2026-06-15T18:00:00Z",
location: "San Francisco, CA"
}
Created (ID: xyz789). Publish it?
Installation
npm install -g ainative-strapi-mcp-server
Verify:
ainative-strapi-mcp --version