mcp-creatio 0.3.7 → 0.3.10

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.
package/README.md CHANGED
@@ -1,8 +1,17 @@
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
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
6
15
 
7
16
  - Exposes Creatio data as MCP tools for MCP-compatible clients (Claude Desktop, ChatGPT Connectors, GitHub Copilot)
8
17
  - Supports reading, creating, updating, deleting records and inspecting schema
@@ -42,6 +51,8 @@ npx -y mcp-creatio \
42
51
  --password your_password
43
52
  ```
44
53
 
54
+ `stdio` logs are disabled by default. To enable them, set `MCP_CREATIO_LOG_LEVEL` or pass `--log-level info`.
55
+
45
56
  VS Code MCP config (command-based):
46
57
 
47
58
  ```json
@@ -104,10 +115,11 @@ Then connect using URL:
104
115
  | `CREATIO_CLIENT_SECRET` | OAuth2 client credentials secret |
105
116
  | `CREATIO_ID_BASE_URL` | Identity Service URL (if separate from main Creatio instance) |
106
117
  | `CREATIO_CODE_CLIENT_ID` | OAuth2 authorization code client ID |
107
- | `CREATIO_CODE_CLIENT_SECRET` | OAuth2 authorization code client secret |
108
- | `CREATIO_CODE_REDIRECT_URI` | OAuth2 redirect URI (e.g. `http://localhost:3000/oauth/callback`) |
109
- | `CREATIO_CODE_SCOPE` | OAuth2 scope (e.g. `offline_access ApplicationAccess_yourappguid`) |
110
- | `READONLY_MODE` | Set `true` to disable create/update/delete operations |
118
+ | `CREATIO_CODE_CLIENT_SECRET` | OAuth2 authorization code client secret |
119
+ | `CREATIO_CODE_REDIRECT_URI` | OAuth2 redirect URI (e.g. `http://localhost:3000/oauth/callback`) |
120
+ | `CREATIO_CODE_SCOPE` | OAuth2 scope (e.g. `offline_access ApplicationAccess_yourappguid`) |
121
+ | `READONLY_MODE` | Set `true` to disable create/update/delete operations |
122
+ | `MCP_CREATIO_LOG_LEVEL` | Log verbosity: `silent` (default), `error`, `warn`, `info` |
111
123
 
112
124
  ## Authentication Modes
113
125
 
package/dist/cli.js CHANGED
@@ -22,11 +22,13 @@ Options:
22
22
  --url <url> Alias for --base-url
23
23
  --login <value> Creatio login (legacy auth)
24
24
  --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
- -h, --help Show this help
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
30
32
 
31
33
  Examples:
32
34
  mcp-creatio --base-url https://tenant.creatio.com --login your_login --password your_password
@@ -78,6 +80,7 @@ function applyCliEnv(opts) {
78
80
  setEnvIfDefined('CREATIO_CLIENT_SECRET', opts['client-secret']);
79
81
  setEnvIfDefined('CREATIO_ID_BASE_URL', opts['id-base-url']);
80
82
  setEnvIfDefined('READONLY_MODE', opts.readonly);
83
+ setEnvIfDefined('MCP_CREATIO_LOG_LEVEL', opts['log-level']);
81
84
  }
