---
title: "Strapi MCP Server"
description: "Create, update, and publish Strapi CMS content via AI agents — 21 tools for blog posts, tutorials, and events"
canonical: "https://docs.ainative.studio/docs/mcp/strapi-server"
last-updated: "2026-09-23T01:51:08.820Z"
---

# Strapi MCP Server

Source: https://docs.ainative.studio/docs/mcp/strapi-server

> Create, update, and publish Strapi CMS content via AI agents — 21 tools for blog posts, tutorials, and events

# 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

```bash
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

```json
{
  "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:**
```json
{
  "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

```bash
npm install -g ainative-strapi-mcp-server
```

Verify:

```bash
ainative-strapi-mcp --version
```
