retailcrm-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@retailcrm-mcpShow me a summary of today's orders"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
retailcrm-mcp
Production-grade MCP server for RetailCRM e-commerce CRM. 39 tools + 2 prompt skills for managing orders, customers, products, inventory, payments, tasks, references, and analytics via API v5.
API traffic is transported by the official retailcrm/api-client-php client, pinned to 6.15.32, invoked from Node through a PHP bridge (bin/retailcrm-api.php). The server ships as a self-contained Docker image — no host PHP or Composer required.
Forked from theYahia/retailcrm-mcp (MIT).
Output is token-efficient by default
Read tools return a compact, shaped summary of only the fields an agent needs — not the full RetailCRM payload. Control verbosity per call:
Param | Effect |
(default) |
|
| All shaped fields (line items, delivery, payments, address…) |
| The untouched RetailCRM response (for debugging) |
⚠️ v3 was a breaking change vs v2: default output is the shaped summary instead of raw JSON. Pass
raw:trueto restore the old payload.
Related MCP server: Method CRM MCP Server
Tools (39)
Orders
Tool | Description |
| List orders by status, customer, number, date range |
| Get one order by ID or externalId |
| Create an order; link an existing customer ( |
| Update status, customer, delivery, comments |
| Order change history incl. status transitions (incremental sync) |
Customers
Tool | Description |
| Search customers by name, email, phone, date |
| Get one customer by ID or externalId |
| Create a customer |
| Edit an existing customer |
| Merge duplicates (destructive) |
| Customer change log (growth/churn, incremental sync) |
Products & inventory
Tool | Description |
| Catalog products by name, group, active, price |
| Product category tree |
| Stock levels & cost prices per offer/warehouse |
Payments
Tool | Description |
| Record a payment on an order |
| Edit a payment |
| Delete a payment (destructive) |
Notes & tasks
Tool | Description |
| Free-text customer notes |
| Follow-up tasks/reminders |
Marketing & finance
Tool | Description |
| Customer segments (RFM/marketing cohorts) |
| Expense records for margin analytics |
Files
Tool | Description |
| Attach & retrieve files (raw octet-stream upload) |
References
Tool | Description |
| Order/delivery/payment/store reference data |
| Sites the API key can act on (fill the |
| Address & order reference data |
Analytics
Tool | Description |
| Period-scoped order stats: exact count + revenue, AOV, status distribution |
| New-customer count for a date range |
Prompt Skills (2)
Skill | Description |
| Quick daily overview of today's orders |
| Find a customer by name, email, or phone |
Setup
In RetailCRM, go to Settings > Integration > API keys.
Create an API key with the required permissions (orders, customers, store, references). For a multi-site key, pass the
sitecode on create/edit tools (seelist_sites).Note your domain (the
yourstorepart ofyourstore.retailcrm.ru).
Environment Variables
Secrets are provided via environment variables only — never on the command line, in config files, or in logs.
Variable | Required | Description |
| Yes | Your RetailCRM domain (e.g. |
| Yes | API key (sent via the |
| No |
|
| No | Client-side requests/second cap (RetailCRM allows ~10/s) |
| No | PHP executable for the local (non-Docker) path (default |
| No | Path to |
| No | HTTP server bind (default |
| No | Comma-separated allowed |
| No |
|
RETAILCRM_URLis still accepted as a fallback forRETAILCRM_DOMAIN.
Docker (recommended)
Build the self-contained image (Node + PHP CLI/cURL + compiled server + PHP bridge + Composer production dependencies — official retailcrm/api-client-php 6.15.32):
docker build -t retailcrm-mcp:3.1.0 .Run over stdio:
docker run --rm -i \
-e RETAILCRM_DOMAIN=yourstore.retailcrm.ru \
-e RETAILCRM_API_KEY=your-api-key \
retailcrm-mcp:3.1.0Run the Streamable HTTP server instead by appending --http:
docker run --rm -p 127.0.0.1:3000:3000 \
-e RETAILCRM_DOMAIN=yourstore.retailcrm.ru \
-e RETAILCRM_API_KEY=your-api-key \
-e HOST=0.0.0.0 \
retailcrm-mcp:3.1.0 --httpUsage with Claude Desktop / MCP clients
{
"mcpServers": {
"retailcrm": {
"command": "docker",
"args": [
"run", "--rm", "-i", "--init",
"-e", "RETAILCRM_DOMAIN",
"-e", "RETAILCRM_API_KEY",
"retailcrm-mcp:3.1.0"
],
"env": {
"RETAILCRM_DOMAIN": "yourstore.retailcrm.ru",
"RETAILCRM_API_KEY": "your-api-key"
}
}
}
}Optional: local Node + PHP + Composer
If you prefer not to use Docker, run the same stack locally:
# 1. Node dependencies + compile
npm install
npm run build
# 2. PHP dependencies (Composer >= 2; plugins and scripts disabled)
composer install --no-dev --no-interaction --no-progress --no-scripts --no-plugins --optimize-autoloader
# 3. Run (stdio)
RETAILCRM_DOMAIN=yourstore.retailcrm.ru \
RETAILCRM_API_KEY=your-api-key \
node dist/index.js
# Or the HTTP server
RETAILCRM_DOMAIN=yourstore.retailcrm.ru \
RETAILCRM_API_KEY=your-api-key \
node dist/index.js --httpRequires Node >= 18 and PHP >= 8.1 with the cURL, JSON, mbstring, and openssl extensions.
Architecture & the raw-upload exception
All normal RetailCRM traffic (GET and form POST) goes through the official
retailcrm/api-client-php6.15.32 client (SimpleClientFactory::createClient+CustomMethods/CustomApiMethod), executed insidebin/retailcrm-api.php.The Node client (
src/client.ts) talks to the bridge over JSON on stdin/stdout with a versioned, fail-closed protocol: malformed, empty, or non-JSON bridge output is always an error, never success.files_uploadis the one documented compatibility exception. The official v6.15.32FilesUploadRequestdoes not preserve this MCP's?filename=query parameter and caller MIME type, so the bridge performs that single call with PHP cURL — same normalized origin,X-API-KEYheader, 15-second timeout, and bounded error handling. Every other tool uses the official client.Retry policy is unchanged: 3 attempts,
429always retried, timeout/5xx retried for GETs only (never for ambiguous POSTs), optional client-side rate gate.
Demo Prompts
1. Daily order overview: "Show me all orders created today with status 'new'. Summarize the total count and revenue."
2. Customer lookup and order history: "Find the customer with email anna@example.com. Show their full profile and recent orders."
3. Stock check: "Is the product with externalId SKU-42 in stock, and in which warehouse?"
Webhooks / Triggers
RetailCRM does not support API-created webhooks. Use Triggers in the admin panel (Settings > Triggers) to send HTTP requests to external endpoints on order/customer events.
Error Handling
Rate limits / 5xx: automatic retry with exponential backoff + jitter (up to 3 attempts).
API errors: RetailCRM error details are parsed and returned to the model as a tool result with
isError: true, so the agent can self-correct (e.g. retry withby:"externalId").Timeouts: 15-second whole-call timeout, enforced by terminating the bridge process.
Development
npm install
npm test # vitest (mock-based; no live API key needed)
npm run lint # eslint
npm run typecheck # tsc --noEmit
npm run dev # stdio dev mode (tsx)
npm run build # clean + compile to dist/License
MIT — upstream © Yahia (theYahia/retailcrm-mcp); retailcrm/api-client-php is MIT © RetailCRM.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceozon-mcp is a knowledge-rich MCP server that turns the entire Ozon seller toolkit into 15 high-leverage tools. AI agents (Claude, Cursor, Cline, Continue, Goose, Zed, …) can search the API in Russian or English, drill into any of 466 methods with a fully-resolved JSON Schema, and execute calls with built-in safety guards. Subscription- aware, automatic pagination over all 4 cursor styles, retry/ba1515MIT
- Alicense-qualityCmaintenanceA production-ready MCP server for Method CRM API integration. It enables LLMs to interact with Method CRM data through tools for tables, files, users, events, and API key management.3MIT
- AlicenseBqualityCmaintenanceSelf-hosted MCP server that connects AI assistants to Kommo CRM (API v4), enabling real-time CRM actions such as creating/managing leads, tasks, notes, and more through 29 tools.291MIT
- AlicenseBqualityBmaintenanceProduction-grade MCP server for RetailCRM e-commerce CRM. Provides 39 tools and 2 prompt skills to manage orders, customers, products, inventory, payments, tasks, references, and analytics via API v5.39391MIT
Related MCP Connectors
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/veterinar/retailcrm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server