sjs/neos-mcp

The base implementation for a Neos CMS MCP Server

Maintainers

Package info

github.com/sjsone/SJS.Neos.MCP

Type:neos-package

pkg:composer/sjs/neos-mcp

Statistics

Installs: 6

Dependents: 4

Suggesters: 0

Stars: 3

Open Issues: 0

dev-main 2026-03-04 20:28 UTC

This package is auto-updated.

Last update: 2026-03-04 20:28:33 UTC


README

Warning

This package may work on Neos 8 but this is NOT TESTED! It is also under development so things can change

Core MCP (Model Context Protocol) server implementation for Neos CMS 9.x.

Important

🚧 This is the Roadmap up to Version 1.0

Quick Start

Neos 9

Install these Feature Sets:

For Testing:

Configuration

Server instances are defined in Configuration/Settings.Server.yaml:

SJS:
  Neos:
    MCP:
      server:
        mcp: # <-- This is the default for now
          featureSets:
            myFeatureSet: \Vendor\Site\MCP\FeatureSet\MyFeatureSet

Multiple named server instances can coexist alongside mcp.

Warning

Currently only mcp is used as it is hardcoded for now.

Implementing new Features

Adding a new FeatureSet

  1. Create a class extending AbstractFeatureSet with #[Flow\Scope("singleton")].
  2. Implement initialize() to register tools via $this->addTool(...).
  3. Optionally override resourcesList(), resourcesRead(), resourcesTemplatesList(), completionComplete().
  4. Register the class in Configuration/Settings.Server.yaml under server.mcp.featureSets.

Tool name prefixes

AbstractFeatureSet automatically derives a prefix from the class name (e.g., WorkspaceFeatureSet → prefix workspace). Tool names are exposed as {prefix}_{tool_name}.

Development

MCP Inspector

yarn mcp-inspector-cli

Launches the MCP Inspector UI for interactive testing.

References