mcp-creatio
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CREATIO_LOGIN | No | Username for legacy auth | |
| READONLY_MODE | No | Set 'true' to disable create/update/delete operations | |
| CREATIO_BASE_URL | Yes | Your Creatio instance URL | |
| CREATIO_PASSWORD | No | Password for legacy auth | |
| CREATIO_CLIENT_ID | No | OAuth2 client credentials ID | |
| CREATIO_CODE_SCOPE | No | OAuth2 scope (e.g. offline_access ApplicationAccess_yourappguid) | |
| CREATIO_ID_BASE_URL | No | Identity Service URL (if separate from main Creatio instance) | |
| CREATIO_CLIENT_SECRET | No | OAuth2 client credentials secret | |
| MCP_CREATIO_LOG_LEVEL | No | Log verbosity: silent (default), error, warn, info | |
| CREATIO_CODE_CLIENT_ID | No | OAuth2 authorization code client ID | |
| CREATIO_CODE_REDIRECT_URI | No | OAuth2 redirect URI (e.g. http://localhost:3000/oauth/callback) | |
| CREATIO_CODE_CLIENT_SECRET | No | OAuth2 authorization code client secret |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get-current-user-infoA | ⚠️⚠️⚠️ MANDATORY FIRST STEP ⚠️⚠️⚠️ 🚨 YOU MUST CALL THIS TOOL FIRST before creating ANY Activity, Lead, Opportunity, Case, or other CRM record! WHY CALL FIRST:
📋 REQUIRED WORKFLOW: Step 1: Call get-current-user-info (no parameters) ← DO THIS NOW! Step 2: Extract contactId from response Step 3: Store contactId in memory for this conversation Step 4: Use contactId as OwnerId and AuthorId in ALL create operations Returns: { "userId": "410006e1-ca4e-4502-a9ec-e54d922d2c00", "contactId": "76929f8c-7e15-4c64-bdb0-adc62d383727", // ← SAVE THIS! "userName": "Current User", "cultureName": "en-US" } USE CASES (when to call): ✅ User asks to create activity/meeting/task/call → CALL THIS FIRST! ✅ User asks to create lead/opportunity/case → CALL THIS FIRST! ✅ User asks who they are → CALL THIS! ✅ Beginning of ANY CRM workflow → CALL THIS FIRST! ❌ Simple queries (read/search) → Not required CRITICAL RULES:
Example usage: User: "Create a meeting for tomorrow" YOU: 1) Call get-current-user-info 2) Use contactId for OwnerId and AuthorId 3) Create activity with those IDs |
| list-entitiesA | Return all available Creatio OData entity sets. Start here, then use "describe-entity" to inspect fields and keys before performing CRUD. |
| describe-entityA | Inspect schema for the given entity set: entity type, primary key(s), and properties with types/nullable. Use this before CRUD to avoid invalid fields. When DataForge is enabled on the environment, this tool transparently returns the richer DataForge column details ( |
| readA | Query Creatio records. Workflow: 1) list-entities 2) describe-entity 3) read with select, filters, orderBy, top. Key params: select (fields to return), filters (conditions — recommended), orderBy (sorting), top (limit), skip (pagination offset), count (return total). Always include fields used in filters in select when select is provided. Filter related records via navigation (Contact/Name, Contact/Id) — a scalar lookup |
| query-sys-settingsA | Retrieve the current values and metadata for one or more Creatio system settings using the QuerySysSettings endpoint. Returns the raw response including success flag, values map, and notFoundSettings array (if any). |
| createA | Create a single Creatio record. Use 'describe-entity' first to confirm required fields & types. Provide entity and data map. Only include fields you need. ALL DATE/TIME FIELDS: For ANY date/time field (StartDate, DueDate, RemindToOwnerDate, CreatedOn overrides, custom date columns) ALWAYS use /datetime-guide for UTC conversion & formatting. ALL CONTACT / USER LOOKUP FIELDS: For ANY field pointing to a user/contact (OwnerId, AuthorId, CreatedById, ModifiedById, ResponsibleId, ManagerId, SupervisorId, and similar *Id fields referencing sys users) use /contactid-guide to resolve correct ContactId. Avoid guessing IDs. 🎯 DEFAULT OWNER/AUTHOR: Activities and tasks are ALWAYS created for the CURRENT USER by default! Set OwnerId and AuthorId to current user's ContactId (from get-current-user-info or SysAdminUnit.ContactId) unless user EXPLICITLY says "for [another person]". Don't ask "for whom?" - default to current user! Activities (Task/Meeting/Call/Email): HARD RULE → Always set TypeId to Task (fbe0acdc-cfc0-df11-b00f-001d60e938c6) and vary only ActivityCategoryId for meeting/call/email intent unless user explicitly says phrases like: "real meeting type", "true call type", "not a task", "use Visit type". Do NOT look up ActivityType for ordinary meeting/call/email requests. To intentionally allow a non-Task type, caller must add meta flag __allowNonTaskType=true. See /create-activity-guide prompt. Tagging: use /tagging-guide prompt. Examples: Account → data={ Name:'Acme Corp', Phone:'+1-234-567' }; Contact → data={ Name:'John Doe', Email:'john@example.com' } |
| updateA | Update a record by Id (PATCH). Supply entity, id, and partial data containing only changed fields. Examples: Account → data={ Name:'Updated Name' }; Contact → data={ Email:'new@example.com' }. DATE/TIME: For ANY date/time modifications (reschedule StartDate, set DueDate, reminders, custom date columns, CreatedOn override when allowed) consult /datetime-guide prompt (always send UTC). CONTACT/USER FIELDS: When changing OwnerId, AuthorId, ModifiedById (rare), ResponsibleId, ManagerId, etc use /contactid-guide prompt to resolve valid ContactId. Do NOT invent or reuse unrelated IDs. Activities: /create-activity-guide prompt (overall), /datetime-guide prompt (time changes), /contactid-guide prompt (participants/Owner). |
| deleteA | Delete a single record by Id. ⚠️ ALWAYS confirm with user before deleting!
💡 SAFER ALTERNATIVE - Soft Delete: Instead of permanent deletion, update status: IsActive=false, IsDeleted=true Example: Use 'update' tool with data={ IsActive: false } |
| execute-processA | Execute a Creatio CRM business process with optional parameters. This tool runs server-side business processes in Creatio platform. WORKFLOW FOR LLM:
Process Identification:
Parameters:
Common Parameter Patterns:
GUID & Date Helpers: /datetime-guide prompt applies to EVERY date/time parameter (convert to UTC). /contactid-guide prompt applies to EVERY user/contact participant parameter (OwnerId, AuthorId, AssigneeId, ResponsibleId, CreatedById overrides, etc). Example: { "processName": "Lead Management Process", "parameters": { "ContactId": "2ad0270b-dc4c-4fbf-9219-df32ce4c34fc", "Amount": 15000, "Description": "High priority lead", "SendNotification": true } } Uses Creatio ProcessEngineService.svc/Execute endpoint for execution. |
| set-sys-settings-valueB | Update one or more system settings in Creatio in a single request. Parameters:
USAGE:
Returns the result from the system settings update endpoint. |
| create-sys-settingA | Creates a brand-new system setting (metadata record) using InsertSysSettingRequest and optionally assigns an initial value via PostSysSettingsValues. For full guidance on supported valueTypeName strings and lookup reference resolution, see the /sys-settings-guide prompt. |
| update-sys-setting-definitionA | Calls the UpdateSysSettingRequest endpoint to modify metadata such as name, description, valueTypeName, cache flags, personalization flags, and lookup reference schema. IMPORTANT: Creatio validates that Code, Name, and valueTypeName are present on every update, even if they are unchanged—copy the current values when needed. See the /sys-settings-guide prompt for allowed value types and lookup resolution tips. |
| refresh-feature-cacheA | Invalidates the in-memory feature-toggle cache for all users. Call this after changing rows in |
| upsert-admin-operationA | Create a new |
| delete-admin-operationA | Delete one or more |
| set-admin-operation-granteeA | Grant ( |
| delete-admin-operation-granteeA | Delete individual grant rows by Id when you want to remove a grant entry entirely. To flip allow ↔ deny instead, prefer |
| call-configuration-serviceA | Escape hatch for invoking any configuration-package REST service exposed at /0/rest//. Use this when no dedicated MCP tool covers the operation. Always prefer the specific tools ( |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| create-activity-guide | Complete step-by-step guide for creating Activities (tasks/meetings/calls) in Creatio |
| datetime-guide | How to ask users for timezone and convert to UTC for Creatio |
| contactid-guide | CRITICAL: Always use SysAdminUnit.ContactId (not .Id!) for all CRM fields across all entities |
| tagging-guide | Guide for adding tags to records using Tag/TagInRecord or legacy <Entity>Tag / <Entity>InTag tables |
| sys-settings-guide | Value type options and lookup reference instructions for create-sys-setting / set-sys-settings-value workflows |
| feature-toggle-guide | How to read, create, update and delete feature toggles via the AppFeature / AppFeatureState OData entities, and when to call refresh-feature-cache |
| admin-operation-guide | How to manage SysAdminOperation and SysAdminOperationGrantee via the dedicated RightsService tools (upsert/delete operation, set/delete grantee), with reads still routed through the standard OData read tool |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- 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/CRACKISH/mcp-creatio'
If you have feedback or need assistance with the MCP directory API, please join our Discord server