This documentation always describes the latest published version.
| Requirement | Notes |
|---|---|
| Claude Code | With plugin (marketplace) support |
| Python | 3.12 or newer (requires-python = ">=3.12") |
| Sylius | 2.2 with a reachable Admin API (/api/v2/admin/) |
| Admin user | A dedicated Sylius admin user for the API, see Configuration |
The Python dependencies (mcp, httpx, python-dotenv, anyio) are installed by the setup skill from the plugin's requirements.txt.
claude plugin marketplace add markus-michalski/claude-plugin-syliusadminsyliusadmin from that marketplace./syliusadmin:setup.env files (see below and Configuration).The setup skill performs these steps:
| Step | Result |
|---|---|
| Find Python | Tries python3, python and py -3, and on Windows also known install locations |
| Check version | Python 3.12 or newer |
| Create venv | ~/.claude-plugin-syliusadmin/venv (Windows: %USERPROFILE%\.claude-plugin-syliusadmin\venv) |
| Install dependencies | pip install -r requirements.txt from the plugin directory |
Create .env files |
~/.claude-plugin-syliusadmin/stage/.env and ~/.claude-plugin-syliusadmin/prod/.env, each from .env.example; in the prod file SYLIUS_ENVIRONMENT=prod is set |
| Check layout | Server module importable, bin/run-server and both .env files present |
The skill never fills in credentials for you, it only creates the files. It runs again on every call and also corrects a mislabeled prod/.env, so it doubles as the repair route.
After setup the plugin registers two MCP servers:
| Server | Environment | Configuration file |
|---|---|---|
syliusadmin-stage-mcp |
Stage | ~/.claude-plugin-syliusadmin/stage/.env |
syliusadmin-prod-mcp |
Prod | ~/.claude-plugin-syliusadmin/prod/.env |
Right after installation
syliusadmin-prod-mcpshowsfailed. That is expected:prod/.envdoes not contain real credentials yet. Only after filling it in and restarting does the prod server becomeconnected.
The launcher
bin/run-servercalls the Python interpreter from~/.claude-mcp-syliusadmin/venv(Windows:%USERPROFILE%\.claude-mcp-syliusadmin\venv), while the setup skill creates the venv under~/.claude-plugin-syliusadmin/venv. If both servers stayfailedalthough the.envfiles are filled in, the venv is missing at the path the launcher expects. Create it there with the same dependencies, see Troubleshooting.
This route skips the plugin system. You then get no skills (setup, product wizard); the MCP server itself works the same.
mkdir -p ~/.claude/mcp-servers/syliusadmin-stage
cp -r servers/syliusadmin-server/src servers/syliusadmin-server/run.py requirements.txt \
~/.claude/mcp-servers/syliusadmin-stage/
cp .env ~/.claude/mcp-servers/syliusadmin-stage/.env
cd ~/.claude/mcp-servers/syliusadmin-stage && python3 -m venv venv && ./venv/bin/pip install -r requirements.txt
claude mcp add --scope user --transport stdio syliusadmin-stage -- \
~/.claude/mcp-servers/syliusadmin-stage/venv/bin/python3 \
~/.claude/mcp-servers/syliusadmin-stage/run.py
For prod, repeat the steps in a separate directory (for example ~/.claude/mcp-servers/syliusadmin-prod/) with SYLIUS_ENVIRONMENT=prod and the prod credentials.
Without SYLIUS_ENV_NAME and SYLIUS_ENV_FILE, run.py reads the .env right next to itself.
To run the tests a venv in the project folder is enough, no MCP operation is needed:
python3 -m venv venv
./venv/bin/pip install -r requirements-dev.txt
cp .env.example .env
./venv/bin/python3 -m pytest
/mcp in Claude Code: syliusadmin-stage-mcp must be connected.list_channels.After entering the credentials, Claude Code reloads the MCP servers on its next start. run.py reads the .env on every start, and the file wins over SYLIUS_* variables already set in the process.
~/.claude-plugin-syliusadmin/ (Windows: %USERPROFILE%\.claude-plugin-syliusadmin). It contains the venv and both .env files with your credentials.~/.claude-mcp-syliusadmin/.claude mcp remove --scope user syliusadmin-stage (and syliusadmin-prod) and delete the directory under ~/.claude/mcp-servers/.Nothing is left behind on the Sylius shop itself, the server installs nothing there.
If the server used to run as a git clone under ~/.claude/mcp-servers/syliusadmin-stage, proceed like this:
.env files./syliusadmin:setup..env files under ~/.claude-plugin-syliusadmin/.claude mcp remove --scope user syliusadmin-stage (and -prod).git pull there, because run.py in the repo now lives under servers/syliusadmin-server/.