bitrix24-tasks-mcp-server 1.0.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.
- package/README.md +115 -0
- package/build/bitrix24/client.d.ts +73 -0
- package/build/bitrix24/client.d.ts.map +1 -0
- package/build/bitrix24/client.js +414 -0
- package/build/bitrix24/client.js.map +1 -0
- package/build/config/index.d.ts +6 -0
- package/build/config/index.d.ts.map +1 -0
- package/build/config/index.js +8 -0
- package/build/config/index.js.map +1 -0
- package/build/index.d.ts +3 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +56 -0
- package/build/index.js.map +1 -0
- package/build/tools/index.d.ts +33 -0
- package/build/tools/index.d.ts.map +1 -0
- package/build/tools/index.js +439 -0
- package/build/tools/index.js.map +1 -0
- package/build/utils/logger.d.ts +7 -0
- package/build/utils/logger.d.ts.map +1 -0
- package/build/utils/logger.js +17 -0
- package/build/utils/logger.js.map +1 -0
- package/package.json +44 -0
package/build/index.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
3
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, ErrorCode, McpError, } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
+
import { allTools, executeToolCall } from './tools/index.js';
|
|
6
|
+
// Initialize the MCP server
|
|
7
|
+
const server = new Server({
|
|
8
|
+
name: 'bitrix24-mcp-server',
|
|
9
|
+
version: '1.0.0',
|
|
10
|
+
capabilities: {
|
|
11
|
+
tools: {}
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
// Handle tool listing
|
|
15
|
+
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
16
|
+
console.error('Listing available Bitrix24 tools...');
|
|
17
|
+
return {
|
|
18
|
+
tools: allTools
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
// Handle tool execution
|
|
22
|
+
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
23
|
+
const { name, arguments: args } = request.params;
|
|
24
|
+
console.error(`Executing tool: ${name} with args:`, JSON.stringify(args, null, 2));
|
|
25
|
+
try {
|
|
26
|
+
const result = await executeToolCall(name, args || {});
|
|
27
|
+
return {
|
|
28
|
+
content: [
|
|
29
|
+
{
|
|
30
|
+
type: 'text',
|
|
31
|
+
text: JSON.stringify(result, null, 2)
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
console.error(`Tool execution failed [${name}]:`, error);
|
|
38
|
+
if (error instanceof McpError) {
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
throw new McpError(ErrorCode.InternalError, `Tool execution failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
// Start the server
|
|
45
|
+
async function main() {
|
|
46
|
+
console.error('Starting Bitrix24 MCP Server...');
|
|
47
|
+
console.error('Available tools:', allTools.map(t => t.name).join(', '));
|
|
48
|
+
const transport = new StdioServerTransport();
|
|
49
|
+
await server.connect(transport);
|
|
50
|
+
console.error('Bitrix24 MCP Server running on stdio transport');
|
|
51
|
+
}
|
|
52
|
+
main().catch((error) => {
|
|
53
|
+
console.error('Fatal error:', error);
|
|
54
|
+
process.exit(1);
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,EACT,QAAQ,GACT,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE7D,4BAA4B;AAC5B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;IACxB,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CAAC,CAAC;AAEH,sBAAsB;AACtB,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACrD,OAAO;QACL,KAAK,EAAE,QAAQ;KAChB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,wBAAwB;AACxB,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAEvD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC;QAEzD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACjD,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAExE,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;AAClE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
export declare const createTaskTool: Tool;
|
|
3
|
+
export declare const getTaskTool: Tool;
|
|
4
|
+
export declare const listTasksTool: Tool;
|
|
5
|
+
export declare const getLatestTasksTool: Tool;
|
|
6
|
+
export declare const getTasksFromDateRangeTool: Tool;
|
|
7
|
+
export declare const updateTaskTool: Tool;
|
|
8
|
+
export declare const createProjectTool: Tool;
|
|
9
|
+
export declare const getProjectTool: Tool;
|
|
10
|
+
export declare const listProjectsTool: Tool;
|
|
11
|
+
export declare const updateProjectTool: Tool;
|
|
12
|
+
export declare const searchTasksProjectsTool: Tool;
|
|
13
|
+
export declare const validateWebhookTool: Tool;
|
|
14
|
+
export declare const diagnosePermissionsTool: Tool;
|
|
15
|
+
export declare const getUserTool: Tool;
|
|
16
|
+
export declare const getAllUsersTool: Tool;
|
|
17
|
+
export declare const resolveUserNamesTool: Tool;
|
|
18
|
+
export declare const allTools: import("zod").objectOutputType<{
|
|
19
|
+
name: import("zod").ZodString;
|
|
20
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
21
|
+
inputSchema: import("zod").ZodObject<{
|
|
22
|
+
type: import("zod").ZodLiteral<"object">;
|
|
23
|
+
properties: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
24
|
+
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
25
|
+
type: import("zod").ZodLiteral<"object">;
|
|
26
|
+
properties: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
27
|
+
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
28
|
+
type: import("zod").ZodLiteral<"object">;
|
|
29
|
+
properties: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
30
|
+
}, import("zod").ZodTypeAny, "passthrough">>;
|
|
31
|
+
}, import("zod").ZodTypeAny, "passthrough">[];
|
|
32
|
+
export declare function executeToolCall(name: string, args: any): Promise<any>;
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI1D,eAAO,MAAM,cAAc,EAAE,IAqB5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,IAUzB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,IA2B3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,IAShC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,IAYvC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,IAyB5B,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,IAkB/B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,IAU5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,IAsB9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,IA4B/B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,IAarC,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,IAOjC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,IAOrC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,IAUzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,IAO7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,IAclC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;6CAiBpB,CAAC;AAEF,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAqL3E"}
|
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
import { bitrix24Client } from '../bitrix24/client.js';
|
|
2
|
+
// Task Management Tools
|
|
3
|
+
export const createTaskTool = {
|
|
4
|
+
name: 'bitrix24_create_task',
|
|
5
|
+
description: 'Create a new task in Bitrix24',
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {
|
|
9
|
+
title: { type: 'string', description: 'Task title' },
|
|
10
|
+
description: { type: 'string', description: 'Task description' },
|
|
11
|
+
responsibleId: { type: 'string', description: 'Responsible user ID' },
|
|
12
|
+
creatorId: { type: 'string', description: 'Creator user ID' },
|
|
13
|
+
projectId: { type: 'string', description: 'Project/group ID (GROUP_ID)' },
|
|
14
|
+
deadline: { type: 'string', description: 'Deadline (ISO 8601)' },
|
|
15
|
+
priority: {
|
|
16
|
+
type: 'string',
|
|
17
|
+
enum: ['0', '1', '2'],
|
|
18
|
+
description: '0=Low, 1=Normal, 2=High',
|
|
19
|
+
default: '1'
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
required: ['title']
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
export const getTaskTool = {
|
|
26
|
+
name: 'bitrix24_get_task',
|
|
27
|
+
description: 'Retrieve task information by ID',
|
|
28
|
+
inputSchema: {
|
|
29
|
+
type: 'object',
|
|
30
|
+
properties: {
|
|
31
|
+
id: { type: 'string', description: 'Task ID' }
|
|
32
|
+
},
|
|
33
|
+
required: ['id']
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
export const listTasksTool = {
|
|
37
|
+
name: 'bitrix24_list_tasks',
|
|
38
|
+
description: 'List tasks with optional filtering and ordering',
|
|
39
|
+
inputSchema: {
|
|
40
|
+
type: 'object',
|
|
41
|
+
properties: {
|
|
42
|
+
limit: { type: 'number', description: 'Maximum number of tasks to return', default: 20 },
|
|
43
|
+
onlyMy: {
|
|
44
|
+
type: 'boolean',
|
|
45
|
+
description: 'Return only tasks where current webhook user is responsible',
|
|
46
|
+
default: true
|
|
47
|
+
},
|
|
48
|
+
filter: { type: 'object', description: 'Bitrix24 tasks filter object' },
|
|
49
|
+
orderBy: {
|
|
50
|
+
type: 'string',
|
|
51
|
+
enum: ['CREATED_DATE', 'CHANGED_DATE', 'DEADLINE', 'ID', 'TITLE'],
|
|
52
|
+
description: 'Field to order by',
|
|
53
|
+
default: 'CREATED_DATE'
|
|
54
|
+
},
|
|
55
|
+
orderDirection: {
|
|
56
|
+
type: 'string',
|
|
57
|
+
enum: ['ASC', 'DESC'],
|
|
58
|
+
description: 'Order direction',
|
|
59
|
+
default: 'DESC'
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
export const getLatestTasksTool = {
|
|
65
|
+
name: 'bitrix24_get_latest_tasks',
|
|
66
|
+
description: 'Get the most recent tasks ordered by creation date',
|
|
67
|
+
inputSchema: {
|
|
68
|
+
type: 'object',
|
|
69
|
+
properties: {
|
|
70
|
+
limit: { type: 'number', description: 'Maximum number of tasks to return', default: 20 }
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
export const getTasksFromDateRangeTool = {
|
|
75
|
+
name: 'bitrix24_get_tasks_from_date_range',
|
|
76
|
+
description: 'Get tasks created within a specific date range',
|
|
77
|
+
inputSchema: {
|
|
78
|
+
type: 'object',
|
|
79
|
+
properties: {
|
|
80
|
+
startDate: { type: 'string', description: 'Start date in YYYY-MM-DD format' },
|
|
81
|
+
endDate: { type: 'string', description: 'End date in YYYY-MM-DD format (optional)' },
|
|
82
|
+
limit: { type: 'number', description: 'Maximum number of tasks to return', default: 50 }
|
|
83
|
+
},
|
|
84
|
+
required: ['startDate']
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
export const updateTaskTool = {
|
|
88
|
+
name: 'bitrix24_update_task',
|
|
89
|
+
description: 'Update an existing task in Bitrix24',
|
|
90
|
+
inputSchema: {
|
|
91
|
+
type: 'object',
|
|
92
|
+
properties: {
|
|
93
|
+
id: { type: 'string', description: 'Task ID' },
|
|
94
|
+
title: { type: 'string', description: 'Task title' },
|
|
95
|
+
description: { type: 'string', description: 'Task description' },
|
|
96
|
+
responsibleId: { type: 'string', description: 'Responsible user ID' },
|
|
97
|
+
projectId: { type: 'string', description: 'Project/group ID (GROUP_ID)' },
|
|
98
|
+
deadline: { type: 'string', description: 'Deadline (ISO 8601)' },
|
|
99
|
+
priority: {
|
|
100
|
+
type: 'string',
|
|
101
|
+
enum: ['0', '1', '2'],
|
|
102
|
+
description: '0=Low, 1=Normal, 2=High'
|
|
103
|
+
},
|
|
104
|
+
status: {
|
|
105
|
+
type: 'string',
|
|
106
|
+
enum: ['1', '2', '3', '4', '5'],
|
|
107
|
+
description: '1=New, 2=Pending, 3=In Progress, 4=Completed, 5=Deferred'
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
required: ['id']
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
// Project Management Tools
|
|
114
|
+
export const createProjectTool = {
|
|
115
|
+
name: 'bitrix24_create_project',
|
|
116
|
+
description: 'Create a new workgroup/project in Bitrix24',
|
|
117
|
+
inputSchema: {
|
|
118
|
+
type: 'object',
|
|
119
|
+
properties: {
|
|
120
|
+
name: { type: 'string', description: 'Project name' },
|
|
121
|
+
description: { type: 'string', description: 'Project description' },
|
|
122
|
+
ownerId: { type: 'string', description: 'Owner user ID' },
|
|
123
|
+
opened: {
|
|
124
|
+
type: 'string',
|
|
125
|
+
enum: ['Y', 'N'],
|
|
126
|
+
description: 'Visibility flag (Y=public, N=private)',
|
|
127
|
+
default: 'N'
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
required: ['name']
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
export const getProjectTool = {
|
|
134
|
+
name: 'bitrix24_get_project',
|
|
135
|
+
description: 'Retrieve project information by ID',
|
|
136
|
+
inputSchema: {
|
|
137
|
+
type: 'object',
|
|
138
|
+
properties: {
|
|
139
|
+
id: { type: 'string', description: 'Project ID' }
|
|
140
|
+
},
|
|
141
|
+
required: ['id']
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
export const listProjectsTool = {
|
|
145
|
+
name: 'bitrix24_list_projects',
|
|
146
|
+
description: 'List projects/workgroups with optional filtering',
|
|
147
|
+
inputSchema: {
|
|
148
|
+
type: 'object',
|
|
149
|
+
properties: {
|
|
150
|
+
limit: { type: 'number', description: 'Maximum number of projects to return', default: 20 },
|
|
151
|
+
filter: { type: 'object', description: 'Bitrix24 project filter object' },
|
|
152
|
+
orderBy: {
|
|
153
|
+
type: 'string',
|
|
154
|
+
enum: ['ID', 'NAME', 'DATE_CREATE', 'DATE_UPDATE'],
|
|
155
|
+
description: 'Field to order by',
|
|
156
|
+
default: 'DATE_CREATE'
|
|
157
|
+
},
|
|
158
|
+
orderDirection: {
|
|
159
|
+
type: 'string',
|
|
160
|
+
enum: ['ASC', 'DESC'],
|
|
161
|
+
description: 'Order direction',
|
|
162
|
+
default: 'DESC'
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
export const updateProjectTool = {
|
|
168
|
+
name: 'bitrix24_update_project',
|
|
169
|
+
description: 'Update an existing project/workgroup in Bitrix24',
|
|
170
|
+
inputSchema: {
|
|
171
|
+
type: 'object',
|
|
172
|
+
properties: {
|
|
173
|
+
id: { type: 'string', description: 'Project ID' },
|
|
174
|
+
name: { type: 'string', description: 'Project name' },
|
|
175
|
+
description: { type: 'string', description: 'Project description' },
|
|
176
|
+
ownerId: { type: 'string', description: 'Owner user ID' },
|
|
177
|
+
opened: {
|
|
178
|
+
type: 'string',
|
|
179
|
+
enum: ['Y', 'N'],
|
|
180
|
+
description: 'Visibility flag (Y=public, N=private)'
|
|
181
|
+
},
|
|
182
|
+
closed: {
|
|
183
|
+
type: 'string',
|
|
184
|
+
enum: ['Y', 'N'],
|
|
185
|
+
description: 'Close/open project'
|
|
186
|
+
},
|
|
187
|
+
active: {
|
|
188
|
+
type: 'string',
|
|
189
|
+
enum: ['Y', 'N'],
|
|
190
|
+
description: 'Activate/deactivate project'
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
required: ['id']
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
export const searchTasksProjectsTool = {
|
|
197
|
+
name: 'bitrix24_search_tasks_projects',
|
|
198
|
+
description: 'Search tasks and projects by title/name and description',
|
|
199
|
+
inputSchema: {
|
|
200
|
+
type: 'object',
|
|
201
|
+
properties: {
|
|
202
|
+
query: { type: 'string', description: 'Search query text' },
|
|
203
|
+
includeTasks: { type: 'boolean', description: 'Search in tasks', default: true },
|
|
204
|
+
includeProjects: { type: 'boolean', description: 'Search in projects', default: true },
|
|
205
|
+
limit: { type: 'number', description: 'Maximum number of entities per type', default: 20 }
|
|
206
|
+
},
|
|
207
|
+
required: ['query']
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
// Integration and User tools
|
|
211
|
+
export const validateWebhookTool = {
|
|
212
|
+
name: 'bitrix24_validate_webhook',
|
|
213
|
+
description: 'Validate Bitrix24 webhook connection for tasks/projects scope',
|
|
214
|
+
inputSchema: {
|
|
215
|
+
type: 'object',
|
|
216
|
+
properties: {}
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
export const diagnosePermissionsTool = {
|
|
220
|
+
name: 'bitrix24_diagnose_permissions',
|
|
221
|
+
description: 'Diagnose webhook permissions for tasks and projects endpoints',
|
|
222
|
+
inputSchema: {
|
|
223
|
+
type: 'object',
|
|
224
|
+
properties: {}
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
export const getUserTool = {
|
|
228
|
+
name: 'bitrix24_get_user',
|
|
229
|
+
description: 'Get user information by ID',
|
|
230
|
+
inputSchema: {
|
|
231
|
+
type: 'object',
|
|
232
|
+
properties: {
|
|
233
|
+
userId: { type: 'string', description: 'User ID to retrieve' }
|
|
234
|
+
},
|
|
235
|
+
required: ['userId']
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
export const getAllUsersTool = {
|
|
239
|
+
name: 'bitrix24_get_all_users',
|
|
240
|
+
description: 'Get all users in the system',
|
|
241
|
+
inputSchema: {
|
|
242
|
+
type: 'object',
|
|
243
|
+
properties: {}
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
export const resolveUserNamesTool = {
|
|
247
|
+
name: 'bitrix24_resolve_user_names',
|
|
248
|
+
description: 'Resolve user IDs to user names',
|
|
249
|
+
inputSchema: {
|
|
250
|
+
type: 'object',
|
|
251
|
+
properties: {
|
|
252
|
+
userIds: {
|
|
253
|
+
type: 'array',
|
|
254
|
+
items: { type: 'string' },
|
|
255
|
+
description: 'Array of user IDs to resolve to names'
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
required: ['userIds']
|
|
259
|
+
}
|
|
260
|
+
};
|
|
261
|
+
export const allTools = [
|
|
262
|
+
createTaskTool,
|
|
263
|
+
getTaskTool,
|
|
264
|
+
listTasksTool,
|
|
265
|
+
getLatestTasksTool,
|
|
266
|
+
getTasksFromDateRangeTool,
|
|
267
|
+
updateTaskTool,
|
|
268
|
+
createProjectTool,
|
|
269
|
+
getProjectTool,
|
|
270
|
+
listProjectsTool,
|
|
271
|
+
updateProjectTool,
|
|
272
|
+
searchTasksProjectsTool,
|
|
273
|
+
validateWebhookTool,
|
|
274
|
+
diagnosePermissionsTool,
|
|
275
|
+
getUserTool,
|
|
276
|
+
getAllUsersTool,
|
|
277
|
+
resolveUserNamesTool
|
|
278
|
+
];
|
|
279
|
+
export async function executeToolCall(name, args) {
|
|
280
|
+
try {
|
|
281
|
+
switch (name) {
|
|
282
|
+
case 'bitrix24_create_task': {
|
|
283
|
+
const task = {
|
|
284
|
+
TITLE: args.title,
|
|
285
|
+
DESCRIPTION: args.description,
|
|
286
|
+
RESPONSIBLE_ID: args.responsibleId,
|
|
287
|
+
CREATED_BY: args.creatorId,
|
|
288
|
+
GROUP_ID: args.projectId,
|
|
289
|
+
DEADLINE: args.deadline,
|
|
290
|
+
PRIORITY: args.priority || '1'
|
|
291
|
+
};
|
|
292
|
+
const taskId = await bitrix24Client.createTask(task);
|
|
293
|
+
return { success: true, taskId, message: `Task created with ID: ${taskId}` };
|
|
294
|
+
}
|
|
295
|
+
case 'bitrix24_get_task': {
|
|
296
|
+
const task = await bitrix24Client.getTask(args.id);
|
|
297
|
+
return { success: true, task };
|
|
298
|
+
}
|
|
299
|
+
case 'bitrix24_list_tasks': {
|
|
300
|
+
const onlyMy = args.onlyMy !== false;
|
|
301
|
+
const taskParams = {
|
|
302
|
+
start: 0
|
|
303
|
+
};
|
|
304
|
+
const mergedFilter = { ...(args.filter || {}) };
|
|
305
|
+
if (onlyMy && !mergedFilter.RESPONSIBLE_ID) {
|
|
306
|
+
const currentUser = await bitrix24Client.getCurrentUser();
|
|
307
|
+
const currentUserId = currentUser?.ID || currentUser?.id;
|
|
308
|
+
if (currentUserId) {
|
|
309
|
+
mergedFilter.RESPONSIBLE_ID = String(currentUserId);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
if (Object.keys(mergedFilter).length > 0) {
|
|
313
|
+
taskParams.filter = mergedFilter;
|
|
314
|
+
}
|
|
315
|
+
if (args.orderBy) {
|
|
316
|
+
const taskOrder = {};
|
|
317
|
+
taskOrder[args.orderBy] = args.orderDirection || 'DESC';
|
|
318
|
+
taskParams.order = taskOrder;
|
|
319
|
+
}
|
|
320
|
+
const tasks = await bitrix24Client.listTasks(taskParams);
|
|
321
|
+
return { success: true, tasks: tasks.slice(0, args.limit || 20) };
|
|
322
|
+
}
|
|
323
|
+
case 'bitrix24_get_latest_tasks': {
|
|
324
|
+
const latestTasks = await bitrix24Client.getLatestTasks(args.limit || 20);
|
|
325
|
+
return { success: true, tasks: latestTasks };
|
|
326
|
+
}
|
|
327
|
+
case 'bitrix24_get_tasks_from_date_range': {
|
|
328
|
+
const dateRangeTasks = await bitrix24Client.getTasksFromDateRange(args.startDate, args.endDate, args.limit || 50);
|
|
329
|
+
return { success: true, tasks: dateRangeTasks };
|
|
330
|
+
}
|
|
331
|
+
case 'bitrix24_update_task': {
|
|
332
|
+
const updateTask = {};
|
|
333
|
+
if (args.title)
|
|
334
|
+
updateTask.TITLE = args.title;
|
|
335
|
+
if (args.description)
|
|
336
|
+
updateTask.DESCRIPTION = args.description;
|
|
337
|
+
if (args.responsibleId)
|
|
338
|
+
updateTask.RESPONSIBLE_ID = args.responsibleId;
|
|
339
|
+
if (args.projectId)
|
|
340
|
+
updateTask.GROUP_ID = args.projectId;
|
|
341
|
+
if (args.deadline)
|
|
342
|
+
updateTask.DEADLINE = args.deadline;
|
|
343
|
+
if (args.priority)
|
|
344
|
+
updateTask.PRIORITY = args.priority;
|
|
345
|
+
if (args.status)
|
|
346
|
+
updateTask.STATUS = args.status;
|
|
347
|
+
const updated = await bitrix24Client.updateTask(args.id, updateTask);
|
|
348
|
+
return { success: true, updated, message: `Task ${args.id} updated successfully` };
|
|
349
|
+
}
|
|
350
|
+
case 'bitrix24_create_project': {
|
|
351
|
+
const project = {
|
|
352
|
+
NAME: args.name,
|
|
353
|
+
DESCRIPTION: args.description,
|
|
354
|
+
OWNER_ID: args.ownerId,
|
|
355
|
+
OPENED: args.opened || 'N'
|
|
356
|
+
};
|
|
357
|
+
const projectId = await bitrix24Client.createProject(project);
|
|
358
|
+
return { success: true, projectId, message: `Project created with ID: ${projectId}` };
|
|
359
|
+
}
|
|
360
|
+
case 'bitrix24_get_project': {
|
|
361
|
+
const project = await bitrix24Client.getProject(args.id);
|
|
362
|
+
return { success: true, project };
|
|
363
|
+
}
|
|
364
|
+
case 'bitrix24_list_projects': {
|
|
365
|
+
const projectOrder = {};
|
|
366
|
+
projectOrder[args.orderBy || 'DATE_CREATE'] = args.orderDirection || 'DESC';
|
|
367
|
+
const projects = await bitrix24Client.listProjects({
|
|
368
|
+
filter: args.filter,
|
|
369
|
+
order: projectOrder,
|
|
370
|
+
start: 0
|
|
371
|
+
});
|
|
372
|
+
return { success: true, projects: projects.slice(0, args.limit || 20) };
|
|
373
|
+
}
|
|
374
|
+
case 'bitrix24_update_project': {
|
|
375
|
+
const projectPatch = {};
|
|
376
|
+
if (args.name)
|
|
377
|
+
projectPatch.NAME = args.name;
|
|
378
|
+
if (args.description)
|
|
379
|
+
projectPatch.DESCRIPTION = args.description;
|
|
380
|
+
if (args.ownerId)
|
|
381
|
+
projectPatch.OWNER_ID = args.ownerId;
|
|
382
|
+
if (args.opened)
|
|
383
|
+
projectPatch.OPENED = args.opened;
|
|
384
|
+
if (args.closed)
|
|
385
|
+
projectPatch.CLOSED = args.closed;
|
|
386
|
+
if (args.active)
|
|
387
|
+
projectPatch.ACTIVE = args.active;
|
|
388
|
+
const updated = await bitrix24Client.updateProject(args.id, projectPatch);
|
|
389
|
+
return { success: true, updated, message: `Project ${args.id} updated successfully` };
|
|
390
|
+
}
|
|
391
|
+
case 'bitrix24_search_tasks_projects': {
|
|
392
|
+
const results = await bitrix24Client.searchTasksAndProjects(args.query, {
|
|
393
|
+
includeTasks: args.includeTasks,
|
|
394
|
+
includeProjects: args.includeProjects,
|
|
395
|
+
limit: args.limit
|
|
396
|
+
});
|
|
397
|
+
return {
|
|
398
|
+
success: true,
|
|
399
|
+
results,
|
|
400
|
+
message: `Found ${results.tasks.length} tasks and ${results.projects.length} projects`
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
case 'bitrix24_validate_webhook': {
|
|
404
|
+
const isValid = await bitrix24Client.validateWebhook();
|
|
405
|
+
return {
|
|
406
|
+
success: true,
|
|
407
|
+
valid: isValid,
|
|
408
|
+
message: isValid ? 'Webhook is valid' : 'Webhook validation failed'
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
case 'bitrix24_diagnose_permissions': {
|
|
412
|
+
const diagnosis = await bitrix24Client.diagnosePermissions();
|
|
413
|
+
return { success: true, diagnosis };
|
|
414
|
+
}
|
|
415
|
+
case 'bitrix24_get_user': {
|
|
416
|
+
const user = await bitrix24Client.getUser(args.userId);
|
|
417
|
+
return { success: true, user };
|
|
418
|
+
}
|
|
419
|
+
case 'bitrix24_get_all_users': {
|
|
420
|
+
const users = await bitrix24Client.getAllUsers();
|
|
421
|
+
return { success: true, users, message: `Found ${users.length} users` };
|
|
422
|
+
}
|
|
423
|
+
case 'bitrix24_resolve_user_names': {
|
|
424
|
+
const userNames = await bitrix24Client.resolveUserNames(args.userIds);
|
|
425
|
+
return { success: true, userNames, message: `Resolved ${Object.keys(userNames).length} user names` };
|
|
426
|
+
}
|
|
427
|
+
default:
|
|
428
|
+
throw new Error(`Unknown tool: ${name}`);
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
catch (error) {
|
|
432
|
+
console.error(`Tool execution error [${name}]:`, error);
|
|
433
|
+
return {
|
|
434
|
+
success: false,
|
|
435
|
+
error: error instanceof Error ? error.message : String(error)
|
|
436
|
+
};
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare class Logger {
|
|
2
|
+
static info(message: string, data?: any): void;
|
|
3
|
+
static error(message: string, error?: any): void;
|
|
4
|
+
static warn(message: string, data?: any): void;
|
|
5
|
+
static debug(message: string, data?: any): void;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM;IACjB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAIvC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG;IAIzC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAIvC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;CAKzC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export class Logger {
|
|
2
|
+
static info(message, data) {
|
|
3
|
+
console.error(`[INFO] ${new Date().toISOString()}: ${message}`, data || '');
|
|
4
|
+
}
|
|
5
|
+
static error(message, error) {
|
|
6
|
+
console.error(`[ERROR] ${new Date().toISOString()}: ${message}`, error || '');
|
|
7
|
+
}
|
|
8
|
+
static warn(message, data) {
|
|
9
|
+
console.error(`[WARN] ${new Date().toISOString()}: ${message}`, data || '');
|
|
10
|
+
}
|
|
11
|
+
static debug(message, data) {
|
|
12
|
+
if (process.env.NODE_ENV === 'development') {
|
|
13
|
+
console.error(`[DEBUG] ${new Date().toISOString()}: ${message}`, data || '');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IACjB,MAAM,CAAC,IAAI,CAAC,OAAe,EAAE,IAAU;QACrC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe,EAAE,KAAW;QACvC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAe,EAAE,IAAU;QACrC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe,EAAE,IAAU;QACtC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;CACF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "bitrix24-tasks-mcp-server",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Bitrix24 MCP server for tasks, projects, and users",
|
|
6
|
+
"main": "build/index.js",
|
|
7
|
+
"types": "build/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": "./build/index.js"
|
|
10
|
+
},
|
|
11
|
+
"bin": {
|
|
12
|
+
"bitrix24-mcp": "./build/index.js"
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"prebuild": "node -e \"const fs = require('fs'); if (!fs.existsSync('build')) fs.mkdirSync('build', {recursive: true});\"",
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"build:unix": "tsc && chmod +x build/index.js",
|
|
18
|
+
"dev": "tsc --watch",
|
|
19
|
+
"start": "node build/index.js",
|
|
20
|
+
"test": "node test/integration.test.js",
|
|
21
|
+
"prepublishOnly": "npm run build",
|
|
22
|
+
"azure:start": "node build/index.js"
|
|
23
|
+
},
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=18.0.0",
|
|
26
|
+
"npm": ">=8.0.0"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"build"
|
|
30
|
+
],
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@modelcontextprotocol/sdk": "^0.4.0",
|
|
33
|
+
"zod": "^3.22.4",
|
|
34
|
+
"node-fetch": "^3.3.2"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@types/node": "^20.10.0",
|
|
38
|
+
"@types/node-fetch": "^2.6.9",
|
|
39
|
+
"typescript": "^5.3.0"
|
|
40
|
+
},
|
|
41
|
+
"keywords": ["mcp", "bitrix24", "tasks", "projects", "automation"],
|
|
42
|
+
"author": "Your Name",
|
|
43
|
+
"license": "MIT"
|
|
44
|
+
}
|