Skip to main content
Glama
mcp-creatio

mcp-creatio

by CRACKISH

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CREATIO_LOGINNoUsername for legacy auth
READONLY_MODENoSet 'true' to disable create/update/delete operations
CREATIO_BASE_URLYesYour Creatio instance URL
CREATIO_PASSWORDNoPassword for legacy auth
CREATIO_CLIENT_IDNoOAuth2 client credentials ID
CREATIO_CODE_SCOPENoOAuth2 scope (e.g. offline_access ApplicationAccess_yourappguid)
CREATIO_ID_BASE_URLNoIdentity Service URL (if separate from main Creatio instance)
CREATIO_CLIENT_SECRETNoOAuth2 client credentials secret
MCP_CREATIO_LOG_LEVELNoLog verbosity: silent (default), error, warn, info
CREATIO_CODE_CLIENT_IDNoOAuth2 authorization code client ID
CREATIO_CODE_REDIRECT_URINoOAuth2 redirect URI (e.g. http://localhost:3000/oauth/callback)
CREATIO_CODE_CLIENT_SECRETNoOAuth2 authorization code client secret

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get-current-user-infoA

Returns the Creatio user this server acts as: { success, userInfo: { id, contactId, contactName, email, cultureInfo, timeZone, utcOffset, now, today, userRoles, ... } }. Call it once before creating records owned by the user — owner/author lookups (OwnerId, AuthorId) take userInfo.contactId, not userInfo.id — or when a tool needs the user as a user/role (adminUnitId = userInfo.id). Also call it once when dates matter: now / today are the user's current date and time, the base for tomorrow, this month or overdue. Reuse the result for the rest of the conversation. timeZone (IANA, e.g. "Europe/Kyiv") and utcOffset (today's, e.g. "+02:00") are the user's Creatio time zone — the one record dates are read and written in (get-guide: datetime-guide). See get-guide: contactid-guide.

list-entitiesA

Entity (object schema) names available to this server — 1000+ in all, so pass search (e.g. "invoice" → Invoice, InvoiceProduct, …). To find an entity by meaning prefer dataforge-similar-tables or global-search when they are in your tool list. Response: { results: [names] }. Then describe-entity.

describe-entityA

Columns of one entity ({ entity: "Contact" }) — names, types, required/nullable and its key — to plan a read or a write without guessing column names. Response: { source, entitySet, ... } where source is "dataforge" (richer column details, when DataForge is enabled), "dataservice" or "odata" (the active backend's schema). An unknown entity fails as "unknown_entity:X. Did you mean: …?".

readA

Query records of one entity: filter, pick columns, sort, page, count. Find the entity first if unsure (dataforge-similar-tables, global-search, list-entities) and check its columns with describe-entity. select also takes related columns by path (Account.Name); a lookup column (Account) returns { value, displayValue }. filters take a column, a lookup id (OwnerId = a GUID) or a related column (Account.Name). top defaults to 50; page with skip + a stable orderBy; count: true adds the total of all matches ({ total, value }) to any page — top: 1 with orderBy gives the total and the first row in one call, top: 0 the total alone. Response: an array of rows; a missing value is null (text may be ""); a date/time is in the user's Creatio time zone with its offset ("2026-11-10T15:00:00+02:00"), a Date column "YYYY-MM-DD". An unknown entity or column fails as "unknown_column:Emial (Contact). Did you mean: Email?" — retry with the suggestion. Example: { entity: "Opportunity", select: ["Title", "Amount", "Stage"], filters: { all: [{ field: "OwnerId", op: "eq", value: "" }] }, orderBy: "Amount desc", top: 10 }. Date filter values follow the same zone ("2026-11-01" = the user's midnight). More patterns: get-guide: query-guide; dates: get-guide: datetime-guide.

query-sys-settingsA

Current values and metadata of system settings by code. Response: the platform's answer — a success flag, a values map by code (each with its value) and notFoundSettings for unknown codes. See get-guide: sys-settings-guide.

get-guideA

