Skip to content

For your AI agent (MCP)

The same engine, exposed over the Model Context Protocol so coding agents (Claude Code, Copilot agent mode, Cursor, …) query your project’s real values instead of grepping for them.

No — and they don’t compete. Strapi ships its own MCP server (GA since 5.49), and it’s good at something DevKit deliberately doesn’t do.

Strapi MCP (official)DevKit MCP
Acts onyour content — entries in a running appyour codebase — the files in your editor
Readsthe live API, over HTTPyour real schema.json and source files
Needsa running instance + an admin tokennothing: no server, no token, no network
RequiresStrapi ≥ 5.47, enabled explicitlyStrapi v4 or v5, zero config
Typical ask”create an article draft and publish it""what code uses api::article.article?”
ToolsCRUD per content-type (list, get, create, update, publish…)resolve, validate, find references, dependency graph, dead code, broken refs, routes
Can changeyour contentyour code (rename, move, schema edits — Pro)

Use Strapi’s MCP to work with your content. Use DevKit to work on your code.

Plenty of projects want both — they answer different questions, and nothing stops an agent from having the two connected at once. DevKit also keeps working when the app doesn’t: mid-migration, on a failing build, in CI, or on a Strapi v4 project.

In VS Code, Cursor, Windsurf and Antigravity the server is bundled in the extension and auto-registered with the editor’s MCP support. Install the extension and your agent can use the tools immediately — no config, no separate install.

On editors without the MCP-provider API (e.g. VSCodium), install the extension for the editor features and wire the standalone server below for your agent.

In Claude Code, Claude Desktop, or another MCP client

Section titled “In Claude Code, Claude Desktop, or another MCP client”

Point the client at the devkit-for-strapi-mcp stdio server. The recommended config runs it with npx (no global install) and passes your project’s absolute path:

{
"mcpServers": {
"devkit-for-strapi": {
"command": "npx",
"args": ["-y", "devkit-for-strapi-mcp@latest", "/absolute/path/to/your/strapi-project"]
}
}
}

The path argument is optional but the most reliable default — it’s indexed at startup, so the first tool call already works, on every client. Omit it to rely on the client’s roots capability or the cwd, or register the project later with the add_project tool.

Where this config file lives:

  • Claude Code — a .mcp.json at your project root, or run claude mcp add devkit-for-strapi -- npx -y devkit-for-strapi-mcp@latest . (the trailing . is the current directory — Claude Code runs the server from your project root, so it resolves correctly via the cwd fallback)
  • Claude Desktopclaude_desktop_config.json (then restart the app):
    • Windows%APPDATA%\Claude\claude_desktop_config.json
    • macOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Cursor / Windsurf / others — their MCP settings (an mcp.json), same mcpServers block.

For the Pro refactor tools, add an env block — "env": { "DEVKIT_LICENSE_KEY": "polar_xxx" } (see Activating your licence).

Full parameters and return shapes for every tool are in the MCP tool reference. A quick map:

Know — read the project’s truth: list_projects, list_content_types, list_components, list_artifacts, get_schema, resolve, validate_reference, find_references, list_routes.

Understand — health & impact: list_unused (dead code), list_broken_refs, coverage, find_relation_usages, list_refs, dependencies / dependents (the dependency graph, for cut analysis).

Refactor (Pro) — plan → review → apply: plan_rename_method / plan_rename_entity, plan_move / plan_move_entities, plan_change_relation, plan_rename_attribute, create_plugin, extract_to_plugin, then apply_edits / apply_rename.

Every refactor returns a contractual, reviewable plan (text edits + file creates/renames/deletes + content fingerprints). Applying is explicit and safe by construction: the executor is confined to your discovered project root(s) (symlink-resolved), refuses to silently overwrite, verifies the fingerprints first (a stale plan is rejected), is best-effort transactional, and self-verifies afterward. Guarantee, don’t guess — that principle applies to writes too.