mcp-creatio 0.3.6

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 (370) hide show
  1. package/.dockerignore +12 -0
  2. package/.editorconfig +14 -0
  3. package/.eslintrc.cjs +18 -0
  4. package/.gitattributes +8 -0
  5. package/.github/workflows/docker-publish.yml +50 -0
  6. package/.prettierignore +3 -0
  7. package/.prettierrc +9 -0
  8. package/.vscode/launch.json +23 -0
  9. package/.vscode/mcp.json +13 -0
  10. package/.vscode/settings.json +16 -0
  11. package/Agent.md +187 -0
  12. package/Debug.md +32 -0
  13. package/Dockerfile +23 -0
  14. package/LICENSE +21 -0
  15. package/README.md +162 -0
  16. package/dist/cli.d.ts +3 -0
  17. package/dist/cli.d.ts.map +1 -0
  18. package/dist/cli.js +135 -0
  19. package/dist/cli.js.map +1 -0
  20. package/dist/config-builder.d.ts +3 -0
  21. package/dist/config-builder.d.ts.map +1 -0
  22. package/dist/config-builder.js +66 -0
  23. package/dist/config-builder.js.map +1 -0
  24. package/dist/consts.d.ts +2 -0
  25. package/dist/consts.d.ts.map +1 -0
  26. package/dist/consts.js +6 -0
  27. package/dist/consts.js.map +1 -0
  28. package/dist/creatio/auth/auth-manager.d.ts +9 -0
  29. package/dist/creatio/auth/auth-manager.d.ts.map +1 -0
  30. package/dist/creatio/auth/auth-manager.js +29 -0
  31. package/dist/creatio/auth/auth-manager.js.map +1 -0
  32. package/dist/creatio/auth/auth.d.ts +16 -0
  33. package/dist/creatio/auth/auth.d.ts.map +1 -0
  34. package/dist/creatio/auth/auth.js +20 -0
  35. package/dist/creatio/auth/auth.js.map +1 -0
  36. package/dist/creatio/auth/index.d.ts +4 -0
  37. package/dist/creatio/auth/index.d.ts.map +1 -0
  38. package/dist/creatio/auth/index.js +21 -0
  39. package/dist/creatio/auth/index.js.map +1 -0
  40. package/dist/creatio/auth/providers/base-oauth2-provider.d.ts +17 -0
  41. package/dist/creatio/auth/providers/base-oauth2-provider.d.ts.map +1 -0
  42. package/dist/creatio/auth/providers/base-oauth2-provider.js +49 -0
  43. package/dist/creatio/auth/providers/base-oauth2-provider.js.map +1 -0
  44. package/dist/creatio/auth/providers/base-provider.d.ts +15 -0
  45. package/dist/creatio/auth/providers/base-provider.d.ts.map +1 -0
  46. package/dist/creatio/auth/providers/base-provider.js +32 -0
  47. package/dist/creatio/auth/providers/base-provider.js.map +1 -0
  48. package/dist/creatio/auth/providers/index.d.ts +5 -0
  49. package/dist/creatio/auth/providers/index.d.ts.map +1 -0
  50. package/dist/creatio/auth/providers/index.js +21 -0
  51. package/dist/creatio/auth/providers/index.js.map +1 -0
  52. package/dist/creatio/auth/providers/legacy-provider.d.ts +10 -0
  53. package/dist/creatio/auth/providers/legacy-provider.d.ts.map +1 -0
  54. package/dist/creatio/auth/providers/legacy-provider.js +73 -0
  55. package/dist/creatio/auth/providers/legacy-provider.js.map +1 -0
  56. package/dist/creatio/auth/providers/oauth2-code-provider.d.ts +18 -0
  57. package/dist/creatio/auth/providers/oauth2-code-provider.d.ts.map +1 -0
  58. package/dist/creatio/auth/providers/oauth2-code-provider.js +245 -0
  59. package/dist/creatio/auth/providers/oauth2-code-provider.js.map +1 -0
  60. package/dist/creatio/auth/providers/oauth2-provider.d.ts +9 -0
  61. package/dist/creatio/auth/providers/oauth2-provider.d.ts.map +1 -0
  62. package/dist/creatio/auth/providers/oauth2-provider.js +86 -0
  63. package/dist/creatio/auth/providers/oauth2-provider.js.map +1 -0
  64. package/dist/creatio/auth/providers/type.d.ts +6 -0
  65. package/dist/creatio/auth/providers/type.d.ts.map +1 -0
  66. package/dist/creatio/auth/providers/type.js +10 -0
  67. package/dist/creatio/auth/providers/type.js.map +1 -0
  68. package/dist/creatio/client-config.d.ts +29 -0
  69. package/dist/creatio/client-config.d.ts.map +1 -0
  70. package/dist/creatio/client-config.js +3 -0
  71. package/dist/creatio/client-config.js.map +1 -0
  72. package/dist/creatio/engines/crud/crud-engine.d.ts +15 -0
  73. package/dist/creatio/engines/crud/crud-engine.d.ts.map +1 -0
  74. package/dist/creatio/engines/crud/crud-engine.js +33 -0
  75. package/dist/creatio/engines/crud/crud-engine.js.map +1 -0
  76. package/dist/creatio/engines/engine-manager.d.ts +33 -0
  77. package/dist/creatio/engines/engine-manager.d.ts.map +1 -0
  78. package/dist/creatio/engines/engine-manager.js +54 -0
  79. package/dist/creatio/engines/engine-manager.js.map +1 -0
  80. package/dist/creatio/engines/engine-registry.d.ts +15 -0
  81. package/dist/creatio/engines/engine-registry.d.ts.map +1 -0
  82. package/dist/creatio/engines/engine-registry.js +35 -0
  83. package/dist/creatio/engines/engine-registry.js.map +1 -0
  84. package/dist/creatio/engines/engine.d.ts +4 -0
  85. package/dist/creatio/engines/engine.d.ts.map +1 -0
  86. package/dist/creatio/engines/engine.js +3 -0
  87. package/dist/creatio/engines/engine.js.map +1 -0
  88. package/dist/creatio/engines/index.d.ts +8 -0
  89. package/dist/creatio/engines/index.d.ts.map +1 -0
  90. package/dist/creatio/engines/index.js +24 -0
  91. package/dist/creatio/engines/index.js.map +1 -0
  92. package/dist/creatio/engines/process/process-engine.d.ts +10 -0
  93. package/dist/creatio/engines/process/process-engine.d.ts.map +1 -0
  94. package/dist/creatio/engines/process/process-engine.js +18 -0
  95. package/dist/creatio/engines/process/process-engine.js.map +1 -0
  96. package/dist/creatio/engines/sys-settings/sys-settings-engine.d.ts +13 -0
  97. package/dist/creatio/engines/sys-settings/sys-settings-engine.d.ts.map +1 -0
  98. package/dist/creatio/engines/sys-settings/sys-settings-engine.js +27 -0
  99. package/dist/creatio/engines/sys-settings/sys-settings-engine.js.map +1 -0
  100. package/dist/creatio/engines/user/user-engine.d.ts +10 -0
  101. package/dist/creatio/engines/user/user-engine.d.ts.map +1 -0
  102. package/dist/creatio/engines/user/user-engine.js +18 -0
  103. package/dist/creatio/engines/user/user-engine.js.map +1 -0
  104. package/dist/creatio/index.d.ts +7 -0
  105. package/dist/creatio/index.d.ts.map +1 -0
  106. package/dist/creatio/index.js +23 -0
  107. package/dist/creatio/index.js.map +1 -0
  108. package/dist/creatio/provider-context.d.ts +10 -0
  109. package/dist/creatio/provider-context.d.ts.map +1 -0
  110. package/dist/creatio/provider-context.js +3 -0
  111. package/dist/creatio/provider-context.js.map +1 -0
  112. package/dist/creatio/providers/crud-provider.d.ts +40 -0
  113. package/dist/creatio/providers/crud-provider.d.ts.map +1 -0
  114. package/dist/creatio/providers/crud-provider.js +3 -0
  115. package/dist/creatio/providers/crud-provider.js.map +1 -0
  116. package/dist/creatio/providers/index.d.ts +5 -0
  117. package/dist/creatio/providers/index.d.ts.map +1 -0
  118. package/dist/creatio/providers/index.js +21 -0
  119. package/dist/creatio/providers/index.js.map +1 -0
  120. package/dist/creatio/providers/process-provider.d.ts +14 -0
  121. package/dist/creatio/providers/process-provider.d.ts.map +1 -0
  122. package/dist/creatio/providers/process-provider.js +3 -0
  123. package/dist/creatio/providers/process-provider.js.map +1 -0
  124. package/dist/creatio/providers/sys-settings-provider.d.ts +58 -0
  125. package/dist/creatio/providers/sys-settings-provider.d.ts.map +1 -0
  126. package/dist/creatio/providers/sys-settings-provider.js +3 -0
  127. package/dist/creatio/providers/sys-settings-provider.js.map +1 -0
  128. package/dist/creatio/providers/user-provider.d.ts +12 -0
  129. package/dist/creatio/providers/user-provider.d.ts.map +1 -0
  130. package/dist/creatio/providers/user-provider.js +3 -0
  131. package/dist/creatio/providers/user-provider.js.map +1 -0
  132. package/dist/creatio/services/creatio-service-context.d.ts +17 -0
  133. package/dist/creatio/services/creatio-service-context.d.ts.map +1 -0
  134. package/dist/creatio/services/creatio-service-context.js +35 -0
  135. package/dist/creatio/services/creatio-service-context.js.map +1 -0
  136. package/dist/creatio/services/http-client.d.ts +29 -0
  137. package/dist/creatio/services/http-client.d.ts.map +1 -0
  138. package/dist/creatio/services/http-client.js +136 -0
  139. package/dist/creatio/services/http-client.js.map +1 -0
  140. package/dist/creatio/services/index.d.ts +8 -0
  141. package/dist/creatio/services/index.d.ts.map +1 -0
  142. package/dist/creatio/services/index.js +24 -0
  143. package/dist/creatio/services/index.js.map +1 -0
  144. package/dist/creatio/services/metadata-store.d.ts +20 -0
  145. package/dist/creatio/services/metadata-store.d.ts.map +1 -0
  146. package/dist/creatio/services/metadata-store.js +162 -0
  147. package/dist/creatio/services/metadata-store.js.map +1 -0
  148. package/dist/creatio/services/odata-crud-provider.d.ts +21 -0
  149. package/dist/creatio/services/odata-crud-provider.d.ts.map +1 -0
  150. package/dist/creatio/services/odata-crud-provider.js +145 -0
  151. package/dist/creatio/services/odata-crud-provider.js.map +1 -0
  152. package/dist/creatio/services/process-service-provider.d.ts +11 -0
  153. package/dist/creatio/services/process-service-provider.d.ts.map +1 -0
  154. package/dist/creatio/services/process-service-provider.js +52 -0
  155. package/dist/creatio/services/process-service-provider.js.map +1 -0
  156. package/dist/creatio/services/sys-settings-service-provider.d.ts +19 -0
  157. package/dist/creatio/services/sys-settings-service-provider.d.ts.map +1 -0
  158. package/dist/creatio/services/sys-settings-service-provider.js +107 -0
  159. package/dist/creatio/services/sys-settings-service-provider.js.map +1 -0
  160. package/dist/creatio/services/user-info-provider.d.ts +10 -0
  161. package/dist/creatio/services/user-info-provider.d.ts.map +1 -0
  162. package/dist/creatio/services/user-info-provider.js +26 -0
  163. package/dist/creatio/services/user-info-provider.js.map +1 -0
  164. package/dist/index.d.ts +2 -0
  165. package/dist/index.d.ts.map +1 -0
  166. package/dist/index.js +46 -0
  167. package/dist/index.js.map +1 -0
  168. package/dist/log.d.ts +51 -0
  169. package/dist/log.d.ts.map +1 -0
  170. package/dist/log.js +137 -0
  171. package/dist/log.js.map +1 -0
  172. package/dist/server/http/creatio-oauth-handlers.d.ts +14 -0
  173. package/dist/server/http/creatio-oauth-handlers.d.ts.map +1 -0
  174. package/dist/server/http/creatio-oauth-handlers.js +137 -0
  175. package/dist/server/http/creatio-oauth-handlers.js.map +1 -0
  176. package/dist/server/http/httpServer.d.ts +23 -0
  177. package/dist/server/http/httpServer.d.ts.map +1 -0
  178. package/dist/server/http/httpServer.js +131 -0
  179. package/dist/server/http/httpServer.js.map +1 -0
  180. package/dist/server/http/index.d.ts +6 -0
  181. package/dist/server/http/index.d.ts.map +1 -0
  182. package/dist/server/http/index.js +22 -0
  183. package/dist/server/http/index.js.map +1 -0
  184. package/dist/server/http/mcp-handlers.d.ts +10 -0
  185. package/dist/server/http/mcp-handlers.d.ts.map +1 -0
  186. package/dist/server/http/mcp-handlers.js +82 -0
  187. package/dist/server/http/mcp-handlers.js.map +1 -0
  188. package/dist/server/http/mcp-oauth-handlers.d.ts +11 -0
  189. package/dist/server/http/mcp-oauth-handlers.d.ts.map +1 -0
  190. package/dist/server/http/mcp-oauth-handlers.js +106 -0
  191. package/dist/server/http/mcp-oauth-handlers.js.map +1 -0
  192. package/dist/server/http/middleware.d.ts +11 -0
  193. package/dist/server/http/middleware.d.ts.map +1 -0
  194. package/dist/server/http/middleware.js +88 -0
  195. package/dist/server/http/middleware.js.map +1 -0
  196. package/dist/server/index.d.ts +3 -0
  197. package/dist/server/index.d.ts.map +1 -0
  198. package/dist/server/index.js +19 -0
  199. package/dist/server/index.js.map +1 -0
  200. package/dist/server/mcp/filters.d.ts +2 -0
  201. package/dist/server/mcp/filters.d.ts.map +1 -0
  202. package/dist/server/mcp/filters.js +94 -0
  203. package/dist/server/mcp/filters.js.map +1 -0
  204. package/dist/server/mcp/index.d.ts +2 -0
  205. package/dist/server/mcp/index.d.ts.map +1 -0
  206. package/dist/server/mcp/index.js +18 -0
  207. package/dist/server/mcp/index.js.map +1 -0
  208. package/dist/server/mcp/prompts-data.d.ts +147 -0
  209. package/dist/server/mcp/prompts-data.d.ts.map +1 -0
  210. package/dist/server/mcp/prompts-data.js +884 -0
  211. package/dist/server/mcp/prompts-data.js.map +1 -0
  212. package/dist/server/mcp/server.d.ts +25 -0
  213. package/dist/server/mcp/server.d.ts.map +1 -0
  214. package/dist/server/mcp/server.js +233 -0
  215. package/dist/server/mcp/server.js.map +1 -0
  216. package/dist/server/mcp/tools-data.d.ts +165 -0
  217. package/dist/server/mcp/tools-data.d.ts.map +1 -0
  218. package/dist/server/mcp/tools-data.js +466 -0
  219. package/dist/server/mcp/tools-data.js.map +1 -0
  220. package/dist/server/oauth/client-manager.d.ts +6 -0
  221. package/dist/server/oauth/client-manager.d.ts.map +1 -0
  222. package/dist/server/oauth/client-manager.js +52 -0
  223. package/dist/server/oauth/client-manager.js.map +1 -0
  224. package/dist/server/oauth/index.d.ts +7 -0
  225. package/dist/server/oauth/index.d.ts.map +1 -0
  226. package/dist/server/oauth/index.js +23 -0
  227. package/dist/server/oauth/index.js.map +1 -0
  228. package/dist/server/oauth/oauth-server.d.ts +21 -0
  229. package/dist/server/oauth/oauth-server.d.ts.map +1 -0
  230. package/dist/server/oauth/oauth-server.js +146 -0
  231. package/dist/server/oauth/oauth-server.js.map +1 -0
  232. package/dist/server/oauth/storage.d.ts +31 -0
  233. package/dist/server/oauth/storage.d.ts.map +1 -0
  234. package/dist/server/oauth/storage.js +73 -0
  235. package/dist/server/oauth/storage.js.map +1 -0
  236. package/dist/server/oauth/token-manager.d.ts +13 -0
  237. package/dist/server/oauth/token-manager.d.ts.map +1 -0
  238. package/dist/server/oauth/token-manager.js +69 -0
  239. package/dist/server/oauth/token-manager.js.map +1 -0
  240. package/dist/server/oauth/types.d.ts +51 -0
  241. package/dist/server/oauth/types.d.ts.map +1 -0
  242. package/dist/server/oauth/types.js +3 -0
  243. package/dist/server/oauth/types.js.map +1 -0
  244. package/dist/server/oauth/validators.d.ts +7 -0
  245. package/dist/server/oauth/validators.d.ts.map +1 -0
  246. package/dist/server/oauth/validators.js +51 -0
  247. package/dist/server/oauth/validators.js.map +1 -0
  248. package/dist/services/index.d.ts +3 -0
  249. package/dist/services/index.d.ts.map +1 -0
  250. package/dist/services/index.js +19 -0
  251. package/dist/services/index.js.map +1 -0
  252. package/dist/services/session-context.d.ts +57 -0
  253. package/dist/services/session-context.d.ts.map +1 -0
  254. package/dist/services/session-context.js +182 -0
  255. package/dist/services/session-context.js.map +1 -0
  256. package/dist/services/token-refresh-scheduler.d.ts +16 -0
  257. package/dist/services/token-refresh-scheduler.d.ts.map +1 -0
  258. package/dist/services/token-refresh-scheduler.js +66 -0
  259. package/dist/services/token-refresh-scheduler.js.map +1 -0
  260. package/dist/types/index.d.ts +2 -0
  261. package/dist/types/index.d.ts.map +1 -0
  262. package/dist/types/index.js +18 -0
  263. package/dist/types/index.js.map +1 -0
  264. package/dist/types/network.d.ts +7 -0
  265. package/dist/types/network.d.ts.map +1 -0
  266. package/dist/types/network.js +6 -0
  267. package/dist/types/network.js.map +1 -0
  268. package/dist/utils/context.d.ts +10 -0
  269. package/dist/utils/context.d.ts.map +1 -0
  270. package/dist/utils/context.js +44 -0
  271. package/dist/utils/context.js.map +1 -0
  272. package/dist/utils/env.d.ts +3 -0
  273. package/dist/utils/env.d.ts.map +1 -0
  274. package/dist/utils/env.js +16 -0
  275. package/dist/utils/env.js.map +1 -0
  276. package/dist/utils/index.d.ts +6 -0
  277. package/dist/utils/index.d.ts.map +1 -0
  278. package/dist/utils/index.js +22 -0
  279. package/dist/utils/index.js.map +1 -0
  280. package/dist/utils/mcp.d.ts +3 -0
  281. package/dist/utils/mcp.d.ts.map +1 -0
  282. package/dist/utils/mcp.js +7 -0
  283. package/dist/utils/mcp.js.map +1 -0
  284. package/dist/utils/network.d.ts +7 -0
  285. package/dist/utils/network.d.ts.map +1 -0
  286. package/dist/utils/network.js +63 -0
  287. package/dist/utils/network.js.map +1 -0
  288. package/dist/utils/pkce.d.ts +7 -0
  289. package/dist/utils/pkce.d.ts.map +1 -0
  290. package/dist/utils/pkce.js +43 -0
  291. package/dist/utils/pkce.js.map +1 -0
  292. package/dist/version.d.ts +3 -0
  293. package/dist/version.d.ts.map +1 -0
  294. package/dist/version.js +10 -0
  295. package/dist/version.js.map +1 -0
  296. package/docs/coding-style.md +30 -0
  297. package/ecosystem.config.json +17 -0
  298. package/eslint.config.cjs +95 -0
  299. package/package.json +54 -0
  300. package/src/cli.ts +158 -0
  301. package/src/config-builder.ts +76 -0
  302. package/src/consts.ts +3 -0
  303. package/src/creatio/auth/auth-manager.ts +27 -0
  304. package/src/creatio/auth/auth.ts +31 -0
  305. package/src/creatio/auth/index.ts +3 -0
  306. package/src/creatio/auth/providers/base-oauth2-provider.ts +62 -0
  307. package/src/creatio/auth/providers/base-provider.ts +42 -0
  308. package/src/creatio/auth/providers/index.ts +4 -0
  309. package/src/creatio/auth/providers/legacy-provider.ts +70 -0
  310. package/src/creatio/auth/providers/oauth2-code-provider.ts +252 -0
  311. package/src/creatio/auth/providers/oauth2-provider.ts +91 -0
  312. package/src/creatio/auth/providers/type.ts +5 -0
  313. package/src/creatio/client-config.ts +34 -0
  314. package/src/creatio/engines/crud/crud-engine.ts +47 -0
  315. package/src/creatio/engines/engine-manager.ts +102 -0
  316. package/src/creatio/engines/engine-registry.ts +36 -0
  317. package/src/creatio/engines/engine.ts +3 -0
  318. package/src/creatio/engines/index.ts +7 -0
  319. package/src/creatio/engines/process/process-engine.ts +20 -0
  320. package/src/creatio/engines/sys-settings/sys-settings-engine.ts +41 -0
  321. package/src/creatio/engines/user/user-engine.ts +20 -0
  322. package/src/creatio/index.ts +6 -0
  323. package/src/creatio/provider-context.ts +10 -0
  324. package/src/creatio/providers/crud-provider.ts +45 -0
  325. package/src/creatio/providers/index.ts +4 -0
  326. package/src/creatio/providers/process-provider.ts +15 -0
  327. package/src/creatio/providers/sys-settings-provider.ts +63 -0
  328. package/src/creatio/providers/user-provider.ts +12 -0
  329. package/src/creatio/services/creatio-service-context.ts +38 -0
  330. package/src/creatio/services/http-client.ts +174 -0
  331. package/src/creatio/services/index.ts +7 -0
  332. package/src/creatio/services/metadata-store.ts +181 -0
  333. package/src/creatio/services/odata-crud-provider.ts +210 -0
  334. package/src/creatio/services/process-service-provider.ts +76 -0
  335. package/src/creatio/services/sys-settings-service-provider.ts +192 -0
  336. package/src/creatio/services/user-info-provider.ts +41 -0
  337. package/src/index.ts +44 -0
  338. package/src/log.ts +141 -0
  339. package/src/server/http/creatio-oauth-handlers.ts +146 -0
  340. package/src/server/http/httpServer.ts +150 -0
  341. package/src/server/http/index.ts +5 -0
  342. package/src/server/http/mcp-handlers.ts +92 -0
  343. package/src/server/http/mcp-oauth-handlers.ts +108 -0
  344. package/src/server/http/middleware.ts +91 -0
  345. package/src/server/index.ts +2 -0
  346. package/src/server/mcp/filters.ts +97 -0
  347. package/src/server/mcp/index.ts +1 -0
  348. package/src/server/mcp/prompts-data.ts +896 -0
  349. package/src/server/mcp/server.ts +331 -0
  350. package/src/server/mcp/tools-data.ts +592 -0
  351. package/src/server/oauth/client-manager.ts +47 -0
  352. package/src/server/oauth/index.ts +6 -0
  353. package/src/server/oauth/oauth-server.ts +185 -0
  354. package/src/server/oauth/storage.ts +106 -0
  355. package/src/server/oauth/token-manager.ts +80 -0
  356. package/src/server/oauth/types.ts +55 -0
  357. package/src/server/oauth/validators.ts +56 -0
  358. package/src/services/index.ts +2 -0
  359. package/src/services/session-context.ts +232 -0
  360. package/src/services/token-refresh-scheduler.ts +68 -0
  361. package/src/types/index.ts +1 -0
  362. package/src/types/network.ts +7 -0
  363. package/src/utils/context.ts +49 -0
  364. package/src/utils/env.ts +12 -0
  365. package/src/utils/index.ts +5 -0
  366. package/src/utils/mcp.ts +8 -0
  367. package/src/utils/network.ts +65 -0
  368. package/src/utils/pkce.ts +39 -0
  369. package/src/version.ts +15 -0
  370. package/tsconfig.json +28 -0
