mcp-creatio
v0.4.0
Published
MCP server for Creatio CRM. Connect Claude Desktop, ChatGPT, and GitHub Copilot to Creatio via Model Context Protocol and OData v4.
Maintainers
Readme
MCP Creatio Server
Model Context Protocol (MCP) server for Creatio (https://www.creatio.com/) to connect Claude Desktop, ChatGPT, GitHub Copilot, and other AI tools to Creatio data.
Also discoverable as:
- Creatio MCP server
- MCP server for Creatio CRM
- Model Context Protocol for Creatio
Overview
- Exposes Creatio data as MCP tools for MCP-compatible clients (Claude Desktop, ChatGPT Connectors, GitHub Copilot)
- Supports reading, creating, updating, deleting records and inspecting schema
- Execute Creatio business processes with parameters
- Uses Creatio OData v4 API under the hood
Features
- CRUD operations: read, create, update, delete Creatio records
- Schema discovery: list entity sets and inspect entity schemas
- Business processes: run Creatio workflows with parameters
- System settings: read, write, and manage system setting metadata
- Feature toggles: manage
Feature/AdminUnitFeatureStateand refresh the feature cache. ⚠️ Only DB-backed features are reachable — features defined exclusively inweb.configor other non-DB providers are invisible to MCP. - System operations: manage
SysAdminOperationand per-user/role grants (Creatio blocks these tables for OData modifications, so dedicated tools are provided) - Custom services: invoke any configuration-package REST service (
/0/rest/<service>/<method>) when no dedicated tool fits - AI assistant compatibility: Claude Desktop, ChatGPT Connectors, GitHub Copilot
- Three authentication modes: Legacy login/password, OAuth2 client credentials, OAuth2 authorization code
- Built-in OAuth server: Automatic MCP client authentication
- Docker ready: Multi-arch images available
Run Modes
This project supports two runtime modes:
1. CLI Mode (stdio)
Use this mode for MCP clients that launch a command directly (VS Code MCP, Claude Desktop, etc.).
- No HTTP endpoint needed
- Easiest local setup
- Supports Legacy auth and OAuth2 Client Credentials
- OAuth2 Authorization Code is not supported in
stdiomode
Run directly from npm:
npx -y mcp-creatio@latest \
--base-url https://your-creatio.com \
--login your_login \
--password your_passwordstdio logs are disabled by default. To enable them, set MCP_CREATIO_LOG_LEVEL or pass --log-level info.
VS Code MCP config (command-based):
{
"creatio": {
"command": "npx",
"args": [
"-y",
"mcp-creatio@latest",
"--base-url",
"https://your-creatio.com",
"--login",
"your_login",
"--password",
"your_password"
]
}
}Local repo command (without publishing):
npm run start:stdio -- --base-url https://your-creatio.com --login your_login --password your_password2. Server Mode (http)
Use this mode when your client connects by URL (for example http://localhost:3000/mcp).
- Exposes HTTP endpoint:
/mcp - Required for OAuth2 Authorization Code flow
- Works well with Docker and remote deployments
Start server:
npm startThen connect using URL:
{
"creatio": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}Configuration
| Variable | Description |
| ---------------------------- | -------------------------------------------------------------------- |
| CREATIO_BASE_URL | Required. Creatio instance URL (e.g. https://your-creatio.com) |
| CREATIO_LOGIN | Username for legacy auth |
| CREATIO_PASSWORD | Password for legacy auth |
| CREATIO_CLIENT_ID | OAuth2 client credentials ID |
| CREATIO_CLIENT_SECRET | OAuth2 client credentials secret |
| CREATIO_ID_BASE_URL | Identity Service URL (if separate from main Creatio instance) |
| CREATIO_CODE_CLIENT_ID | OAuth2 authorization code client ID |
| CREATIO_CODE_CLIENT_SECRET | OAuth2 authorization code client secret |
| CREATIO_CODE_REDIRECT_URI | OAuth2 redirect URI (e.g. http://localhost:3000/oauth/callback) |
| CREATIO_CODE_SCOPE | OAuth2 scope (e.g. offline_access ApplicationAccess_yourappguid) |
| READONLY_MODE | Set true to disable create/update/delete operations |
| MCP_CREATIO_LOG_LEVEL | Log verbosity: silent (default), error, warn, info |
Authentication Modes
Choose one of three ways to authenticate with Creatio:
1. Legacy (Username/Password)
CREATIO_LOGIN=YourLogin
CREATIO_PASSWORD=YourPassword2. OAuth2 Client Credentials
For server-to-server authentication. Setup guide →
CREATIO_CLIENT_ID=your_client_id
CREATIO_CLIENT_SECRET=your_client_secret3. OAuth2 Authorization Code
For user-delegated access with web authorization. Setup guide →
CREATIO_CODE_CLIENT_ID=your_client_id
CREATIO_CODE_CLIENT_SECRET=your_client_secret
CREATIO_CODE_REDIRECT_URI=http://localhost:3000/oauth/callback
CREATIO_CODE_SCOPE="offline_access ApplicationAccess_yourappguid"Note: Currently uses in-memory storage for OAuth tokens. Tokens will be lost on server restart.
Important: OAuth2 Authorization Code requires Server Mode (http).
Priority: Authorization Code > Client Credentials > Legacy
MCP Client Authentication (HTTP Mode)
The server includes OAuth 2.1 Authorization Server for MCP clients (Claude Desktop, etc.). No additional setup required - clients authenticate automatically through standard OAuth flow.
Examples
Node.js (Legacy Auth)
export CREATIO_BASE_URL="https://your-creatio.com"
export CREATIO_LOGIN="YourLogin"
export CREATIO_PASSWORD="YourPassword"
npm startDocker (Legacy Auth)
docker run --rm -p 3000:3000 \
-e CREATIO_BASE_URL="https://your-creatio.com" \
-e CREATIO_LOGIN="YourLogin" \
-e CREATIO_PASSWORD="YourPassword" \
crackish/mcp-creatioAvailable Tools
| Tool | Description |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| get-current-user-info | Fetch the Creatio contact details for the authenticated MCP user |
| list-entities | List all available entity sets |
| describe-entity | Get schema for an entity (fields, types, keys) |
| read | Query records with optional filters, select, expand, ordering |
| create | Create a new record |
| update | Update an existing record |
| delete | Delete a record |
| execute-process | Run a Creatio business process |
| query-sys-settings | Read current values and metadata for one or more system settings |
| set-sys-settings-value | Update one or more system setting values |
| create-sys-setting | Create a new system setting (with optional initial value) |
| update-sys-setting-definition | Modify system setting metadata (name, value type, cache flags, lookup reference) |
| refresh-feature-cache | Invalidate the in-memory feature-toggle cache. Call after editing Feature / AdminUnitFeatureState rows |
| upsert-admin-operation | Create or update a SysAdminOperation (system operation / permission). Required because OData modifications are blocked for this entity |
| delete-admin-operation | Delete one or more SysAdminOperation rows (related grantee rows are cleaned up automatically) |
| set-admin-operation-grantee | Grant or revoke a system operation for users/roles. Repeated calls update the existing row instead of duplicating |
| delete-admin-operation-grantee | Remove specific grant rows by Id. Prefer set-admin-operation-grantee to flip allow ↔ deny |
| call-configuration-service | Escape hatch: invoke any configuration-package REST service method by name. Use only when no dedicated tool covers the operation |
Note: Previously documented
search/fetchhelper tools (for a specific connector workflow) have been removed as they are no longer required.
