sjs / neos-mcp
The base implementation for a Neos CMS MCP Server
Installs: 0
Dependents: 4
Suggesters: 0
Security: 0
Stars: 2
Watchers: 0
Forks: 0
Open Issues: 0
Type:neos-package
pkg:composer/sjs/neos-mcp
Requires
- guzzlehttp/guzzle: ^7.0
- neos/neos: ^8.0
This package is auto-updated.
Last update: 2026-03-01 23:02:19 UTC
README
Core MCP (Model Context Protocol) server implementation for Neos CMS 9.x.
Warning
This package may work on Neos 8 but this is NOT TESTED! It is also under development so things can change
Quick Start
Neos 9
Install these Feature Sets:
- Neos
composer require sjs/neos-mcp-feature-set-neos📦 Packagist - ContentRepository
composer require sjs/neos-mcp-feature-set-cr📦 Packagist - Resources
composer require sjs/neos-mcp-feature-set-resources📦 Packagist
For Testing:
- Test
composer require sjs/neos-mcp-feature-set-test📦 Packagist
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
- Create a class extending
AbstractFeatureSetwith#[Flow\Scope("singleton")]. - Implement
initialize()to register tools via$this->addTool(...). - Optionally override
resourcesList(),resourcesRead(),resourcesTemplatesList(),completionComplete(). - Register the class in
Configuration/Settings.Server.yamlunderserver.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.