package/.dockerignore ADDED
@@ -0,0 +1,12 @@
1
+ node_modules
2
+ npm-debug.log
3
+ Dockerfile*
4
+ .dockerignore
5
+ .git
6
+ .gitignore
7
+ .vscode
8
+ coverage
9
+ dist
10
+ *.tsbuildinfo
11
+ .eslintcache
12
+ .cache
package/.editorconfig ADDED
@@ -0,0 +1,14 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ end_of_line = crlf
6
+ insert_final_newline = true
7
+ indent_style = tab
8
+ indent_size = 4
9
+ tab_width = 4
10
+
11
+ [*.{ts,tsx,js,jsx,json,md,html,css}]
12
+ indent_style = tab
13
+ indent_size = 4
14
+ tab_width = 4
package/.eslintrc.cjs ADDED
@@ -0,0 +1,18 @@
1
+ module.exports = {
2
+ root: true,
3
+ parser: '@typescript-eslint/parser',
4
+ parserOptions: {
5
+ project: ['./tsconfig.json'],
6
+ tsconfigRootDir: __dirname,
7
+ sourceType: 'module',
8
+ },
9
+ plugins: ['@typescript-eslint', 'prettier'],
10
+ extends: [
11
+ 'eslint:recommended',
12
+ 'plugin:@typescript-eslint/recommended',
13
+ 'plugin:prettier/recommended',
14
+ ],
15
+ rules: {
16
+ 'prettier/prettier': 'error',
17
+ },
18
+ };
package/.gitattributes ADDED
@@ -0,0 +1,8 @@
1
+ # Ensure CRLF in repository for these files
2
+ * text=auto eol=crlf
3
+ *.ts text eol=crlf
4
+ *.tsx text eol=crlf
5
+ *.js text eol=crlf
6
+ *.jsx text eol=crlf
7
+ *.json text eol=crlf
8
+ *.md text eol=crlf
@@ -0,0 +1,50 @@
1
+ name: Docker Build and Publish
2
+
3
+ on:
4
+ push:
5
+ branches: ['main']
6
+ tags: ['v*.*.*']
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ docker:
11
+ runs-on: ubuntu-latest
12
+
13
+ permissions:
14
+ contents: read
15
+ packages: write
16
+
17
+ steps:
18
+ - name: Checkout
19
+ uses: actions/checkout@v4
20
+
21
+ - name: Set up QEMU
22
+ uses: docker/setup-qemu-action@v3
23
+
24
+ - name: Set up Docker Buildx
25
+ uses: docker/setup-buildx-action@v3
26
+
27
+ - name: Docker Hub login
28
+ uses: docker/login-action@v3
29
+ with:
30
+ username: ${{ secrets.DOCKER_USERNAME }}
31
+ password: ${{ secrets.DOCKER_PASSWORD }}
32
+
33
+ - name: Compute Docker tags from package.json
34
+ id: vars
35
+ shell: bash
36
+ run: |
37
+ VERSION=$(jq -r .version package.json)
38
+ if [[ -z "$VERSION" || "$VERSION" == "null" ]]; then
39
+ echo "Package version is empty" >&2
40
+ exit 1
41
+ fi
42
+ echo "tags=crackish/mcp-creatio:latest,crackish/mcp-creatio:v${VERSION}" >> $GITHUB_OUTPUT
43
+
44
+ - name: Build and push
45
+ uses: docker/build-push-action@v6
46
+ with:
47
+ context: .
48
+ push: true
49
+ platforms: linux/amd64,linux/arm64
50
+ tags: ${{ steps.vars.outputs.tags }}
@@ -0,0 +1,3 @@
1
+ node_modules
2
+ dist
3
+ coverage
package/.prettierrc ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "printWidth": 100,
3
+ "singleQuote": true,
4
+ "trailingComma": "all",
5
+ "semi": true,
6
+ "useTabs": true,
7
+ "tabWidth": 4,
8
+ "endOfLine": "crlf"
9
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {
5
+ "name": "Debug MCP Creatio",
6
+ "type": "node",
7
+ "request": "launch",
8
+ "cwd": "${workspaceFolder}",
9
+ "runtimeExecutable": "npm",
10
+ "runtimeArgs": [
11
+ "run",
12
+ "start"
13
+ ],
14
+ "console": "integratedTerminal",
15
+ "internalConsoleOptions": "neverOpen",
16
+ "env": {
17
+ "CREATIO_BASE_URL": "https://your-creatio.com",
18
+ "CREATIO_LOGIN": "Supervisor",
19
+ "CREATIO_PASSWORD": "Supervisor"
20
+ }
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "servers": {
3
+ "creatio_local": {
4
+ "url": "http://localhost:3000/mcp",
5
+ "type": "http"
6
+ },
7
+ "creatio_demo": {
8
+ "url": "http://a_vanikhin:7700/mcp",
9
+ "type": "http"
10
+ }
11
+ },
12
+ "inputs": []
13
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "editor.formatOnSave": true,
3
+ "editor.insertSpaces": false,
4
+ "editor.tabSize": 4,
5
+ "files.eol": "\r\n",
6
+ "files.encoding": "utf8",
7
+ "editor.detectIndentation": false,
8
+ "[typescript]": {
9
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
10
+ },
11
+ "eslint.validate": ["typescript", "typescriptreact"],
12
+ "editor.codeActionsOnSave": {
13
+ "source.fixAll": "explicit",
14
+ "source.fixAll.eslint": "explicit"
15
+ }
16
+ }
package/Agent.md ADDED
@@ -0,0 +1,187 @@
1
+ # Agent Guide: MCP Creatio Server
2
+
3
+ This document is for AI coding agents contributing to this repository. It explains project purpose, architecture, invariants, and safe extension patterns.
4
+
5
+ ## 1. Purpose
6
+
7
+ An implementation of a Model Context Protocol (MCP) server that exposes Creatio CRM to MCP-compatible AI clients (Claude Desktop, ChatGPT Connectors, GitHub Copilot, etc.).
8
+
9
+ Primary goals:
10
+
11
+ - Provide stable tool surface for CRUD, schema discovery, business process execution.
12
+ - Enforce safe data operations (especially Activities ownership rules, date/time UTC handling).
13
+ - Offer prompts that guide LLMs to use Creatio correctly.
14
+
15
+ ## 2. High-Level Architecture
16
+
17
+ ```
18
+ src/
19
+ creatio/ ← Low-level Creatio API client & auth providers
20
+ server/ ← MCP server + HTTP layer (OAuth server, handlers)
21
+ mcp/ ← MCP tool descriptors, prompts, filters builder
22
+ oauth/ ← Local OAuth 2.1 authorization server for clients
23
+ services/ ← Session/token refresh orchestration
24
+ utils/ ← Reusable helpers (env, network, pkce, context)
25
+ types/ ← Shared TypeScript interfaces & DTO shapes
26
+ ```
27
+
28
+ Key flows:
29
+
30
+ 1. Client authenticates (legacy credentials OR OAuth2 variants).
31
+ 2. MCP server registers tools using descriptors from `server/mcp/tools-data.ts`.
32
+ 3. Tool handlers call into `CreatioEngineManager`, which resolves a `CreatioServiceContext` (built from `src/creatio/services/*`) and delegates work to the appropriate provider (CRUD, process, sys-settings, user).
33
+ 4. Responses are normalized into MCP content blocks.
34
+
35
+ ### Creatio Service Stack (LLM Cheat Sheet)
36
+
37
+ ```
38
+ CreatioServiceContext
39
+ ├─ CreatioAuthManager → selects concrete auth provider (legacy / OAuth2 / OAuth2 code)
40
+ ├─ CreatioHttpClient → transport + logging + retry + header helpers
41
+ ├─ ODataMetadataStore → caches entity schemas per environment
42
+ ├─ ODataCrudProvider → implements CrudProvider using http + metadata
43
+ ├─ ProcessServiceProvider → POSTs to ProcessEngineService
44
+ ├─ SysSettingsServiceProvider → DataService JSON endpoint
45
+ └─ UserInfoProvider → UserInfoService for current user data
46
+ ```
47
+
48
+ Usage pattern:
49
+
50
+ - Handlers never craft raw fetch calls. They work through provider interfaces exposed by the context (`provider.crud`, `provider.process`, etc.).
51
+ - If you need a new Creatio capability, add a dedicated provider (or extend an existing one) and wire it up inside `CreatioServiceContext`.
52
+ - `CreatioHttpClient` should stay transport-focused (auth headers, retries, timing). Keep endpoint-specific logic inside providers or a dedicated endpoint helper.
53
+
54
+ ## 3. Core Modules You Will Touch
55
+
56
+ | Area | File(s) | Notes |
57
+ | ---------------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------ |
58
+ | Tool registration | `src/server/mcp/server.ts` | Add/remove tool handlers; keep descriptors in separate file. |
59
+ | Tool schemas & text guidance | `src/server/mcp/tools-data.ts` | Use `zod` schemas; detailed descriptions help AI reasoning. |
60
+ | Filters logic | `src/server/mcp/filters.ts` | Converts structured JSON filters into OData `$filter` strings. |
61
+ | Prompts | `src/server/mcp/prompts-data.ts` | Pre-baked instructional prompts consumed by clients. |
62
+ | Creatio API | `src/creatio/services/*` | `CreatioServiceContext` composes auth + http client + providers; extend providers instead of bypassing them. |
63
+ | OAuth for clients | `src/server/oauth/*` | Maintains tokens for MCP clients; ephemeral memory by default. |
64
+
65
+ ## 4. Invariants & Rules (Do NOT Break)
66
+
67
+ 1. All date/time fields passed to Creatio MUST be UTC ISO8601 with `Z` suffix.
68
+ 2. Activity creation: Always set `OwnerId` and `AuthorId` to current user's ContactId obtained via `get-current-user-info` unless user explicitly specifies another owner.
69
+ 3. Avoid adding blocking network calls in tool descriptors—descriptors must be static; logic belongs in handlers.
70
+ 4. Never silently swallow errors coming from Creatio—log via `log.error` then rethrow.
71
+ 5. Keep tool names stable: lowercase kebab-case (e.g. `execute-process`).
72
+ 6. Keep authentication precedence: Authorization Code > Client Credentials > Legacy.
73
+ 7. Do not leak secrets or access tokens in tool responses.
74
+ 8. `READONLY_MODE=true` must guarantee no mutation tools (`create`, `update`, `delete`, `execute-process`) are registered.
75
+
76
+ ## 5. Adding a New Tool (Checklist)
77
+
78
+ 1. Define input shape in `tools-data.ts` using `zod`.
79
+ 2. Provide rich description (include examples, edge cases, warnings).
80
+ 3. Export descriptor & input schema.
81
+ 4. Register in `server.ts` via `_registerHandlerWithDescriptor` (respect readonly mode if mutating).
82
+ 5. Implement the handler by calling the appropriate provider on the `CreatioServiceContext` (via `CreatioEngineManager`); if functionality is missing, extend or add a provider under `src/creatio/services` rather than issuing raw fetch calls.
83
+ 6. Ensure responses are formatted as `{ content: [{ type: 'text', text: JSON.stringify(result) }] }` when not already MCP native.
84
+ 7. Add edge-case validation (empty arrays, invalid GUID, missing required filter fields).
85
+ 8. Update documentation (README if public feature; otherwise just Agent.md).
86
+
87
+ ## 6. Error Handling Pattern
88
+
89
+ - Use `try/catch` in handlers ONLY if you need to wrap/transform the error.
90
+ - Log with contextual tag: `log.error('mcp.tool.handler', err)`.
91
+ - Throw the original error afterward (MCP layer will relay).
92
+ - For validation failures rely on `withValidation(...)` wrapper.
93
+
94
+ ## 7. Logging Guidelines
95
+
96
+ - Use `log.info('mcp.tool.register', { tool })` when registering tools.
97
+ - Use `log.warn` for non-fatal recoverable issues (e.g., partial data fetch).
98
+ - Use `log.error` strictly for failures that abort the operation.
99
+
100
+ ## 8. Performance Considerations
101
+
102
+ - Prefer `select` + `expand` to limit payload size; educate users via descriptor text.
103
+ - Batch calls carefully—avoid sequential redundant reads if data already provided.
104
+ - Avoid adding expensive synchronous CPU logic inside handlers.
105
+
106
+ ## 9. Security & Safety
107
+
108
+ - Never echo passwords or client secrets back to clients.
109
+ - Strip or mask token-like values if accidentally included in objects.
110
+ - Validate GUID format (8-4-4-4-12 hex) when exposing user input into queries.
111
+
112
+ ## 10. Testing (Minimal Approach)
113
+
114
+ Currently no formal test suite. For quick validation:
115
+
116
+ - Start server locally (`npm start`) and manually invoke tools from an MCP client.
117
+ - Consider adding lightweight Jest tests for filter builder and client methods (future enhancement).
118
+
119
+ ## 11. Versioning & Release
120
+
121
+ - Increment `package.json` version; code reads dynamically via `src/version.ts`.
122
+ - Use semantic prefixes in commits: `feat:`, `fix:`, `docs:`, `chore:`.
123
+ - Tag releases: `git tag vX.Y.Z && git push --tags` (manual unless automated later).
124
+
125
+ ## 12. Common Edge Cases
126
+
127
+ | Case | Mitigation |
128
+ | ----------------------------------------- | -------------------------------------------------------------- |
129
+ | Empty `select` array supplied | Preprocess to `undefined` (already handled) |
130
+ | Mixed raw `filter` + structured `filters` | Combine with `and` parenthesized in handler |
131
+ | Invalid GUID quoting | Provide guidance text + possible pre-validation before sending |
132
+ | Large result sets | Encourage `top` param (<200 recommended) |
133
+ | Readonly mode attempt to mutate | Ensure mutation tools not registered |
134
+
135
+ ## 13. Extending Authentication
136
+
137
+ If adding new auth provider:
138
+
139
+ 1. Create provider under `src/creatio/auth/providers/` implementing shared interface.
140
+ 2. Add selection logic in `auth-manager.ts` maintaining precedence ordering.
141
+ 3. Document environment variables clearly in README + Agent.md.
142
+
143
+ ## 14. Prompts Extension
144
+
145
+ - Add new prompt object in `prompts-data.ts` (`name`, `title`, `description`, `argsSchema`, `callback`).
146
+ - Keep names unique and descriptive.
147
+ - Avoid external network calls inside prompt callbacks.
148
+
149
+ ## 15. Code Style
150
+
151
+ Baseline rules live in `docs/coding-style.md`. Highlights:
152
+
153
+ - Keep TypeScript strict (avoid `any`, prefer explicit interfaces).
154
+ - Follow the class-member ordering guide (readonly fields → fields → getters → setters → constructor → methods, each ordered `private → protected → public`).
155
+ - Prefix private fields/methods with `_`.
156
+ - Use existing utility wrappers (e.g., `withValidation`).
157
+ - Keep functions small; single responsibility.
158
+ - Reuse logging tags already established.
159
+
160
+ ## 16. What NOT To Do
161
+
162
+ - Do not reintroduce removed tools (`search`, `fetch`) unless strong justification & design review.
163
+ - Do not bypass `CreatioServiceContext`/providers with raw fetch calls scattered in handlers.
164
+ - Do not embed long multi-megabyte payloads in commit history (limit sample data).
165
+
166
+ ## 17. Quick Start for Agent Changes
167
+
168
+ 1. Make code edits.
169
+ 2. Run `npm run build` to ensure TypeScript passes.
170
+ 3. Optionally lint: `npm run lint`.
171
+ 4. Commit using conventional message.
172
+ 5. Push; consider tag if version bump.
173
+
174
+ ## 18. Future Enhancements (Suggestions)
175
+
176
+ - Add Jest test suite for filter builder + auth flows.
177
+ - Implement persistent token storage (e.g., file/Redis) for OAuth tokens.
178
+ - Add rate limiting to prevent excessive query load.
179
+ - Provide structured error codes instead of raw messages.
180
+
181
+ ## 19. Contact Points
182
+
183
+ If you need business logic clarification, check existing descriptor guidance first. Many patterns (date handling, ownership) are documented inline in `tools-data.ts`.
184
+
185
+ ---
186
+
187
+ **Summary:** Focus on safe MCP tool extension around Creatio CRM. Preserve invariants, keep descriptors rich, centralize API interactions, and avoid leaking credentials.
package/Debug.md ADDED
@@ -0,0 +1,32 @@
1
+ # Debug Guide
2
+
3
+ ## PowerShell ISE Quick Start
4
+
5
+ 1. Open **Windows PowerShell ISE (x64)** with the working directory set to the project root.
6
+ 2. Copy the snippet below into a new script tab (for example, save it as `debug-creatio.ps1`).
7
+ 3. Update the placeholder values to match your Creatio instance.
8
+ 4. Press `F5` (or click **Run Script**) to launch the server with the desired environment.
9
+
10
+ ```powershell
11
+ # debug-creatio.ps1
12
+ # Sets temporary environment variables for the current ISE session
13
+ # and starts the MCP Creatio server in development mode.
14
+
15
+ $env:CREATIO_BASE_URL = "https://your-creatio.com"
16
+ $env:CREATIO_LOGIN = "your_login"
17
+ $env:CREATIO_PASSWORD = "your_password"
18
+
19
+ # Optional: adjust logging verbosity or other flags here
20
+ # $env:LOG_LEVEL = "debug"
21
+
22
+ # Start the server with the configured environment
23
+ npm start
24
+ ```
25
+
26
+ ### Notes
27
+
28
+ - Environment variables assigned with `$env:` live only for the current ISE session; close the session to clear them.
29
+ - If you prefer reusable configuration, convert the snippet into a standalone `.ps1` file and commit the real credentials to a secure secrets manager instead of the repository.
30
+ - When debugging authentication, consider leveraging the existing logging utilities in `src/log.ts` to inspect token exchange flows.
31
+ - For deeper tracing (e.g., OAuth callback handling), set breakpoints in `src/server/http/creatio-oauth-handlers.ts` and `src/server/mcp/server.ts` before running the script.
32
+ - The `Debug MCP Creatio` configuration in `.vscode/launch.json` mirrors these environment variables; adjust the placeholder values there to attach VS Code's debugger directly to `npm start`.
package/Dockerfile ADDED
@@ -0,0 +1,23 @@
1
+ # Minimal Dockerfile for MCP Creatio Server
2
+ # Builds and runs with ts-node (no separate build step)
3
+
4
+ FROM node:20-alpine AS base
5
+
6
+ # App directory
7
+ WORKDIR /app
8
+
9
+ # Install production and dev deps (ts-node, types)
10
+ COPY package.json package-lock.json* ./
11
+ RUN npm ci || npm install
12
+
13
+ # Copy source
14
+ COPY . .
15
+
16
+ # Environment (override at runtime)
17
+ ENV PORT=3000
18
+
19
+ # Expose MCP HTTP port
20
+ EXPOSE 3000
21
+
22
+ # Start the server (ts-node)
23
+ CMD ["npm", "run", "start"]
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Andrii Vanikhin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,162 @@
1
+ # MCP Creatio Server
2
+
3
+ Model Context Protocol (MCP) server for Creatio (https://www.creatio.com/) - connect Claude Desktop, ChatGPT, and other AI tools to your Creatio data.
4
+
5
+ ## Overview
6
+
7
+ - Exposes Creatio data as MCP tools for MCP-compatible clients (Claude Desktop, ChatGPT Connectors, GitHub Copilot)
8
+ - Supports reading, creating, updating, deleting records and inspecting schema
9
+ - Execute Creatio business processes with parameters
10
+ - Uses Creatio OData v4 API under the hood
11
+
12
+ ## Features
13
+
14
+ - **CRUD operations**: `read`, `create`, `update`, `delete` Creatio records
15
+ - **Schema discovery**: `list-entities`, `describe-entity`
16
+ - **Business processes**: `execute-process` to run Creatio workflows
17
+ - **System settings**: `create-sys-setting`, `update-sys-setting-definition`, `query-sys-settings`, and `set-sys-settings-value` to create, adjust metadata, inspect, or assign values
18
+ - **AI assistant compatibility**: Claude Desktop, ChatGPT Connectors, GitHub Copilot
19
+ - **Three authentication modes**: Legacy login/password, OAuth2 client credentials, OAuth2 authorization code
20
+ - **Built-in OAuth server**: Automatic MCP client authentication
21
+ - **Docker ready**: Multi-arch images available
22
+
23
+ ## Quick Start
24
+
25
+ 1. Set environment variables (see below)
26
+ 2. Run: `npm start` or use Docker
27
+
28
+ ## Command (stdio) mode
29
+
30
+ You can run the server as a command (no separate HTTP `/mcp` endpoint) so MCP clients can connect over stdio directly.
31
+
32
+ ### Direct command
33
+
34
+ ```bash
35
+ npx -y mcp-creatio \
36
+ --base-url https://your-creatio.com \
37
+ --login YourLogin \
38
+ --password YourPassword
39
+ ```
40
+
41
+ Default transport for CLI is `stdio`.
42
+
43
+ ### MCP client config example (command-based)
44
+
45
+ ```json
46
+ {
47
+ "creatio": {
48
+ "command": "npx",
49
+ "args": [
50
+ "-y",
51
+ "mcp-creatio",
52
+ "--base-url",
53
+ "https://your-creatio.com",
54
+ "--login",
55
+ "YourLogin",
56
+ "--password",
57
+ "YourPassword"
58
+ ]
59
+ }
60
+ }
61
+ ```
62
+
63
+ ### Local repo (analogue without publishing)
64
+
65
+ ```bash
66
+ npm run start:stdio -- --base-url https://your-creatio.com --login YourLogin --password YourPassword
67
+ ```
68
+
69
+ ## Configuration
70
+
71
+ | Variable | Description |
72
+ | ---------------------------- | -------------------------------------------------------------------- |
73
+ | `CREATIO_BASE_URL` | **Required**. Creatio instance URL (e.g. `https://your-creatio.com`) |
74
+ | `CREATIO_LOGIN` | Username for legacy auth |
75
+ | `CREATIO_PASSWORD` | Password for legacy auth |
76
+ | `CREATIO_CLIENT_ID` | OAuth2 client credentials ID |
77
+ | `CREATIO_CLIENT_SECRET` | OAuth2 client credentials secret |
78
+ | `CREATIO_ID_BASE_URL` | Identity Service URL (if separate from main Creatio instance) |
79
+ | `CREATIO_CODE_CLIENT_ID` | OAuth2 authorization code client ID |
80
+ | `CREATIO_CODE_CLIENT_SECRET` | OAuth2 authorization code client secret |
81
+ | `CREATIO_CODE_REDIRECT_URI` | OAuth2 redirect URI (e.g. `http://localhost:3000/oauth/callback`) |
82
+ | `CREATIO_CODE_SCOPE` | OAuth2 scope (e.g. `offline_access ApplicationAccess_yourappguid`) |
83
+ | `READONLY_MODE` | Set `true` to disable create/update/delete operations |
84
+
85
+ ## Authentication Modes
86
+
87
+ Choose one of three ways to authenticate with Creatio:
88
+
89
+ ### 1. Legacy (Username/Password)
90
+
91
+ ```bash
92
+ CREATIO_LOGIN=YourLogin
93
+ CREATIO_PASSWORD=YourPassword
94
+ ```
95
+
96
+ ### 2. OAuth2 Client Credentials
97
+
98
+ 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)
99
+
100
+ ```bash
101
+ CREATIO_CLIENT_ID=your_client_id
102
+ CREATIO_CLIENT_SECRET=your_client_secret
103
+ ```
104
+
105
+ ### 3. OAuth2 Authorization Code
106
+
107
+ 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)
108
+
109
+ ```bash
110
+ CREATIO_CODE_CLIENT_ID=your_client_id
111
+ CREATIO_CODE_CLIENT_SECRET=your_client_secret
112
+ CREATIO_CODE_REDIRECT_URI=http://localhost:3000/oauth/callback
113
+ CREATIO_CODE_SCOPE="offline_access ApplicationAccess_yourappguid"
114
+ ```
115
+
116
+ **Note**: Currently uses in-memory storage for OAuth tokens. Tokens will be lost on server restart.
117
+
118
+ **Priority**: Authorization Code > Client Credentials > Legacy
119
+
120
+ ## MCP Client Authentication
121
+
122
+ 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.
123
+
124
+ ## Examples
125
+
126
+ ### Node.js (Legacy Auth)
127
+
128
+ ```bash
129
+ export CREATIO_BASE_URL="https://your-creatio.com"
130
+ export CREATIO_LOGIN="YourLogin"
131
+ export CREATIO_PASSWORD="YourPassword"
132
+ npm start
133
+ ```
134
+
135
+ ### Docker (Legacy Auth)
136
+
137
+ ```bash
138
+ docker run --rm -p 3000:3000 \
139
+ -e CREATIO_BASE_URL="https://your-creatio.com" \
140
+ -e CREATIO_LOGIN="YourLogin" \
141
+ -e CREATIO_PASSWORD="YourPassword" \
142
+ crackish/mcp-creatio
143
+ ```
144
+
145
+ ## Available Tools
146
+
147
+ | Tool | Description |
148
+ | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
149
+ | `get-current-user-info` | Fetches the Creatio contact details for the authenticated MCP user |
150
+ | `list-entities` | List all available entity sets |
151
+ | `describe-entity` | Get schema for entity (fields, types, keys) |
152
+ | `read` | Query records with optional filters |
153
+ | `create` | Create new record |
154
+ | `update` | Update existing record |
155
+ | `delete` | Delete record |
156
+ | `execute-process` | Run Creatio business processes |
157
+ | `query-sys-settings` | Retrieve the current values and metadata for one or more sys settings |
158
+ | `set-sys-settings-value` | Update one or more sys settings via PostSysSettingsValues |
159
+ | `create-sys-setting` | Create a new sys setting record and optional initial value assignment |
160
+ | `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. |
161
+
162
+ > **Note**: Previously documented `search`/`fetch` helper tools (for a specific connector workflow) have been removed as they are no longer required.
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}