Step-by-step guidance for multi-step Creatio work — read the matching guide before such a task, once per conversation. Topics: query-guide (How to find the right entity and columns, read with filters / related columns / sorting / paging / counting, and present results with record links and attachments); create-activity-guide (Tasks, meetings and calls: owner, type and category ids, times, participants, and confirming to the user); datetime-guide (How record dates follow the user’s Creatio time zone, with write, filter and read examples); contactid-guide (Which id a person field takes (a Contact id for owners/authors, a SysAdminUnit id for users and roles in permissions) and how to get the current user and other people); tagging-guide (Adding, listing and removing tags in the object’s own tag list or Creatio’s shared tags, and choosing between them); sys-settings-guide (Finding, creating and changing system settings: value types, lookup settings, definitions); feature-toggle-guide (Listing, inspecting and changing feature toggles (default state and per-user/role overrides) on the DataService and OData backends); admin-operation-guide (Creating system operations (SysAdminOperation) and granting or denying them to users and roles). Returns the guide as Markdown.

get-record-urlA

{ url } that opens the record in Creatio; Creatio picks the right page (classic or Freedom UI). Give it to the user whenever you refer to a specific record. A signed-out visitor goes through login first; an object without a record page opens the home page. Built locally — no request to Creatio.

list-record-filesA

