mcp-creatio
v0.3.8
Published
Model Context Protocol (MCP) server for Creatio (https://www.creatio.com/) - connect Claude Desktop, ChatGPT, and other AI tools to your Creatio data.
Readme
MCP Creatio Server
Model Context Protocol (MCP) server for Creatio (https://www.creatio.com/) - connect Claude Desktop, ChatGPT, and other AI tools to your Creatio data.
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,deleteCreatio records - Schema discovery:
list-entities,describe-entity - Business processes:
execute-processto run Creatio workflows - System settings:
create-sys-setting,update-sys-setting-definition,query-sys-settings, andset-sys-settings-valueto create, adjust metadata, inspect, or assign values - 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 \
--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",
"--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 | Fetches the Creatio contact details for the authenticated MCP user |
| list-entities | List all available entity sets |
| describe-entity | Get schema for entity (fields, types, keys) |
| read | Query records with optional filters |
| create | Create new record |
| update | Update existing record |
| delete | Delete record |
| execute-process | Run Creatio business processes |
| query-sys-settings | Retrieve the current values and metadata for one or more sys settings |
| set-sys-settings-value | Update one or more sys settings via PostSysSettingsValues |
| create-sys-setting | Create a new sys setting record and optional initial value assignment |
| update-sys-setting-definition | Modify sys setting metadata (name, value type, cache flags, lookup reference) via UpdateSysSettingRequest. Creatio requires Code, Name, and valueTypeName to be included on every update, even if the values are unchanged. |
Note: Previously documented
search/fetchhelper tools (for a specific connector workflow) have been removed as they are no longer required.