82
85
  async function startStdio(server) {
83
86
  const mcp = await server.startMcp();
@@ -105,6 +108,7 @@ async function main() {
105
108
  printHelp();
106
109
  return;
107
110
  }
111
+ log_1.default.useStderrOnlyLogs();
108
112
  applyCliEnv(opts);
109
113
  const cfg = (0, config_builder_1.getCreatioClientConfig)();
110
114
  if (cfg.auth.kind === creatio_1.AuthProviderType.OAuth2Code) {
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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"}
package/dist/log.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export type LogLevel = 'info' | 'warn' | 'error';
2
+ export type LogVerbosity = LogLevel | 'silent';
2
3
  export type CreatioAuthKind = 'legacy' | 'oauth2' | 'oauth2_code';
3
4
  export interface LogConfig {
4
5
  level?: LogLevel;
@@ -6,6 +7,7 @@ export interface LogConfig {
6
7
  export declare function setCorrelationId(correlationId: string): void;
7
8
  export declare function getCorrelationId(): string | undefined;
8
9
  export declare function clearCorrelationId(): void;
10
+ export declare function useStderrOnlyLogs(): void;
9
11
  export declare function info(msg: string, meta?: Record<string, any>): void;
10
12
  export declare function warn(msg: string, meta?: Record<string, any>): void;
11
13
  export declare function error(msg: string, meta?: Record<string, any>): void;
@@ -28,6 +30,7 @@ declare const _default: {
28
30
  info: typeof info;
29
31
  warn: typeof warn;
30
32
  error: typeof error;
33
+ useStderrOnlyLogs: typeof useStderrOnlyLogs;
31
34
  appStart: typeof appStart;
32
35
  appStop: typeof appStop;
33
36
  serverStart: typeof serverStart;
package/dist/log.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
package/dist/log.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setCorrelationId = setCorrelationId;
4
4
  exports.getCorrelationId = getCorrelationId;
5
5
  exports.clearCorrelationId = clearCorrelationId;
6
+ exports.useStderrOnlyLogs = useStderrOnlyLogs;
6
7
  exports.info = info;
7
8
  exports.warn = warn;
8
9
  exports.error = error;
@@ -22,6 +23,33 @@ exports.httpResponse = httpResponse;
22
23
  exports.httpError = httpError;
23
24
  exports.logOperation = logOperation;
24
25
  let _correlationId;
26
+ let _stderrOnly = false;
27
+ function resolveLogVerbosity() {
28
+ const raw = (process.env.MCP_CREATIO_LOG_LEVEL || 'silent').toLowerCase();
29
+ if (raw === 'info') {
30
+ return 'info';
31
+ }
32
+ if (raw === 'warn' || raw === 'warning') {
33
+ return 'warn';
34
+ }
35
+ if (raw === 'error') {
36
+ return 'error';
37
+ }
38
+ return 'silent';
39
+ }
40
+ function shouldLog(level) {
41
+ const verbosity = resolveLogVerbosity();
42
+ if (verbosity === 'silent') {
43
+ return false;
44
+ }
45
+ if (verbosity === 'error') {
46
+ return level === 'error';
47
+ }
48
+ if (verbosity === 'warn') {
49
+ return level === 'warn' || level === 'error';
50
+ }
51
+ return true;
52
+ }
25
53
  function setCorrelationId(correlationId) {
26
54
  _correlationId = correlationId;
27
55
  }
@@ -35,6 +63,9 @@ function timestamp() {
35
63
  return new Date().toISOString();
36
64
  }
37
65
  function output(level, msg, meta) {
66
+ if (!shouldLog(level)) {
67
+ return;
68
+ }
38
69
  const entry = { ts: timestamp(), level, msg };
39
70
  if (_correlationId) {
40
71
  entry.correlationId = _correlationId;
@@ -43,6 +74,10 @@ function output(level, msg, meta) {
43
74
  entry.meta = meta;
44
75
  }
45
76
  const line = JSON.stringify(entry);
77
+ if (_stderrOnly) {
78
+ process.stderr.write(line + '\n');
79
+ return;
80
+ }
46
81
  if (level === 'error') {
47
82
  console.error(line);
48
83
  }
@@ -53,6 +88,9 @@ function output(level, msg, meta) {
53
88
  console.log(line);
54
89
  }
55
90
  }
91
+ function useStderrOnlyLogs() {
92
+ _stderrOnly = true;
93
+ }
56
94
  function info(msg, meta) {
57
95
  output('info', msg, meta);
58
96
  }
@@ -115,6 +153,7 @@ exports.default = {
115
153
  info,
116
154
  warn,
117
155
  error,
156
+ useStderrOnlyLogs,
118
157
  appStart,
119
158
  appStop,
120
159
  serverStart,
package/dist/log.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-creatio",
3
- "version": "0.3.7",
3
+ "version": "0.3.10",
4
4
  "main": "dist/index.js",
5
5
  "bin": {
6
6
  "mcp-creatio": "dist/cli.js"
@@ -23,14 +23,27 @@
23
23
  "type": "git",
24
24
  "url": "git+https://github.com/CRACKISH/mcp-creatio.git"
25
25
  },
26
- "keywords": [],
26
+ "keywords": [
27
+ "mcp",
28
+ "model-context-protocol",
29
+ "creatio",
30
+ "creatio-crm",
31
+ "crm",
32
+ "odata",
33
+ "mcp-server",
34
+ "chatgpt",
35
+ "claude",
36
+ "github-copilot",
37
+ "typescript",
38
+ "ai-tools"
39
+ ],
27
40
  "author": "",
28
41
  "license": "MIT",
29
42
  "bugs": {
30
43
  "url": "https://github.com/CRACKISH/mcp-creatio/issues"
31
44
  },
32
45
  "homepage": "https://github.com/CRACKISH/mcp-creatio#readme",
33
- "description": "",
46
+ "description": "MCP server for Creatio CRM. Connect Claude Desktop, ChatGPT, and GitHub Copilot to Creatio via Model Context Protocol and OData v4.",
34
47
  "devDependencies": {
35
48
  "@types/express": "5.0.6",
36
49
  "@types/node": "^25.3.0",
package/src/cli.ts CHANGED
@@ -26,11 +26,13 @@ Options:
26
26
  --url <url> Alias for --base-url
27
27
  --login <value> Creatio login (legacy auth)
28
28
  --password <value> Creatio password (legacy auth)
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
- -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
34
36
 
35
37
  Examples:
36
38
  mcp-creatio --base-url https://tenant.creatio.com --login your_login --password your_password
@@ -87,10 +89,11 @@ function applyCliEnv(opts: CliOptions): void {
87
89
  setEnvIfDefined('CREATIO_LOGIN', opts.login);
88
90
  setEnvIfDefined('CREATIO_PASSWORD', opts.password);
89
91
  setEnvIfDefined('CREATIO_CLIENT_ID', opts['client-id']);
90
- setEnvIfDefined('CREATIO_CLIENT_SECRET', opts['client-secret']);
91
- setEnvIfDefined('CREATIO_ID_BASE_URL', opts['id-base-url']);
92
- setEnvIfDefined('READONLY_MODE', opts.readonly);
93
- }
92
+ setEnvIfDefined('CREATIO_CLIENT_SECRET', opts['client-secret']);
93
+ setEnvIfDefined('CREATIO_ID_BASE_URL', opts['id-base-url']);
94
+ setEnvIfDefined('READONLY_MODE', opts.readonly);
95
+ setEnvIfDefined('MCP_CREATIO_LOG_LEVEL', opts['log-level']);
96
+ }
94
97
 
95
98
  async function startStdio(server: Server): Promise<void> {
96
99
  const mcp = await server.startMcp();
@@ -114,15 +117,16 @@ async function shutdown(signal: string, state: RuntimeState): Promise<void> {
114
117
  }
115
118
  }
116
119
 
117
- async function main(): Promise<void> {
118
- const opts = parseArgs(process.argv.slice(2));
119
- if (opts.help === 'true') {
120
- printHelp();
121
- return;
122
- }
123
-
124
- applyCliEnv(opts);
125
- const cfg = getCreatioClientConfig();
120
+ async function main(): Promise<void> {
121
+ const opts = parseArgs(process.argv.slice(2));
122
+ if (opts.help === 'true') {
123
+ printHelp();
124
+ return;
125
+ }
126
+
127
+ log.useStderrOnlyLogs();
128
+ applyCliEnv(opts);
129
+ const cfg = getCreatioClientConfig();
126
130
 
127
131
  if (cfg.auth.kind === AuthProviderType.OAuth2Code) {
128
132
  throw new Error(
package/src/log.ts CHANGED
@@ -1,11 +1,41 @@
1
- export type LogLevel = 'info' | 'warn' | 'error';
2
- export type CreatioAuthKind = 'legacy' | 'oauth2' | 'oauth2_code';
1
+ export type LogLevel = 'info' | 'warn' | 'error';
2
+ export type LogVerbosity = LogLevel | 'silent';
3
+ export type CreatioAuthKind = 'legacy' | 'oauth2' | 'oauth2_code';
3
4
 
4
- export interface LogConfig {
5
- level?: LogLevel;
6
- }
7
-
8
- let _correlationId: string | undefined;
5
+ export interface LogConfig {
6
+ level?: LogLevel;
7
+ }
8
+
9
+ let _correlationId: string | undefined;
10
+ let _stderrOnly = false;
11
+
12
+ function resolveLogVerbosity(): LogVerbosity {
13
+ const raw = (process.env.MCP_CREATIO_LOG_LEVEL || 'silent').toLowerCase();
14
+ if (raw === 'info') {
15
+ return 'info';
16
+ }
17
+ if (raw === 'warn' || raw === 'warning') {
18
+ return 'warn';
19
+ }
20
+ if (raw === 'error') {
21
+ return 'error';
22
+ }
23
+ return 'silent';
24
+ }
25
+
26
+ function shouldLog(level: LogLevel): boolean {
27
+ const verbosity = resolveLogVerbosity();
28
+ if (verbosity === 'silent') {
29
+ return false;
30
+ }
31
+ if (verbosity === 'error') {
32
+ return level === 'error';
33
+ }
34
+ if (verbosity === 'warn') {
35
+ return level === 'warn' || level === 'error';
36
+ }
37
+ return true;
38
+ }
9
39
 
10
40
  export function setCorrelationId(correlationId: string) {
11
41
  _correlationId = correlationId;
@@ -23,23 +53,34 @@ function timestamp() {
23
53
  return new Date().toISOString();
24
54
  }
25
55
 
26
- function output(level: LogLevel, msg: string, meta?: Record<string, any>) {
27
- const entry: any = { ts: timestamp(), level, msg };
56
+ function output(level: LogLevel, msg: string, meta?: Record<string, any>) {
57
+ if (!shouldLog(level)) {
58
+ return;
59
+ }
60
+ const entry: any = { ts: timestamp(), level, msg };
28
61
  if (_correlationId) {
29
62
  entry.correlationId = _correlationId;
30
63
  }
31
64
  if (meta && Object.keys(meta).length) {
32
65
  entry.meta = meta;
33
66
  }
34
- const line = JSON.stringify(entry);
35
- if (level === 'error') {
36
- console.error(line);
37
- } else if (level === 'warn') {
38
- console.warn(line);
39
- } else {
40
- console.log(line);
41
- }
42
- }
67
+ const line = JSON.stringify(entry);
68
+ if (_stderrOnly) {
69
+ process.stderr.write(line + '\n');
70
+ return;
71
+ }
72
+ if (level === 'error') {
73
+ console.error(line);
74
+ } else if (level === 'warn') {
75
+ console.warn(line);
76
+ } else {
77
+ console.log(line);
78
+ }
79
+ }
80
+
81
+ export function useStderrOnlyLogs() {
82
+ _stderrOnly = true;
83
+ }
43
84
 
44
85
  export function info(msg: string, meta?: Record<string, any>) {
45
86
  output('info', msg, meta);
@@ -116,11 +157,12 @@ export function logOperation(
116
157
  });
117
158
  }
118
159
 
119
- export default {
120
- info,
121
- warn,
122
- error,
123
- appStart,
160
+ export default {
161
+ info,
162
+ warn,
163
+ error,
164
+ useStderrOnlyLogs,
165
+ appStart,
124
166
  appStop,
125
167
  serverStart,
126
168
  serverStop,
@@ -1,17 +0,0 @@
1
- {
2
- "apps": [
3
- {
4
- "name": "mcp-creatio",
5
- "cwd": "C:/Projects/mcp-creatio",
6
- "script": "dist/index.js",
7
- "node_args": "",
8
- "env": {
9
- "CREATIO_BASE_URL": "http://tscore-dev-18:88/sae_m_seeenu_12458081_1106",
10
- "CREATIO_LOGIN": "your_login",
11
- "CREATIO_PASSWORD": "your_password",
12
- "PORT": "7700",
13
- "HOST": "0.0.0.0"
14
- }
15
- }
16
- ]
17
- }