Files and links attached to one record, from both places Creatio keeps them (the object's File table and SysFile), newest first. Response: { files: [{ id, name, kind: "file" | "link" | "object-link", size, createdOn, storage, downloadUrl? (files), url? (links) }], hasMore }. Metadata only — the content is never read. downloadUrl works in the user's signed-in Creatio browser session: give it to the user, you cannot fetch it.

list-featuresA

Feature toggles from every source — DB rows and also web.config, package metadata and GlobalAppSettings features — ordered by code. Each: { code, name, description?, source, enabledByDefault, enabledForCurrentUser }. Response: { items, hasMore } — page with skip while hasMore is true. Per-user/role overrides of one feature: get-feature. See get-guide: feature-toggle-guide.

get-featureA

One feature (fields as in list-features) plus overrides: [{ adminUnitId, adminUnitName, enabled }] — the users/roles whose state differs from the default. Unknown code: feature_not_found:.

createA

Create one record: { entity, data } → the new record's id. Check required columns and types with describe-entity first; send only the columns you set. Owner/author lookups (OwnerId, AuthorId, …) of records the user creates for themselves get their contact id — userInfo.contactId from get-current-user-info — unless the user names someone else (get-guide: contactid-guide). Activities (tasks, meetings, calls): follow get-guide: create-activity-guide. Tags: get-guide: tagging-guide. An unknown column fails as "unknown_column:X (Entity). Did you mean: …?". Example: { entity: "Account", data: { Name: "Acme Corp", Phone: "+1 234 567", OwnerId: "" } }.

updateA

Change columns of one record by id; columns you leave out keep their values. Resolve lookup ids instead of guessing them (e.g. a new StatusId from ActivityStatus via read); owner/user lookups take a contact id (get-guide: contactid-guide). Example: { entity: "Activity", id: "", data: { StartDate: "2026-03-02T12:00:00", DueDate: "2026-03-02T12:30:00" } } (the user's Creatio time zone).

deleteA

Permanently delete one record by id. Confirm with the user first: say which record (entity, name, id) will be deleted and wait for an explicit yes. Related records may block the delete (Creatio then reports a reference error) or be removed with it, depending on the object.

execute-processA

Start a Creatio business process by its schema name, with optional parameters, and return its result. A process can change any data it is designed to — make sure the user wants it run. User/contact parameters take a contact id (get-guide: contactid-guide).

set-sys-settings-valueA

Set the values of one or more existing system settings in one request; returns the platform's answer. System settings can change how the whole instance behaves — confirm the change with the user.

create-sys-settingB

Create a new system setting (its definition) and optionally set its first value. Value types and lookup settings: get-guide: sys-settings-guide.

update-sys-setting-definitionA

Change a setting's metadata (name, description, value type, cache / personal flags, lookup schema) — not its value (use set-sys-settings-value). See get-guide: sys-settings-guide.

refresh-feature-cacheA

Make Creatio re-read feature-toggle states for all users. set-feature-state already does this; use it after changing Feature / AdminUnitFeatureState rows with create / update / delete. See get-guide: feature-toggle-guide.

set-feature-stateA

Change a feature's default state, or override it for one user/role, for features from any source. The first change to a web.config / metadata feature gives it a DB row, which then takes precedence over that source (the Creatio feature page behaves the same). Returns the feature as in get-feature plus cacheCleared. "feature_state_not_applied:" means Creatio did not save it. cacheCleared: false means it IS saved but the instance could not refresh its cache (seen on .NET 8), so it may take effect later — tell the user. See get-guide: feature-toggle-guide.

upsert-admin-operationA

Create a system operation (SysAdminOperation) — omit id — or update one by id. The platform blocks the generic create/update tools for this table; reading it works with read. Returns the operation id. See get-guide: admin-operation-guide.

delete-admin-operationA

Delete system operations by id, together with their grants. The generic delete tool is blocked for this table. Confirm with the user first. See get-guide: admin-operation-guide.

set-admin-operation-granteeA

Allow or deny a system operation for users/roles. Repeating it for the same operation and user/role updates the existing grant instead of adding another. See get-guide: admin-operation-guide.

delete-admin-operation-granteeA

Delete grant rows by id, so the operation is neither allowed nor denied explicitly for those users/roles. To switch allow ↔ deny use set-admin-operation-grantee.

call-configuration-serviceA

Escape hatch: call any configuration-package REST method (/0/rest//) when no dedicated tool covers the task — those validate input and explain their effects, so prefer them. The method may change data. Response: { status, contentType, body } (JSON parsed).

Prompts

Interactive templates invoked by user choice

NameDescription
query-guideHow to find the right entity and columns, read with filters / related columns / sorting / paging / counting, and present results with record links and attachments
create-activity-guideTasks, meetings and calls: owner, type and category ids, times, participants, and confirming to the user
datetime-guideHow record dates follow the user’s Creatio time zone, with write, filter and read examples
contactid-guideWhich id a person field takes (a Contact id for owners/authors, a SysAdminUnit id for users and roles in permissions) and how to get the current user and other people
tagging-guideAdding, listing and removing tags in the object’s own tag list or Creatio’s shared tags, and choosing between them
sys-settings-guideFinding, creating and changing system settings: value types, lookup settings, definitions
feature-toggle-guideListing, inspecting and changing feature toggles (default state and per-user/role overrides) on the DataService and OData backends
admin-operation-guideCreating system operations (SysAdminOperation) and granting or denying them to users and roles

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 24 tools

Disambiguation4/5

Tool purposes are mostly cleanly separated by resource: generic record CRUD, feature toggles, system settings, admin operations, and processes each form a distinct group. A few near-overlaps remain — delete vs. delete-admin-operation (generic blocked, explained), and refresh-feature-cache vs. set-feature-state (which already clears the cache) — but descriptions disambiguate them well enough.

Naming Consistency4/5

Everything is uniformly kebab-case with a verb-first pattern (list-entities, describe-entity, set-feature-state, delete-admin-operation-grantee), which is easy to scan. Minor deviation: the generic record tools use bare verbs (read, create, update, delete) while every other tool carries a resource noun, slightly breaking the parallel structure.

Tool Count4/5

24 tools is on the heavy side, but the server covers several genuinely distinct sub-domains (records, processes, files, system settings, feature toggles, admin operations), and each group needs its few operations. No obvious filler except refresh-feature-cache, which is largely a fallback for direct data edits.

Completeness4/5

Record CRUD, schema discovery, filtering/paging/counting, process execution, feature toggles, system settings, and admin-operation grants are all covered end to end with guides for multi-step work. Gaps are minor: no system-setting deletion, file attachments are list-only (no upload/attach), and feature overrides are removed only via raw record CRUD rather than a dedicated tool.

Maintenance

ActivityMaintained
ResponsivenessLimited data