mcp-creatio 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/README.md +252 -212
  2. package/dist/cli.d.ts +5 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +18 -11
  5. package/dist/cli.js.map +1 -1
  6. package/dist/creatio/auth/auth.d.ts +2 -0
  7. package/dist/creatio/auth/auth.d.ts.map +1 -1
  8. package/dist/creatio/auth/auth.js.map +1 -1
  9. package/dist/creatio/auth/providers/base-provider.d.ts +1 -0
  10. package/dist/creatio/auth/providers/base-provider.d.ts.map +1 -1
  11. package/dist/creatio/auth/providers/base-provider.js +3 -0
  12. package/dist/creatio/auth/providers/base-provider.js.map +1 -1
  13. package/dist/creatio/auth/providers/oauth2-code-provider.d.ts +3 -0
  14. package/dist/creatio/auth/providers/oauth2-code-provider.d.ts.map +1 -1
  15. package/dist/creatio/auth/providers/oauth2-code-provider.js +30 -24
  16. package/dist/creatio/auth/providers/oauth2-code-provider.js.map +1 -1
  17. package/dist/creatio/providers/configuration-provider.d.ts +3 -2
  18. package/dist/creatio/providers/configuration-provider.d.ts.map +1 -1
  19. package/dist/creatio/providers/crud-provider.d.ts +2 -0
  20. package/dist/creatio/providers/crud-provider.d.ts.map +1 -1
  21. package/dist/creatio/services/configuration-service-provider.d.ts.map +1 -1
  22. package/dist/creatio/services/configuration-service-provider.js +11 -3
  23. package/dist/creatio/services/configuration-service-provider.js.map +1 -1
  24. package/dist/creatio/services/http-client.d.ts.map +1 -1
  25. package/dist/creatio/services/http-client.js +0 -1
  26. package/dist/creatio/services/http-client.js.map +1 -1
  27. package/dist/creatio/services/metadata-store.d.ts +5 -0
  28. package/dist/creatio/services/metadata-store.d.ts.map +1 -1
  29. package/dist/creatio/services/metadata-store.js +18 -6
  30. package/dist/creatio/services/metadata-store.js.map +1 -1
  31. package/dist/creatio/services/odata-crud-provider.d.ts +3 -1
  32. package/dist/creatio/services/odata-crud-provider.d.ts.map +1 -1
  33. package/dist/creatio/services/odata-crud-provider.js +31 -8
  34. package/dist/creatio/services/odata-crud-provider.js.map +1 -1
  35. package/dist/server/http/creatio-oauth-handlers.d.ts +0 -1
  36. package/dist/server/http/creatio-oauth-handlers.d.ts.map +1 -1
  37. package/dist/server/http/creatio-oauth-handlers.js +30 -23
  38. package/dist/server/http/creatio-oauth-handlers.js.map +1 -1
  39. package/dist/server/http/httpServer.d.ts +9 -0
  40. package/dist/server/http/httpServer.d.ts.map +1 -1
  41. package/dist/server/http/httpServer.js +34 -11
  42. package/dist/server/http/httpServer.js.map +1 -1
  43. package/dist/server/http/mcp-handlers.d.ts.map +1 -1
  44. package/dist/server/http/mcp-handlers.js +4 -1
  45. package/dist/server/http/mcp-handlers.js.map +1 -1
  46. package/dist/server/http/mcp-oauth-handlers.d.ts.map +1 -1
  47. package/dist/server/http/mcp-oauth-handlers.js +18 -6
  48. package/dist/server/http/mcp-oauth-handlers.js.map +1 -1
  49. package/dist/server/http/middleware.d.ts +7 -0
  50. package/dist/server/http/middleware.d.ts.map +1 -1
  51. package/dist/server/http/middleware.js +23 -0
  52. package/dist/server/http/middleware.js.map +1 -1
  53. package/dist/server/http/rate-limiter.d.ts +24 -0
  54. package/dist/server/http/rate-limiter.d.ts.map +1 -0
  55. package/dist/server/http/rate-limiter.js +42 -0
  56. package/dist/server/http/rate-limiter.js.map +1 -0
  57. package/dist/server/mcp/creatio-rest.d.ts +44 -0
  58. package/dist/server/mcp/creatio-rest.d.ts.map +1 -0
  59. package/dist/server/mcp/creatio-rest.js +26 -0
  60. package/dist/server/mcp/creatio-rest.js.map +1 -0
  61. package/dist/server/mcp/crtmcp/crt-mcp-client.d.ts +55 -0
  62. package/dist/server/mcp/crtmcp/crt-mcp-client.d.ts.map +1 -0
  63. package/dist/server/mcp/crtmcp/crt-mcp-client.js +67 -0
  64. package/dist/server/mcp/crtmcp/crt-mcp-client.js.map +1 -0
  65. package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.d.ts +20 -0
  66. package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.d.ts.map +1 -0
  67. package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.js +74 -0
  68. package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.js.map +1 -0
  69. package/dist/server/mcp/dataforge/dataforge-client.d.ts +64 -0
  70. package/dist/server/mcp/dataforge/dataforge-client.d.ts.map +1 -0
  71. package/dist/server/mcp/dataforge/dataforge-client.js +130 -0
  72. package/dist/server/mcp/dataforge/dataforge-client.js.map +1 -0
  73. package/dist/server/mcp/dataforge/dataforge-tool-preparer.d.ts +17 -0
  74. package/dist/server/mcp/dataforge/dataforge-tool-preparer.d.ts.map +1 -0
  75. package/dist/server/mcp/dataforge/dataforge-tool-preparer.js +42 -0
  76. package/dist/server/mcp/dataforge/dataforge-tool-preparer.js.map +1 -0
  77. package/dist/server/mcp/filters.d.ts.map +1 -1
  78. package/dist/server/mcp/filters.js +20 -4
  79. package/dist/server/mcp/filters.js.map +1 -1
  80. package/dist/server/mcp/globalsearch/globalsearch-client.d.ts +50 -0
  81. package/dist/server/mcp/globalsearch/globalsearch-client.d.ts.map +1 -0
  82. package/dist/server/mcp/globalsearch/globalsearch-client.js +118 -0
  83. package/dist/server/mcp/globalsearch/globalsearch-client.js.map +1 -0
  84. package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.d.ts +16 -0
  85. package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.d.ts.map +1 -0
  86. package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.js +34 -0
  87. package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.js.map +1 -0
  88. package/dist/server/mcp/json-schema-to-zod.d.ts +3 -0
  89. package/dist/server/mcp/json-schema-to-zod.d.ts.map +1 -0
  90. package/dist/server/mcp/json-schema-to-zod.js +54 -0
  91. package/dist/server/mcp/json-schema-to-zod.js.map +1 -0
  92. package/dist/server/mcp/server.d.ts +18 -0
  93. package/dist/server/mcp/server.d.ts.map +1 -1
  94. package/dist/server/mcp/server.js +93 -25
  95. package/dist/server/mcp/server.js.map +1 -1
  96. package/dist/server/mcp/tool-preparer.d.ts +26 -0
  97. package/dist/server/mcp/tool-preparer.d.ts.map +1 -0
  98. package/dist/server/mcp/tool-preparer.js +11 -0
  99. package/dist/server/mcp/tool-preparer.js.map +1 -0
  100. package/dist/server/mcp/tools-data.d.ts +69 -10
  101. package/dist/server/mcp/tools-data.d.ts.map +1 -1
  102. package/dist/server/mcp/tools-data.js +222 -32
  103. package/dist/server/mcp/tools-data.js.map +1 -1
  104. package/dist/server/oauth/oauth-server.d.ts +0 -1
  105. package/dist/server/oauth/oauth-server.d.ts.map +1 -1
  106. package/dist/server/oauth/oauth-server.js +11 -21
  107. package/dist/server/oauth/oauth-server.js.map +1 -1
  108. package/dist/server/oauth/storage.d.ts +0 -2
  109. package/dist/server/oauth/storage.d.ts.map +1 -1
  110. package/dist/server/oauth/storage.js +0 -6
  111. package/dist/server/oauth/storage.js.map +1 -1
  112. package/dist/server/oauth/validators.d.ts +6 -0
  113. package/dist/server/oauth/validators.d.ts.map +1 -1
  114. package/dist/server/oauth/validators.js +28 -0
  115. package/dist/server/oauth/validators.js.map +1 -1
  116. package/dist/services/session-context.d.ts +8 -7
  117. package/dist/services/session-context.d.ts.map +1 -1
  118. package/dist/services/session-context.js +7 -27
  119. package/dist/services/session-context.js.map +1 -1
  120. package/package.json +18 -9
  121. package/.dockerignore +0 -12
  122. package/.editorconfig +0 -14
  123. package/.eslintrc.cjs +0 -18
  124. package/.gitattributes +0 -8
  125. package/.github/workflows/docker-publish.yml +0 -50
  126. package/.prettierignore +0 -3
  127. package/.prettierrc +0 -9
  128. package/.vscode/launch.json +0 -23
  129. package/.vscode/mcp.json +0 -13
  130. package/.vscode/settings.json +0 -16
  131. package/Agent.md +0 -190
  132. package/Debug.md +0 -32
  133. package/Dockerfile +0 -23
  134. package/docs/coding-style.md +0 -30
  135. package/eslint.config.cjs +0 -95
  136. package/src/cli.ts +0 -162
  137. package/src/config-builder.ts +0 -76
  138. package/src/consts.ts +0 -3
  139. package/src/creatio/auth/auth-manager.ts +0 -27
  140. package/src/creatio/auth/auth.ts +0 -31
  141. package/src/creatio/auth/index.ts +0 -3
  142. package/src/creatio/auth/providers/base-oauth2-provider.ts +0 -62
  143. package/src/creatio/auth/providers/base-provider.ts +0 -42
  144. package/src/creatio/auth/providers/index.ts +0 -4
  145. package/src/creatio/auth/providers/legacy-provider.ts +0 -70
  146. package/src/creatio/auth/providers/oauth2-code-provider.ts +0 -252
  147. package/src/creatio/auth/providers/oauth2-provider.ts +0 -91
  148. package/src/creatio/auth/providers/type.ts +0 -5
  149. package/src/creatio/client-config.ts +0 -34
  150. package/src/creatio/engines/admin-operation/admin-operation-engine.ts +0 -44
  151. package/src/creatio/engines/configuration/configuration-engine.ts +0 -26
  152. package/src/creatio/engines/crud/crud-engine.ts +0 -47
  153. package/src/creatio/engines/engine-manager.ts +0 -157
  154. package/src/creatio/engines/engine-registry.ts +0 -39
  155. package/src/creatio/engines/engine.ts +0 -3
  156. package/src/creatio/engines/feature/feature-engine.ts +0 -20
  157. package/src/creatio/engines/index.ts +0 -10
  158. package/src/creatio/engines/process/process-engine.ts +0 -20
  159. package/src/creatio/engines/sys-settings/sys-settings-engine.ts +0 -41
  160. package/src/creatio/engines/user/user-engine.ts +0 -20
  161. package/src/creatio/index.ts +0 -6
  162. package/src/creatio/provider-context.ts +0 -21
  163. package/src/creatio/providers/admin-operation-provider.ts +0 -34
  164. package/src/creatio/providers/configuration-provider.ts +0 -22
  165. package/src/creatio/providers/crud-provider.ts +0 -45
  166. package/src/creatio/providers/feature-provider.ts +0 -10
  167. package/src/creatio/providers/index.ts +0 -7
  168. package/src/creatio/providers/process-provider.ts +0 -15
  169. package/src/creatio/providers/sys-settings-provider.ts +0 -63
  170. package/src/creatio/providers/user-provider.ts +0 -12
  171. package/src/creatio/services/admin-operation-service-provider.ts +0 -115
  172. package/src/creatio/services/configuration-service-provider.ts +0 -127
  173. package/src/creatio/services/creatio-service-context.ts +0 -55
  174. package/src/creatio/services/feature-service-provider.ts +0 -60
  175. package/src/creatio/services/http-client.ts +0 -174
  176. package/src/creatio/services/index.ts +0 -10
  177. package/src/creatio/services/metadata-store.ts +0 -181
  178. package/src/creatio/services/odata-crud-provider.ts +0 -210
  179. package/src/creatio/services/process-service-provider.ts +0 -76
  180. package/src/creatio/services/sys-settings-service-provider.ts +0 -192
  181. package/src/creatio/services/user-info-provider.ts +0 -41
  182. package/src/index.ts +0 -44
  183. package/src/log.ts +0 -183
  184. package/src/server/http/creatio-oauth-handlers.ts +0 -146
  185. package/src/server/http/httpServer.ts +0 -150
  186. package/src/server/http/index.ts +0 -5
  187. package/src/server/http/mcp-handlers.ts +0 -92
  188. package/src/server/http/mcp-oauth-handlers.ts +0 -108
  189. package/src/server/http/middleware.ts +0 -91
  190. package/src/server/index.ts +0 -2
  191. package/src/server/mcp/filters.ts +0 -97
  192. package/src/server/mcp/index.ts +0 -1
  193. package/src/server/mcp/prompts-data.ts +0 -1292
  194. package/src/server/mcp/server.ts +0 -442
  195. package/src/server/mcp/tools-data.ts +0 -748
  196. package/src/server/oauth/client-manager.ts +0 -47
  197. package/src/server/oauth/index.ts +0 -6
  198. package/src/server/oauth/oauth-server.ts +0 -185
  199. package/src/server/oauth/storage.ts +0 -106
  200. package/src/server/oauth/token-manager.ts +0 -80
  201. package/src/server/oauth/types.ts +0 -55
  202. package/src/server/oauth/validators.ts +0 -56
  203. package/src/services/index.ts +0 -2
  204. package/src/services/session-context.ts +0 -232
  205. package/src/services/token-refresh-scheduler.ts +0 -68
  206. package/src/types/index.ts +0 -1
  207. package/src/types/network.ts +0 -7
  208. package/src/utils/context.ts +0 -49
  209. package/src/utils/env.ts +0 -12
  210. package/src/utils/index.ts +0 -5
  211. package/src/utils/mcp.ts +0 -8
  212. package/src/utils/network.ts +0 -65
  213. package/src/utils/pkce.ts +0 -39
  214. package/src/version.ts +0 -15
  215. package/tsconfig.json +0 -28
