Search by

rewi.sh / craft-mcp

rewi.sh

MCP - All in one. An MCP server for Craft CMS with content tools and a control panel for tokens, activity, and agent drafts.

Package info

github.com/rewishapp/craft-mcp

Homepage

Documentation

Type:craft-plugin

pkg:composer/rewi.sh/craft-mcp

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-10-14 08:16 UTC

This package is auto-updated.

Last update: 2026-10-14 08:29:10 UTC


README

MCP server for Craft CMS. Agents can read and write content, inspect the schema, and you get a control panel for tokens, activity, and drafts.

Docs: docs/README.md
Source: github.com/rewishapp/craft-mcp

Package: rewi.sh/craft-mcp
Handle: craft-mcp
Craft: 5.0+ and 6.0+
PHP: 8.2+

Install

composer require "rewi.sh/craft-mcp:^1.0.0" -w && php craft plugin/install craft-mcp

With DDEV:

ddev composer require "rewi.sh/craft-mcp:^1.0.0" -w && ddev craft plugin/install craft-mcp

Local path (this repo next to your Craft project):

composer config repositories.craft-mcp '{"type": "path", "url": "../plugins/craft-mcp", "options": {"symlink": true}}'
composer require rewi.sh/craft-mcp:@dev -w && php craft plugin/install craft-mcp

Open MCP - All in one in the control panel. In production the server starts off. Turn it on under Settings, or in config/craft-mcp.php:

<?php

return [
    'enabled' => true,
    'enableDangerousTools' => true,
];

enableDangerousTools is what unlocks entry writes. Writes are drafts until someone publishes them.

Connect Cursor, Claude Code, Codex, or other

The Setup screen copies a stdio config that points at bin/mcp-server. For a remote client, turn on HTTP and create a token. The default endpoint path is mcp.

Scopes

  • readonly can look at content and schema.
  • content can also write entries, assets, categories, tags, and globals.
  • full can use system, database, and GraphQL mutation tools. Only admins can mint it.

A token can be limited to specific sections. Calls still have to pass Craft’s own permissions for that user.

Releases

Version comes from composer.json. On every push to main, CI runs lint and tests. If that version is not tagged yet and CHANGELOG.md has a matching ## x.y.z section, GitHub Actions creates vX.Y.Z and a GitHub Release.

To ship a new version: bump version in composer.json, add notes under that version in CHANGELOG.md, merge to main. Unchanged versions do not create another release.

Packagist: packagist.org/packages/rewi.sh/craft-mcp