package/README.md CHANGED
@@ -1,212 +1,252 @@
1
- # MCP Creatio Server
2
-
3
- [![npm version](https://img.shields.io/npm/v/mcp-creatio)](https://www.npmjs.com/package/mcp-creatio)
4
- [![Docker pulls](https://img.shields.io/docker/pulls/crackish/mcp-creatio)](https://hub.docker.com/r/crackish/mcp-creatio)
5
- [![License](https://img.shields.io/github/license/CRACKISH/mcp-creatio)](LICENSE)
6
-
7
- 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.
8
-
9
- Also discoverable as:
10
- - Creatio MCP server
11
- - MCP server for Creatio CRM
12
- - Model Context Protocol for Creatio
13
-
14
- ## Overview
15
-
16
- - Exposes Creatio data as MCP tools for MCP-compatible clients (Claude Desktop, ChatGPT Connectors, GitHub Copilot)
17
- - Supports reading, creating, updating, deleting records and inspecting schema
18
- - Execute Creatio business processes with parameters
19
- - Uses Creatio OData v4 API under the hood
20
-
21
- ## Features
22
-
23
- - **CRUD operations**: read, create, update, delete Creatio records
24
- - **Schema discovery**: list entity sets and inspect entity schemas
25
- - **Business processes**: run Creatio workflows with parameters
26
- - **System settings**: read, write, and manage system setting metadata
27
- - **Feature toggles**: manage `Feature` / `AdminUnitFeatureState` and refresh the feature cache. ⚠️ Only DB-backed features are reachable — features defined exclusively in `web.config` or other non-DB providers are invisible to MCP.
28
- - **System operations**: manage `SysAdminOperation` and per-user/role grants (Creatio blocks these tables for OData modifications, so dedicated tools are provided)
29
- - **Custom services**: invoke any configuration-package REST service (`/0/rest/<service>/<method>`) when no dedicated tool fits
30
- - **AI assistant compatibility**: Claude Desktop, ChatGPT Connectors, GitHub Copilot
31
- - **Three authentication modes**: Legacy login/password, OAuth2 client credentials, OAuth2 authorization code
32
- - **Built-in OAuth server**: Automatic MCP client authentication
33
- - **Docker ready**: Multi-arch images available
34
-
35
- ## Run Modes
36
-
37
- This project supports two runtime modes:
38
-
39
- ### 1. CLI Mode (`stdio`)
40
-
41
- Use this mode for MCP clients that launch a command directly (VS Code MCP, Claude Desktop, etc.).
42
-
43
- - No HTTP endpoint needed
44
- - Easiest local setup
45
- - Supports Legacy auth and OAuth2 Client Credentials
46
- - OAuth2 Authorization Code is **not** supported in `stdio` mode
47
-
48
- Run directly from npm:
49
-
50
- ```bash
51
- npx -y mcp-creatio@latest \
52
- --base-url https://your-creatio.com \
53
- --login your_login \
54
- --password your_password
55
- ```
56
-
57
- `stdio` logs are disabled by default. To enable them, set `MCP_CREATIO_LOG_LEVEL` or pass `--log-level info`.
58
-
59
- VS Code MCP config (command-based):
60
-
61
- ```json
62
- {
63
- "creatio": {
64
- "command": "npx",
65
- "args": [
66
- "-y",
67
- "mcp-creatio@latest",
68
- "--base-url",
69
- "https://your-creatio.com",
70
- "--login",
71
- "your_login",
72
- "--password",
73
- "your_password"
74
- ]
75
- }
76
- }
77
- ```
78
-
79
- Local repo command (without publishing):
80
-
81
- ```bash
82
- npm run start:stdio -- --base-url https://your-creatio.com --login your_login --password your_password
83
- ```
84
-
85
- ### 2. Server Mode (`http`)
86
-
87
- Use this mode when your client connects by URL (for example `http://localhost:3000/mcp`).
88
-
89
- - Exposes HTTP endpoint: `/mcp`
90
- - Required for OAuth2 Authorization Code flow
91
- - Works well with Docker and remote deployments
92
-
93
- Start server:
94
-
95
- ```bash
96
- npm start
97
- ```
98
-
99
- Then connect using URL:
100
-
101
- ```json
102
- {
103
- "creatio": {
104
- "type": "http",
105
- "url": "http://localhost:3000/mcp"
106
- }
107
- }
108
- ```
109
-
110
- ## Configuration
111
-
112
- | Variable | Description |
113
- | ---------------------------- | -------------------------------------------------------------------- |
114
- | `CREATIO_BASE_URL` | **Required**. Creatio instance URL (e.g. `https://your-creatio.com`) |
115
- | `CREATIO_LOGIN` | Username for legacy auth |
116
- | `CREATIO_PASSWORD` | Password for legacy auth |
117
- | `CREATIO_CLIENT_ID` | OAuth2 client credentials ID |
118
- | `CREATIO_CLIENT_SECRET` | OAuth2 client credentials secret |
119
- | `CREATIO_ID_BASE_URL` | Identity Service URL (if separate from main Creatio instance) |
120
- | `CREATIO_CODE_CLIENT_ID` | OAuth2 authorization code client ID |
121
- | `CREATIO_CODE_CLIENT_SECRET` | OAuth2 authorization code client secret |
122
- | `CREATIO_CODE_REDIRECT_URI` | OAuth2 redirect URI (e.g. `http://localhost:3000/oauth/callback`) |
123
- | `CREATIO_CODE_SCOPE` | OAuth2 scope (e.g. `offline_access ApplicationAccess_yourappguid`) |
124
- | `READONLY_MODE` | Set `true` to disable create/update/delete operations |
125
- | `MCP_CREATIO_LOG_LEVEL` | Log verbosity: `silent` (default), `error`, `warn`, `info` |
126
-
127
- ## Authentication Modes
128
-
129
- Choose one of three ways to authenticate with Creatio:
130
-
131
- ### 1. Legacy (Username/Password)
132
-
133
- ```bash
134
- CREATIO_LOGIN=YourLogin
135
- CREATIO_PASSWORD=YourPassword
136
- ```
137
-
138
- ### 2. OAuth2 Client Credentials
139
-
140
- For server-to-server authentication. [Setup guide →](https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/integrations-and-api/authentication/oauth-2-0-authorization/identity-service-overview)
141
-
142
- ```bash
143
- CREATIO_CLIENT_ID=your_client_id
144
- CREATIO_CLIENT_SECRET=your_client_secret
145
- ```
146
-
147
- ### 3. OAuth2 Authorization Code
148
-
149
- For user-delegated access with web authorization. [Setup guide →](https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/integrations-and-api/authentication/oauth-2-0-authorization/authorization-code-grant)
150
-
151
- ```bash
152
- CREATIO_CODE_CLIENT_ID=your_client_id
153
- CREATIO_CODE_CLIENT_SECRET=your_client_secret
154
- CREATIO_CODE_REDIRECT_URI=http://localhost:3000/oauth/callback
155
- CREATIO_CODE_SCOPE="offline_access ApplicationAccess_yourappguid"
156
- ```
157
-
158
- **Note**: Currently uses in-memory storage for OAuth tokens. Tokens will be lost on server restart.
159
-
160
- **Important**: OAuth2 Authorization Code requires **Server Mode (`http`)**.
161
-
162
- **Priority**: Authorization Code > Client Credentials > Legacy
163
-
164
- ## MCP Client Authentication (HTTP Mode)
165
-
166
- 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.
167
-
168
- ## Examples
169
-
170
- ### Node.js (Legacy Auth)
171
-
172
- ```bash
173
- export CREATIO_BASE_URL="https://your-creatio.com"
174
- export CREATIO_LOGIN="YourLogin"
175
- export CREATIO_PASSWORD="YourPassword"
176
- npm start
177
- ```
178
-
179
- ### Docker (Legacy Auth)
180
-
181
- ```bash
182
- docker run --rm -p 3000:3000 \
183
- -e CREATIO_BASE_URL="https://your-creatio.com" \
184
- -e CREATIO_LOGIN="YourLogin" \
185
- -e CREATIO_PASSWORD="YourPassword" \
186
- crackish/mcp-creatio
187
- ```
188
-
189
- ## Available Tools
190
-
191
- | Tool | Description |
192
- | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
193
- | `get-current-user-info` | Fetch the Creatio contact details for the authenticated MCP user |
194
- | `list-entities` | List all available entity sets |
195
- | `describe-entity` | Get schema for an entity (fields, types, keys) |
196
- | `read` | Query records with optional filters, select, expand, ordering |
197
- | `create` | Create a new record |
198
- | `update` | Update an existing record |
199
- | `delete` | Delete a record |
200
- | `execute-process` | Run a Creatio business process |
201
- | `query-sys-settings` | Read current values and metadata for one or more system settings |
202
- | `set-sys-settings-value` | Update one or more system setting values |
203
- | `create-sys-setting` | Create a new system setting (with optional initial value) |
204
- | `update-sys-setting-definition` | Modify system setting metadata (name, value type, cache flags, lookup reference) |
205
- | `refresh-feature-cache` | Invalidate the in-memory feature-toggle cache. Call after editing `Feature` / `AdminUnitFeatureState` rows |
206
- | `upsert-admin-operation` | Create or update a `SysAdminOperation` (system operation / permission). Required because OData modifications are blocked for this entity |
207
- | `delete-admin-operation` | Delete one or more `SysAdminOperation` rows (related grantee rows are cleaned up automatically) |
208
- | `set-admin-operation-grantee` | Grant or revoke a system operation for users/roles. Repeated calls update the existing row instead of duplicating |
209
- | `delete-admin-operation-grantee` | Remove specific grant rows by Id. Prefer `set-admin-operation-grantee` to flip allow deny |
210
- | `call-configuration-service` | Escape hatch: invoke any configuration-package REST service method by name. Use only when no dedicated tool covers the operation |
211
-
212
- > **Note**: Previously documented `search`/`fetch` helper tools (for a specific connector workflow) have been removed as they are no longer required.
1
+ # MCP Creatio Server
2
+
3
+ [![npm version](https://img.shields.io/npm/v/mcp-creatio)](https://www.npmjs.com/package/mcp-creatio)
4
+ [![Docker pulls](https://img.shields.io/docker/pulls/crackish/mcp-creatio)](https://hub.docker.com/r/crackish/mcp-creatio)
5
+ [![License](https://img.shields.io/github/license/CRACKISH/mcp-creatio)](LICENSE)
6
+
7
+ 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.
8
+
9
+ Also discoverable as:
10
+
11
+ - Creatio MCP server
12
+ - MCP server for Creatio CRM
13
+ - Model Context Protocol for Creatio
14
+
15
+ ## Overview
16
+
17
+ - Exposes Creatio data as MCP tools for MCP-compatible clients (Claude Desktop, ChatGPT Connectors, GitHub Copilot)
18
+ - Supports reading, creating, updating, deleting records and inspecting schema
19
+ - Execute Creatio business processes with parameters
20
+ - Uses Creatio OData v4 API under the hood
21
+
22
+ ## Features
23
+
24
+ - **CRUD operations**: read, create, update, delete Creatio records
25
+ - **Schema discovery**: list entity sets and inspect entity schemas
26
+ - **Business processes**: run Creatio workflows with parameters
27
+ - **System settings**: read, write, and manage system setting metadata
28
+ - **Feature toggles**: manage `Feature` / `AdminUnitFeatureState` and refresh the feature cache. ⚠️ Only DB-backed features are reachable features defined exclusively in `web.config` or other non-DB providers are invisible to MCP.
29
+ - **System operations**: manage `SysAdminOperation` and per-user/role grants (Creatio blocks these tables for OData modifications, so dedicated tools are provided)
30
+ - **Custom services**: invoke any configuration-package REST service (`/0/rest/<service>/<method>`) when no dedicated tool fits
31
+ - **AI assistant compatibility**: Claude Desktop, ChatGPT Connectors, GitHub Copilot
32
+ - **Three authentication modes**: Legacy login/password, OAuth2 client credentials, OAuth2 authorization code
33
+ - **Built-in OAuth server**: Automatic MCP client authentication
34
+ - **Docker ready**: Multi-arch images available
35
+
36
+ ## Run Modes
37
+
38
+ This project supports two runtime modes:
39
+
40
+ ### 1. CLI Mode (`stdio`)
41
+
42
+ Use this mode for MCP clients that launch a command directly (VS Code MCP, Claude Desktop, etc.).
43
+
44
+ - No HTTP endpoint needed
45
+ - Easiest local setup
46
+ - Supports Legacy auth and OAuth2 Client Credentials
47
+ - OAuth2 Authorization Code is **not** supported in `stdio` mode
48
+
49
+ Run directly from npm:
50
+
51
+ ```bash
52
+ npx -y mcp-creatio@latest \
53
+ --base-url https://your-creatio.com \
54
+ --login your_login \
55
+ --password your_password
56
+ ```
57
+
58
+ `stdio` logs are disabled by default. To enable them, set `MCP_CREATIO_LOG_LEVEL` or pass `--log-level info`.
59
+
60
+ VS Code MCP config (command-based):
61
+
62
+ ```json
63
+ {
64
+ "creatio": {
65
+ "command": "npx",
66
+ "args": [
67
+ "-y",
68
+ "mcp-creatio@latest",
69
+ "--base-url",
70
+ "https://your-creatio.com",
71
+ "--login",
72
+ "your_login",
73
+ "--password",
74
+ "your_password"
75
+ ]
76
+ }
77
+ }
78
+ ```
79
+
80
+ Local repo command (without publishing):
81
+
82
+ ```bash
83
+ npm run start:stdio -- --base-url https://your-creatio.com --login your_login --password your_password
84
+ ```
85
+
86
+ ### 2. Server Mode (`http`)
87
+
88
+ Use this mode when your client connects by URL (for example `http://localhost:3000/mcp`).
89
+
90
+ - Exposes HTTP endpoint: `/mcp`
91
+ - Required for OAuth2 Authorization Code flow
92
+ - Works well with Docker and remote deployments
93
+
94
+ Start server:
95
+
96
+ ```bash
97
+ npm start
98
+ ```
99
+
100
+ Then connect using URL:
101
+
102
+ ```json
103
+ {
104
+ "creatio": {
105
+ "type": "http",
106
+ "url": "http://localhost:3000/mcp"
107
+ }
108
+ }
109
+ ```
110
+
111
+ ## Configuration
112
+
113
+ | Variable | Description |
114
+ | ---------------------------- | -------------------------------------------------------------------- |
115
+ | `CREATIO_BASE_URL` | **Required**. Creatio instance URL (e.g. `https://your-creatio.com`) |
116
+ | `CREATIO_LOGIN` | Username for legacy auth |
117
+ | `CREATIO_PASSWORD` | Password for legacy auth |
118
+ | `CREATIO_CLIENT_ID` | OAuth2 client credentials ID |
119
+ | `CREATIO_CLIENT_SECRET` | OAuth2 client credentials secret |
120
+ | `CREATIO_ID_BASE_URL` | Identity Service URL (if separate from main Creatio instance) |
121
+ | `CREATIO_CODE_CLIENT_ID` | OAuth2 authorization code client ID |
122
+ | `CREATIO_CODE_CLIENT_SECRET` | OAuth2 authorization code client secret |
123
+ | `CREATIO_CODE_REDIRECT_URI` | OAuth2 redirect URI (e.g. `http://localhost:3000/oauth/callback`) |
124
+ | `CREATIO_CODE_SCOPE` | OAuth2 scope (e.g. `offline_access ApplicationAccess_yourappguid`) |
125
+ | `READONLY_MODE` | Set `true` to disable create/update/delete operations |
126
+ | `MCP_CREATIO_LOG_LEVEL` | Log verbosity: `silent` (default), `error`, `warn`, `info` |
127
+
128
+ ## Authentication Modes
129
+
130
+ Choose one of three ways to authenticate with Creatio:
131
+
132
+ ### 1. Legacy (Username/Password)
133
+
134
+ ```bash
135
+ CREATIO_LOGIN=YourLogin
136
+ CREATIO_PASSWORD=YourPassword
137
+ ```
138
+
139
+ ### 2. OAuth2 Client Credentials
140
+
141
+ For server-to-server authentication. [Setup guide →](https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/integrations-and-api/authentication/oauth-2-0-authorization/identity-service-overview)
142
+
143
+ ```bash
144
+ CREATIO_CLIENT_ID=your_client_id
145
+ CREATIO_CLIENT_SECRET=your_client_secret
146
+ ```
147
+
148
+ ### 3. OAuth2 Authorization Code
149
+
150
+ For user-delegated access with web authorization. [Setup guide →](https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/integrations-and-api/authentication/oauth-2-0-authorization/authorization-code-grant)
151
+
152
+ ```bash
153
+ CREATIO_CODE_CLIENT_ID=your_client_id
154
+ CREATIO_CODE_CLIENT_SECRET=your_client_secret
155
+ CREATIO_CODE_REDIRECT_URI=http://localhost:3000/oauth/callback
156
+ CREATIO_CODE_SCOPE="offline_access ApplicationAccess_yourappguid"
157
+ ```
158
+
159
+ **Note**: Currently uses in-memory storage for OAuth tokens. Tokens will be lost on server restart.
160
+
161
+ **Important**: OAuth2 Authorization Code requires **Server Mode (`http`)**.
162
+
163
+ **Priority**: Authorization Code > Client Credentials > Legacy
164
+
165
+ ## MCP Client Authentication (HTTP Mode)
166
+
167
+ 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.
168
+
169
+ ## Examples
170
+
171
+ ### Node.js (Legacy Auth)
172
+
173
+ ```bash
174
+ export CREATIO_BASE_URL="https://your-creatio.com"
175
+ export CREATIO_LOGIN="YourLogin"
176
+ export CREATIO_PASSWORD="YourPassword"
177
+ npm start
178
+ ```
179
+
180
+ ### Docker (Legacy Auth)
181
+
182
+ ```bash
183
+ docker run --rm -p 3000:3000 \
184
+ -e CREATIO_BASE_URL="https://your-creatio.com" \
185
+ -e CREATIO_LOGIN="YourLogin" \
186
+ -e CREATIO_PASSWORD="YourPassword" \
187
+ crackish/mcp-creatio
188
+ ```
189
+
190
+ ## Available Tools
191
+
192
+ | Tool | Description |
193
+ | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
194
+ | `get-current-user-info` | Fetch the Creatio contact details for the authenticated MCP user |
195
+ | `list-entities` | List all available entity sets |
196
+ | `describe-entity` | Get schema for an entity (fields, types, keys). Routes through DataForge for richer column details when it is enabled, otherwise exact OData `$metadata` |
197
+ | `read` | Query records: filters, select, expand, ordering, pagination (skip/top) and total count |
198
+ | `create` | Create a new record |
199
+ | `update` | Update an existing record |
200
+ | `delete` | Delete a record |
201
+ | `execute-process` | Run a Creatio business process |
202
+ | `query-sys-settings` | Read current values and metadata for one or more system settings |
203
+ | `set-sys-settings-value` | Update one or more system setting values |
204
+ | `create-sys-setting` | Create a new system setting (with optional initial value) |
205
+ | `update-sys-setting-definition` | Modify system setting metadata (name, value type, cache flags, lookup reference) |
206
+ | `refresh-feature-cache` | Invalidate the in-memory feature-toggle cache. Call after editing `Feature` / `AdminUnitFeatureState` rows |
207
+ | `upsert-admin-operation` | Create or update a `SysAdminOperation` (system operation / permission). Required because OData modifications are blocked for this entity |
208
+ | `delete-admin-operation` | Delete one or more `SysAdminOperation` rows (related grantee rows are cleaned up automatically) |
209
+ | `set-admin-operation-grantee` | Grant or revoke a system operation for users/roles. Repeated calls update the existing row instead of duplicating |
210
+ | `delete-admin-operation-grantee` | Remove specific grant rows by Id. Prefer `set-admin-operation-grantee` to flip allow deny |
211
+ | `call-configuration-service` | Escape hatch: invoke any configuration-package REST service method by name. Use only when no dedicated tool covers the operation |
212
+
213
+ > **Note**: Previously documented `search`/`fetch` helper tools (for a specific connector workflow) have been removed as they are no longer required.
214
+
215
+ ### Querying data with `read`
216
+
217
+ Ask for exactly the data you need — the AI doesn't have to know OData:
218
+
219
+ - **Filter any way** — equals / not-equals, ranges (`>`, `>=`, `<`, `<=`), text match (`contains`, `starts/ends with`), `AND` / `OR` groups, and "in this list".
220
+ - **Filter by related records naturally** — by name (`Contact/Name = "Andrew Baker"`) or by id; lookups just work, no special syntax to remember.
221
+ - **Sort** by any column, ascending or descending.
222
+ - **Paginate** with page size + offset, so large datasets come back in clean pages.
223
+ - **Count** — get the total number of matches in one call (e.g. "how many open cases does this account have?"), with or without the rows.
224
+ - **Pull in related data** in a single request (e.g. an order together with its account and contact).
225
+
226
+ ### DataForge tools (registered only when DataForge is enabled)
227
+
228
+ DataForge is Creatio's AI-oriented semantic layer over the data model. These tools are **probed once at startup** and registered **only when the environment has DataForge configured** (a non-empty `DataForgeServiceUrl` system setting). When DataForge is absent the tools are not exposed at all, and `describe-entity` silently uses OData metadata — no wasted remote calls.
229
+
230
+ | Tool | Description |
231
+ | ------------------------------- | ------------------------------------------------------------------------------------------------- |
232
+ | `dataforge-similar-tables` | Semantic search: map a natural-language query to the Creatio tables that best match its meaning |
233
+ | `dataforge-table-details` | Like `dataforge-similar-tables` but returns richer per-table details for the best matches |
234
+ | `dataforge-table-relationships` | Find the relationship path(s) between two tables (how they join) — useful before `read`/`$expand` |
235
+ | `dataforge-lookup-values` | Fuzzy/semantic search for lookup values (resolve a phrase to the right lookup record Id) |
236
+ | `dataforge-status` | Report whether DataForge is online and whether the data model / lookups are synced |
237
+
238
+ **Discovery → confirm → act:** use `dataforge-similar-tables` to find the right entity, then `describe-entity` for the authoritative field list, then `read`/`create`.
239
+
240
+ **Enabling DataForge** requires (on the Creatio side): the `DataForgeServiceUrl` system setting plus IdentityServer settings (`IdentityServerUrl`, `IdentityServerClientId`/`Secret`), the `DataForge*` feature toggles, and the `CanReadDataStructureColumnDetails` operation granted to the MCP user. Restart the app pool (or run the `DataStructureTransferFromCreatio` / `LookupsTransferFromCreatio` processes) to sync the model.
241
+
242
+ ### Global Search tool (registered only when Global Search is enabled)
243
+
244
+ Global Search is Creatio's cross-entity, Elasticsearch-backed record search — the engine behind the UI search box. The tool is **probed once at startup** and registered **only when the environment has Global Search configured** (a non-empty `GlobalSearchUrl` system setting).
245
+
246
+ | Tool | Description |
247
+ | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
248
+ | `global-search` | Full-text search across all indexed entities (like the UI search). Input: `query`, optional `entities[]`/`limit`/`from`. Returns matched records with `entityName`, `id`, `columnValues`, highlighted `foundColumns`, plus `total`/`nextFrom` |
249
+
250
+ Differs from `read`: `read` needs an exact entity + OData filter; `global-search` is fuzzy and cross-entity — use it to locate a record when you don't know the entity. Calls `GlobalSearchService.Search`.
251
+
252
+ **Enabling Global Search** requires the `GlobalSearchUrl` (+ `GlobalSearchConfigServiceUrl`, `GlobalSearchIndexingApiUrl`) system settings and the `GlobalSearch` / `GlobalSearch_V2` feature toggles, with the section index built (Elasticsearch reachable).
package/dist/cli.d.ts CHANGED
@@ -1,3 +1,8 @@
1
1
  #!/usr/bin/env node
2
+ type CliOptions = Record<string, string>;
3
+ export declare function printHelp(): void;
4
+ export declare function parseArgs(argv: string[]): CliOptions;
5
+ export declare function setEnvIfDefined(name: string, value?: string): void;
6
+ export declare function applyCliEnv(opts: CliOptions): void;
2
7
  export {};
3
8
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAUA,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAMzC,wBAAgB,SAAS,IAAI,IAAI,CAwBhC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoCpD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAIlE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CASlD"}
package/dist/cli.js CHANGED
@@ -4,6 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.printHelp = printHelp;
8
+ exports.parseArgs = parseArgs;
9
+ exports.setEnvIfDefined = setEnvIfDefined;
10
+ exports.applyCliEnv = applyCliEnv;
7
11
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
8
12
  const config_builder_1 = require("./config-builder");
9
13
  const creatio_1 = require("./creatio");
@@ -22,13 +26,13 @@ Options:
22
26
  --url <url> Alias for --base-url
23
27
  --login <value> Creatio login (legacy auth)
24
28
  --password <value> Creatio password (legacy auth)
25
- --client-id <value> OAuth2 client credentials client_id
26
- --client-secret <value> OAuth2 client credentials client_secret
27
- --id-base-url <url> Creatio Identity base URL
28
- --readonly <true|false> Enable readonly mode
29
- --log-level <silent|error|warn|info>
30
- Log verbosity (default: silent)
31
- -h, --help Show this help
29
+ --client-id <value> OAuth2 client credentials client_id
30
+ --client-secret <value> OAuth2 client credentials client_secret
31
+ --id-base-url <url> Creatio Identity base URL
32
+ --readonly <true|false> Enable readonly mode
33
+ --log-level <silent|error|warn|info>
34
+ Log verbosity (default: silent)
35
+ -h, --help Show this help
32
36
 
33
37
  Examples:
34
38
  mcp-creatio --base-url https://tenant.creatio.com --login your_login --password your_password
@@ -132,8 +136,11 @@ async function main() {
132
136
  });
133
137
  await startStdio(server);
134
138
  }
135
- main().catch((err) => {
136
- log_1.default.error('startup.error', { error: String(err) });
137
- process.exit(1);
138
- });
139
+ // Only auto-run when invoked as the entry point (not when imported by tests).
140
+ if (require.main === module) {
141
+ main().catch((err) => {
142
+ log_1.default.error('startup.error', { error: String(err) });
143
+ process.exit(1);
144
+ });
145
+ }
139
146
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export interface ICreatioAuthProvider {
6
6
  revoke(): Promise<void>;
7
7
  getAuthorizeUrl(state: string): Promise<string>;
8
8
  finishAuthorization(code: string): Promise<void>;
9
+ /** Cancels any background token-refresh timers. Safe no-op for providers without them. */
10
+ cancelAllRefresh(): void;
9
11
  }
10
12
  export declare function buildHeaders(accept: string, isJson?: boolean, token?: string): Record<string, string>;
11
13
  export declare const TOKEN_ENDPOINT = "/connect/token";
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/creatio/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,wBAAgB,YAAY,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,sBAAsB,KAAK,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/creatio/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,0FAA0F;IAC1F,gBAAgB,IAAI,IAAI,CAAC;CACzB;AAED,wBAAgB,YAAY,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,sBAAsB,KAAK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/creatio/auth/auth.ts"],"names":[],"mappings":";;;AAWA,oCAaC;AAbD,SAAgB,YAAY,CAC3B,MAAc,EACd,MAAgB,EAChB,KAAc;IAEd,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3D,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IAC9C,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAEY,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAC9B,QAAA,sBAAsB,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/creatio/auth/auth.ts"],"names":[],"mappings":";;;AAaA,oCAaC;AAbD,SAAgB,YAAY,CAC3B,MAAc,EACd,MAAgB,EAChB,KAAc;IAEd,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3D,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IAC9C,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAEY,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAC9B,QAAA,sBAAsB,GAAG,EAAE,CAAC"}
@@ -11,5 +11,6 @@ export declare abstract class BaseProvider<T extends CreatioClientAuthConfig = C
11
11
  revoke(): Promise<void>;
12
12
  getAuthorizeUrl(state: string): Promise<string>;
13
13
  finishAuthorization(code: string): Promise<void>;
14
+ cancelAllRefresh(): void;
14
15
  }
15
16
  //# sourceMappingURL=base-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-provider.d.ts","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/base-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,8BAAsB,YAAY,CACjC,CAAC,SAAS,uBAAuB,GAAG,uBAAuB,CAC1D,YAAW,oBAAoB;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAE/C,SAAS,KAAK,UAAU,IAAI,CAAC,CAE5B;IAED,IAAW,IAAI,IAAI,gBAAgB,CAElC;gBAEW,MAAM,EAAE,mBAAmB;IAIhC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI7E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGvD"}
1
+ {"version":3,"file":"base-provider.d.ts","sourceRoot":"","sources":["../../../../src/creatio/auth/providers/base-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,8BAAsB,YAAY,CACjC,CAAC,SAAS,uBAAuB,GAAG,uBAAuB,CAC1D,YAAW,oBAAoB;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAE/C,SAAS,KAAK,UAAU,IAAI,CAAC,CAE5B;IAED,IAAW,IAAI,IAAI,gBAAgB,CAElC;gBAEW,MAAM,EAAE,mBAAmB;IAIhC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI7E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,gBAAgB,IAAI,IAAI;CAG/B"}
@@ -27,6 +27,9 @@ class BaseProvider {
27
27
  finishAuthorization(code) {
28
28
  throw new Error('Method not implemented.');
29
29
  }
30
+ cancelAllRefresh() {
31
+ // No background refresh timers by default; OAuth2CodeProvider overrides this.
32
+ }
30
33
  }
31
34
  exports.BaseProvider = BaseProvider;
32
35
  //# sourceMappingURL=base-provider.js.map