@doist/todoist-ai 0.1.1 → 0.1.2
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/dist/cjs/index.js +72 -47
- package/dist/cjs/main.js +11 -6
- package/dist/cjs/mcp-helpers.js +3 -1
- package/dist/cjs/mcp-server.js +52 -50
- package/dist/cjs/todoist-tool.js +2 -1
- package/dist/cjs/tools/account-overview.js +4 -1
- package/dist/cjs/tools/project-overview.js +8 -5
- package/dist/cjs/tools/projects-add-one.js +8 -5
- package/dist/cjs/tools/projects-delete-one.js +6 -3
- package/dist/cjs/tools/projects-list.js +7 -4
- package/dist/cjs/tools/projects-search.js +10 -7
- package/dist/cjs/tools/projects-update-one.js +7 -4
- package/dist/cjs/tools/sections-add-one.js +7 -4
- package/dist/cjs/tools/sections-delete-one.js +6 -3
- package/dist/cjs/tools/sections-search.js +7 -4
- package/dist/cjs/tools/sections-update-one.js +7 -4
- package/dist/cjs/tools/shared.js +18 -11
- package/dist/cjs/tools/subtasks-list-for-parent-task.js +10 -7
- package/dist/cjs/tools/tasks-add-multiple.js +16 -13
- package/dist/cjs/tools/tasks-by-date-range.js +15 -12
- package/dist/cjs/tools/tasks-by-project.js +10 -7
- package/dist/cjs/tools/tasks-complete-multiple.js +7 -4
- package/dist/cjs/tools/tasks-delete-one.js +6 -3
- package/dist/cjs/tools/tasks-list-for-section.js +10 -7
- package/dist/cjs/tools/tasks-list-overdue.js +9 -6
- package/dist/cjs/tools/tasks-organize-multiple.js +12 -9
- package/dist/cjs/tools/tasks-search.js +10 -7
- package/dist/cjs/tools/tasks-update-one.js +13 -10
- package/package.json +1 -1
- package/dist/cjs/index.d.ts +0 -477
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/main.d.ts +0 -2
- package/dist/cjs/main.d.ts.map +0 -1
- package/dist/cjs/mcp-helpers.d.ts +0 -13
- package/dist/cjs/mcp-helpers.d.ts.map +0 -1
- package/dist/cjs/mcp-server.d.ts +0 -11
- package/dist/cjs/mcp-server.d.ts.map +0 -1
- package/dist/cjs/todoist-tool.d.ts +0 -35
- package/dist/cjs/todoist-tool.d.ts.map +0 -1
- package/dist/cjs/tools/account-overview.d.ts +0 -9
- package/dist/cjs/tools/account-overview.d.ts.map +0 -1
- package/dist/cjs/tools/project-overview.d.ts +0 -14
- package/dist/cjs/tools/project-overview.d.ts.map +0 -1
- package/dist/cjs/tools/projects-add-one.d.ts +0 -22
- package/dist/cjs/tools/projects-add-one.d.ts.map +0 -1
- package/dist/cjs/tools/projects-delete-one.d.ts +0 -15
- package/dist/cjs/tools/projects-delete-one.d.ts.map +0 -1
- package/dist/cjs/tools/projects-list.d.ts +0 -18
- package/dist/cjs/tools/projects-list.d.ts.map +0 -1
- package/dist/cjs/tools/projects-search.d.ts +0 -29
- package/dist/cjs/tools/projects-search.d.ts.map +0 -1
- package/dist/cjs/tools/projects-update-one.d.ts +0 -15
- package/dist/cjs/tools/projects-update-one.d.ts.map +0 -1
- package/dist/cjs/tools/sections-add-one.d.ts +0 -15
- package/dist/cjs/tools/sections-add-one.d.ts.map +0 -1
- package/dist/cjs/tools/sections-delete-one.d.ts +0 -15
- package/dist/cjs/tools/sections-delete-one.d.ts.map +0 -1
- package/dist/cjs/tools/sections-search.d.ts +0 -18
- package/dist/cjs/tools/sections-search.d.ts.map +0 -1
- package/dist/cjs/tools/sections-update-one.d.ts +0 -15
- package/dist/cjs/tools/sections-update-one.d.ts.map +0 -1
- package/dist/cjs/tools/shared.d.ts +0 -55
- package/dist/cjs/tools/shared.d.ts.map +0 -1
- package/dist/cjs/tools/subtasks-list-for-parent-task.d.ts +0 -31
- package/dist/cjs/tools/subtasks-list-for-parent-task.d.ts.map +0 -1
- package/dist/cjs/tools/tasks-add-multiple.d.ts +0 -50
- package/dist/cjs/tools/tasks-add-multiple.d.ts.map +0 -1
- package/dist/cjs/tools/tasks-by-date-range.d.ts +0 -33
- package/dist/cjs/tools/tasks-by-date-range.d.ts.map +0 -1
- package/dist/cjs/tools/tasks-by-project.d.ts +0 -31
- package/dist/cjs/tools/tasks-by-project.d.ts.map +0 -1
- package/dist/cjs/tools/tasks-complete-multiple.d.ts +0 -16
- package/dist/cjs/tools/tasks-complete-multiple.d.ts.map +0 -1
- package/dist/cjs/tools/tasks-delete-one.d.ts +0 -15
- package/dist/cjs/tools/tasks-delete-one.d.ts.map +0 -1
- package/dist/cjs/tools/tasks-list-for-section.d.ts +0 -31
- package/dist/cjs/tools/tasks-list-for-section.d.ts.map +0 -1
- package/dist/cjs/tools/tasks-list-overdue.d.ts +0 -29
- package/dist/cjs/tools/tasks-list-overdue.d.ts.map +0 -1
- package/dist/cjs/tools/tasks-organize-multiple.d.ts +0 -37
- package/dist/cjs/tools/tasks-organize-multiple.d.ts.map +0 -1
- package/dist/cjs/tools/tasks-search.d.ts +0 -31
- package/dist/cjs/tools/tasks-search.d.ts.map +0 -1
- package/dist/cjs/tools/tasks-update-one.d.ts +0 -27
- package/dist/cjs/tools/tasks-update-one.d.ts.map +0 -1
package/dist/cjs/index.js
CHANGED
|
@@ -1,49 +1,74 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.projectOverview = exports.accountOverview = exports.subtasksListForParentTask = exports.tasksListForSection = exports.tasksOrganizeMultiple = exports.tasksUpdateOne = exports.tasksAddMultiple = exports.tasksSearch = exports.tasksListOverdue = exports.tasksListForProject = exports.tasksCompleteMultiple = exports.tasksDeleteOne = exports.tasksListByDate = exports.sectionsDeleteOne = exports.sectionsUpdateOne = exports.sectionsAddOne = exports.sectionsSearch = exports.projectsDeleteOne = exports.projectsUpdateOne = exports.projectsAddOne = exports.projectsSearch = exports.projectsList = exports.getMcpServer = exports.tools = void 0;
|
|
4
|
+
const mcp_server_js_1 = require("./mcp-server.js");
|
|
5
|
+
Object.defineProperty(exports, "getMcpServer", { enumerable: true, get: function () { return mcp_server_js_1.getMcpServer; } });
|
|
6
|
+
const projects_add_one_js_1 = require("./tools/projects-add-one.js");
|
|
7
|
+
Object.defineProperty(exports, "projectsAddOne", { enumerable: true, get: function () { return projects_add_one_js_1.projectsAddOne; } });
|
|
8
|
+
const projects_delete_one_js_1 = require("./tools/projects-delete-one.js");
|
|
9
|
+
Object.defineProperty(exports, "projectsDeleteOne", { enumerable: true, get: function () { return projects_delete_one_js_1.projectsDeleteOne; } });
|
|
10
|
+
const projects_list_js_1 = require("./tools/projects-list.js");
|
|
11
|
+
Object.defineProperty(exports, "projectsList", { enumerable: true, get: function () { return projects_list_js_1.projectsList; } });
|
|
12
|
+
const projects_search_js_1 = require("./tools/projects-search.js");
|
|
13
|
+
Object.defineProperty(exports, "projectsSearch", { enumerable: true, get: function () { return projects_search_js_1.projectsSearch; } });
|
|
14
|
+
const projects_update_one_js_1 = require("./tools/projects-update-one.js");
|
|
15
|
+
Object.defineProperty(exports, "projectsUpdateOne", { enumerable: true, get: function () { return projects_update_one_js_1.projectsUpdateOne; } });
|
|
16
|
+
const sections_add_one_js_1 = require("./tools/sections-add-one.js");
|
|
17
|
+
Object.defineProperty(exports, "sectionsAddOne", { enumerable: true, get: function () { return sections_add_one_js_1.sectionsAddOne; } });
|
|
18
|
+
const sections_delete_one_js_1 = require("./tools/sections-delete-one.js");
|
|
19
|
+
Object.defineProperty(exports, "sectionsDeleteOne", { enumerable: true, get: function () { return sections_delete_one_js_1.sectionsDeleteOne; } });
|
|
20
|
+
const sections_search_js_1 = require("./tools/sections-search.js");
|
|
21
|
+
Object.defineProperty(exports, "sectionsSearch", { enumerable: true, get: function () { return sections_search_js_1.sectionsSearch; } });
|
|
22
|
+
const sections_update_one_js_1 = require("./tools/sections-update-one.js");
|
|
23
|
+
Object.defineProperty(exports, "sectionsUpdateOne", { enumerable: true, get: function () { return sections_update_one_js_1.sectionsUpdateOne; } });
|
|
24
|
+
const tasks_add_multiple_js_1 = require("./tools/tasks-add-multiple.js");
|
|
25
|
+
Object.defineProperty(exports, "tasksAddMultiple", { enumerable: true, get: function () { return tasks_add_multiple_js_1.tasksAddMultiple; } });
|
|
26
|
+
const tasks_by_date_range_js_1 = require("./tools/tasks-by-date-range.js");
|
|
27
|
+
Object.defineProperty(exports, "tasksListByDate", { enumerable: true, get: function () { return tasks_by_date_range_js_1.tasksListByDate; } });
|
|
28
|
+
const tasks_by_project_js_1 = require("./tools/tasks-by-project.js");
|
|
29
|
+
Object.defineProperty(exports, "tasksListForProject", { enumerable: true, get: function () { return tasks_by_project_js_1.tasksListForProject; } });
|
|
30
|
+
const tasks_complete_multiple_js_1 = require("./tools/tasks-complete-multiple.js");
|
|
31
|
+
Object.defineProperty(exports, "tasksCompleteMultiple", { enumerable: true, get: function () { return tasks_complete_multiple_js_1.tasksCompleteMultiple; } });
|
|
32
|
+
const tasks_delete_one_js_1 = require("./tools/tasks-delete-one.js");
|
|
33
|
+
Object.defineProperty(exports, "tasksDeleteOne", { enumerable: true, get: function () { return tasks_delete_one_js_1.tasksDeleteOne; } });
|
|
34
|
+
const tasks_list_for_section_js_1 = require("./tools/tasks-list-for-section.js");
|
|
35
|
+
Object.defineProperty(exports, "tasksListForSection", { enumerable: true, get: function () { return tasks_list_for_section_js_1.tasksListForSection; } });
|
|
36
|
+
const tasks_list_overdue_js_1 = require("./tools/tasks-list-overdue.js");
|
|
37
|
+
Object.defineProperty(exports, "tasksListOverdue", { enumerable: true, get: function () { return tasks_list_overdue_js_1.tasksListOverdue; } });
|
|
38
|
+
const tasks_organize_multiple_js_1 = require("./tools/tasks-organize-multiple.js");
|
|
39
|
+
Object.defineProperty(exports, "tasksOrganizeMultiple", { enumerable: true, get: function () { return tasks_organize_multiple_js_1.tasksOrganizeMultiple; } });
|
|
40
|
+
const tasks_search_js_1 = require("./tools/tasks-search.js");
|
|
41
|
+
Object.defineProperty(exports, "tasksSearch", { enumerable: true, get: function () { return tasks_search_js_1.tasksSearch; } });
|
|
42
|
+
const tasks_update_one_js_1 = require("./tools/tasks-update-one.js");
|
|
43
|
+
Object.defineProperty(exports, "tasksUpdateOne", { enumerable: true, get: function () { return tasks_update_one_js_1.tasksUpdateOne; } });
|
|
44
|
+
const subtasks_list_for_parent_task_js_1 = require("./tools/subtasks-list-for-parent-task.js");
|
|
45
|
+
Object.defineProperty(exports, "subtasksListForParentTask", { enumerable: true, get: function () { return subtasks_list_for_parent_task_js_1.subtasksListForParentTask; } });
|
|
46
|
+
const account_overview_js_1 = require("./tools/account-overview.js");
|
|
47
|
+
Object.defineProperty(exports, "accountOverview", { enumerable: true, get: function () { return account_overview_js_1.accountOverview; } });
|
|
48
|
+
const project_overview_js_1 = require("./tools/project-overview.js");
|
|
49
|
+
Object.defineProperty(exports, "projectOverview", { enumerable: true, get: function () { return project_overview_js_1.projectOverview; } });
|
|
24
50
|
const tools = {
|
|
25
|
-
projectsList,
|
|
26
|
-
projectsSearch,
|
|
27
|
-
projectsAddOne,
|
|
28
|
-
projectsUpdateOne,
|
|
29
|
-
projectsDeleteOne,
|
|
30
|
-
sectionsSearch,
|
|
31
|
-
sectionsAddOne,
|
|
32
|
-
sectionsUpdateOne,
|
|
33
|
-
sectionsDeleteOne,
|
|
34
|
-
tasksListByDate,
|
|
35
|
-
tasksDeleteOne,
|
|
36
|
-
tasksCompleteMultiple,
|
|
37
|
-
tasksListForProject,
|
|
38
|
-
tasksListOverdue,
|
|
39
|
-
tasksSearch,
|
|
40
|
-
tasksAddMultiple,
|
|
41
|
-
tasksUpdateOne,
|
|
42
|
-
tasksOrganizeMultiple,
|
|
43
|
-
tasksListForSection,
|
|
44
|
-
subtasksListForParentTask,
|
|
45
|
-
accountOverview,
|
|
46
|
-
projectOverview,
|
|
51
|
+
projectsList: projects_list_js_1.projectsList,
|
|
52
|
+
projectsSearch: projects_search_js_1.projectsSearch,
|
|
53
|
+
projectsAddOne: projects_add_one_js_1.projectsAddOne,
|
|
54
|
+
projectsUpdateOne: projects_update_one_js_1.projectsUpdateOne,
|
|
55
|
+
projectsDeleteOne: projects_delete_one_js_1.projectsDeleteOne,
|
|
56
|
+
sectionsSearch: sections_search_js_1.sectionsSearch,
|
|
57
|
+
sectionsAddOne: sections_add_one_js_1.sectionsAddOne,
|
|
58
|
+
sectionsUpdateOne: sections_update_one_js_1.sectionsUpdateOne,
|
|
59
|
+
sectionsDeleteOne: sections_delete_one_js_1.sectionsDeleteOne,
|
|
60
|
+
tasksListByDate: tasks_by_date_range_js_1.tasksListByDate,
|
|
61
|
+
tasksDeleteOne: tasks_delete_one_js_1.tasksDeleteOne,
|
|
62
|
+
tasksCompleteMultiple: tasks_complete_multiple_js_1.tasksCompleteMultiple,
|
|
63
|
+
tasksListForProject: tasks_by_project_js_1.tasksListForProject,
|
|
64
|
+
tasksListOverdue: tasks_list_overdue_js_1.tasksListOverdue,
|
|
65
|
+
tasksSearch: tasks_search_js_1.tasksSearch,
|
|
66
|
+
tasksAddMultiple: tasks_add_multiple_js_1.tasksAddMultiple,
|
|
67
|
+
tasksUpdateOne: tasks_update_one_js_1.tasksUpdateOne,
|
|
68
|
+
tasksOrganizeMultiple: tasks_organize_multiple_js_1.tasksOrganizeMultiple,
|
|
69
|
+
tasksListForSection: tasks_list_for_section_js_1.tasksListForSection,
|
|
70
|
+
subtasksListForParentTask: subtasks_list_for_parent_task_js_1.subtasksListForParentTask,
|
|
71
|
+
accountOverview: account_overview_js_1.accountOverview,
|
|
72
|
+
projectOverview: project_overview_js_1.projectOverview,
|
|
47
73
|
};
|
|
48
|
-
|
|
49
|
-
export { projectsList, projectsSearch, projectsAddOne, projectsUpdateOne, projectsDeleteOne, sectionsSearch, sectionsAddOne, sectionsUpdateOne, sectionsDeleteOne, tasksListByDate, tasksDeleteOne, tasksCompleteMultiple, tasksListForProject, tasksListOverdue, tasksSearch, tasksAddMultiple, tasksUpdateOne, tasksOrganizeMultiple, tasksListForSection, subtasksListForParentTask, accountOverview, projectOverview, };
|
|
74
|
+
exports.tools = tools;
|
package/dist/cjs/main.js
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
7
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
8
|
+
const mcp_server_js_1 = require("./mcp-server.js");
|
|
4
9
|
function main() {
|
|
5
10
|
const todoistApiKey = process.env.TODOIST_API_KEY;
|
|
6
11
|
if (!todoistApiKey) {
|
|
7
12
|
throw new Error("TODOIST_API_KEY is not set");
|
|
8
13
|
}
|
|
9
|
-
const server = getMcpServer({ todoistApiKey });
|
|
10
|
-
const transport = new StdioServerTransport();
|
|
14
|
+
const server = (0, mcp_server_js_1.getMcpServer)({ todoistApiKey });
|
|
15
|
+
const transport = new stdio_js_1.StdioServerTransport();
|
|
11
16
|
server
|
|
12
17
|
.connect(transport)
|
|
13
18
|
.then(() => {
|
|
@@ -19,5 +24,5 @@ function main() {
|
|
|
19
24
|
process.exit(1);
|
|
20
25
|
});
|
|
21
26
|
}
|
|
22
|
-
|
|
27
|
+
dotenv_1.default.config();
|
|
23
28
|
main();
|
package/dist/cjs/mcp-helpers.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerTool = registerTool;
|
|
1
4
|
function textContent(text) {
|
|
2
5
|
return {
|
|
3
6
|
content: [{ type: "text", text }],
|
|
@@ -49,4 +52,3 @@ function registerTool(tool, server, client) {
|
|
|
49
52
|
};
|
|
50
53
|
server.tool(tool.name, tool.description, tool.parameters, cb);
|
|
51
54
|
}
|
|
52
|
-
export { registerTool };
|
package/dist/cjs/mcp-server.js
CHANGED
|
@@ -1,28 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMcpServer = getMcpServer;
|
|
4
|
+
const todoist_api_typescript_1 = require("@doist/todoist-api-typescript");
|
|
5
|
+
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
6
|
+
const mcp_helpers_js_1 = require("./mcp-helpers.js");
|
|
7
|
+
const projects_add_one_js_1 = require("./tools/projects-add-one.js");
|
|
8
|
+
const projects_delete_one_js_1 = require("./tools/projects-delete-one.js");
|
|
9
|
+
const projects_list_js_1 = require("./tools/projects-list.js");
|
|
10
|
+
const projects_search_js_1 = require("./tools/projects-search.js");
|
|
11
|
+
const projects_update_one_js_1 = require("./tools/projects-update-one.js");
|
|
12
|
+
const sections_add_one_js_1 = require("./tools/sections-add-one.js");
|
|
13
|
+
const sections_delete_one_js_1 = require("./tools/sections-delete-one.js");
|
|
14
|
+
const sections_search_js_1 = require("./tools/sections-search.js");
|
|
15
|
+
const sections_update_one_js_1 = require("./tools/sections-update-one.js");
|
|
16
|
+
const subtasks_list_for_parent_task_js_1 = require("./tools/subtasks-list-for-parent-task.js");
|
|
17
|
+
const account_overview_js_1 = require("./tools/account-overview.js");
|
|
18
|
+
const project_overview_js_1 = require("./tools/project-overview.js");
|
|
19
|
+
const tasks_add_multiple_js_1 = require("./tools/tasks-add-multiple.js");
|
|
20
|
+
const tasks_by_date_range_js_1 = require("./tools/tasks-by-date-range.js");
|
|
21
|
+
const tasks_by_project_js_1 = require("./tools/tasks-by-project.js");
|
|
22
|
+
const tasks_complete_multiple_js_1 = require("./tools/tasks-complete-multiple.js");
|
|
23
|
+
const tasks_delete_one_js_1 = require("./tools/tasks-delete-one.js");
|
|
24
|
+
const tasks_list_for_section_js_1 = require("./tools/tasks-list-for-section.js");
|
|
25
|
+
const tasks_list_overdue_js_1 = require("./tools/tasks-list-overdue.js");
|
|
26
|
+
const tasks_organize_multiple_js_1 = require("./tools/tasks-organize-multiple.js");
|
|
27
|
+
const tasks_search_js_1 = require("./tools/tasks-search.js");
|
|
28
|
+
const tasks_update_one_js_1 = require("./tools/tasks-update-one.js");
|
|
26
29
|
const instructions = `
|
|
27
30
|
Tools to help you manage your todoist tasks.
|
|
28
31
|
`;
|
|
@@ -32,35 +35,34 @@ Tools to help you manage your todoist tasks.
|
|
|
32
35
|
* @returns the MCP server.
|
|
33
36
|
*/
|
|
34
37
|
function getMcpServer({ todoistApiKey }) {
|
|
35
|
-
const server = new McpServer({ name: "todoist-mcp-server", version: "0.1.0" }, {
|
|
38
|
+
const server = new mcp_js_1.McpServer({ name: "todoist-mcp-server", version: "0.1.0" }, {
|
|
36
39
|
capabilities: {
|
|
37
40
|
tools: { listChanged: true },
|
|
38
41
|
},
|
|
39
42
|
instructions,
|
|
40
43
|
});
|
|
41
|
-
const todoist = new TodoistApi(todoistApiKey);
|
|
42
|
-
registerTool(tasksListByDate, server, todoist);
|
|
43
|
-
registerTool(tasksListOverdue, server, todoist);
|
|
44
|
-
registerTool(tasksListForProject, server, todoist);
|
|
45
|
-
registerTool(tasksSearch, server, todoist);
|
|
46
|
-
registerTool(projectsList, server, todoist);
|
|
47
|
-
registerTool(tasksAddMultiple, server, todoist);
|
|
48
|
-
registerTool(tasksUpdateOne, server, todoist);
|
|
49
|
-
registerTool(tasksDeleteOne, server, todoist);
|
|
50
|
-
registerTool(tasksCompleteMultiple, server, todoist);
|
|
51
|
-
registerTool(projectsAddOne, server, todoist);
|
|
52
|
-
registerTool(projectsUpdateOne, server, todoist);
|
|
53
|
-
registerTool(sectionsAddOne, server, todoist);
|
|
54
|
-
registerTool(sectionsUpdateOne, server, todoist);
|
|
55
|
-
registerTool(tasksOrganizeMultiple, server, todoist);
|
|
56
|
-
registerTool(subtasksListForParentTask, server, todoist);
|
|
57
|
-
registerTool(tasksListForSection, server, todoist);
|
|
58
|
-
registerTool(projectsDeleteOne, server, todoist);
|
|
59
|
-
registerTool(projectsSearch, server, todoist);
|
|
60
|
-
registerTool(sectionsDeleteOne, server, todoist);
|
|
61
|
-
registerTool(sectionsSearch, server, todoist);
|
|
62
|
-
registerTool(accountOverview, server, todoist);
|
|
63
|
-
registerTool(projectOverview, server, todoist);
|
|
44
|
+
const todoist = new todoist_api_typescript_1.TodoistApi(todoistApiKey);
|
|
45
|
+
(0, mcp_helpers_js_1.registerTool)(tasks_by_date_range_js_1.tasksListByDate, server, todoist);
|
|
46
|
+
(0, mcp_helpers_js_1.registerTool)(tasks_list_overdue_js_1.tasksListOverdue, server, todoist);
|
|
47
|
+
(0, mcp_helpers_js_1.registerTool)(tasks_by_project_js_1.tasksListForProject, server, todoist);
|
|
48
|
+
(0, mcp_helpers_js_1.registerTool)(tasks_search_js_1.tasksSearch, server, todoist);
|
|
49
|
+
(0, mcp_helpers_js_1.registerTool)(projects_list_js_1.projectsList, server, todoist);
|
|
50
|
+
(0, mcp_helpers_js_1.registerTool)(tasks_add_multiple_js_1.tasksAddMultiple, server, todoist);
|
|
51
|
+
(0, mcp_helpers_js_1.registerTool)(tasks_update_one_js_1.tasksUpdateOne, server, todoist);
|
|
52
|
+
(0, mcp_helpers_js_1.registerTool)(tasks_delete_one_js_1.tasksDeleteOne, server, todoist);
|
|
53
|
+
(0, mcp_helpers_js_1.registerTool)(tasks_complete_multiple_js_1.tasksCompleteMultiple, server, todoist);
|
|
54
|
+
(0, mcp_helpers_js_1.registerTool)(projects_add_one_js_1.projectsAddOne, server, todoist);
|
|
55
|
+
(0, mcp_helpers_js_1.registerTool)(projects_update_one_js_1.projectsUpdateOne, server, todoist);
|
|
56
|
+
(0, mcp_helpers_js_1.registerTool)(sections_add_one_js_1.sectionsAddOne, server, todoist);
|
|
57
|
+
(0, mcp_helpers_js_1.registerTool)(sections_update_one_js_1.sectionsUpdateOne, server, todoist);
|
|
58
|
+
(0, mcp_helpers_js_1.registerTool)(tasks_organize_multiple_js_1.tasksOrganizeMultiple, server, todoist);
|
|
59
|
+
(0, mcp_helpers_js_1.registerTool)(subtasks_list_for_parent_task_js_1.subtasksListForParentTask, server, todoist);
|
|
60
|
+
(0, mcp_helpers_js_1.registerTool)(tasks_list_for_section_js_1.tasksListForSection, server, todoist);
|
|
61
|
+
(0, mcp_helpers_js_1.registerTool)(projects_delete_one_js_1.projectsDeleteOne, server, todoist);
|
|
62
|
+
(0, mcp_helpers_js_1.registerTool)(projects_search_js_1.projectsSearch, server, todoist);
|
|
63
|
+
(0, mcp_helpers_js_1.registerTool)(sections_delete_one_js_1.sectionsDeleteOne, server, todoist);
|
|
64
|
+
(0, mcp_helpers_js_1.registerTool)(sections_search_js_1.sectionsSearch, server, todoist);
|
|
65
|
+
(0, mcp_helpers_js_1.registerTool)(account_overview_js_1.accountOverview, server, todoist);
|
|
66
|
+
(0, mcp_helpers_js_1.registerTool)(project_overview_js_1.projectOverview, server, todoist);
|
|
64
67
|
return server;
|
|
65
68
|
}
|
|
66
|
-
export { getMcpServer };
|
package/dist/cjs/todoist-tool.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.accountOverview = void 0;
|
|
1
4
|
const ArgsSchema = {};
|
|
2
5
|
function buildProjectTree(projects) {
|
|
3
6
|
// Sort projects by childOrder, then build a tree
|
|
@@ -91,4 +94,4 @@ const accountOverview = {
|
|
|
91
94
|
return lines.join("\n");
|
|
92
95
|
},
|
|
93
96
|
};
|
|
94
|
-
|
|
97
|
+
exports.accountOverview = accountOverview;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.projectOverview = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const shared_js_1 = require("./shared.js");
|
|
3
6
|
const ArgsSchema = {
|
|
4
|
-
projectId: z
|
|
7
|
+
projectId: zod_1.z
|
|
5
8
|
.string()
|
|
6
9
|
.min(1)
|
|
7
10
|
.describe("The ID of the project to get an overview for."),
|
|
@@ -52,7 +55,7 @@ async function getAllTasksForProject(client, projectId) {
|
|
|
52
55
|
limit: 50,
|
|
53
56
|
cursor: cursor ?? undefined,
|
|
54
57
|
});
|
|
55
|
-
allTasks = allTasks.concat(results.map(mapTask));
|
|
58
|
+
allTasks = allTasks.concat(results.map(shared_js_1.mapTask));
|
|
56
59
|
cursor = nextCursor ?? undefined;
|
|
57
60
|
} while (cursor);
|
|
58
61
|
return allTasks;
|
|
@@ -104,4 +107,4 @@ const projectOverview = {
|
|
|
104
107
|
return lines.join("\n");
|
|
105
108
|
},
|
|
106
109
|
};
|
|
107
|
-
|
|
110
|
+
exports.projectOverview = projectOverview;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.projectsAddOne = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const shared_js_1 = require("./shared.js");
|
|
3
6
|
const ArgsSchema = {
|
|
4
|
-
name: z.string().min(1).describe("The name of the project to add."),
|
|
7
|
+
name: zod_1.z.string().min(1).describe("The name of the project to add."),
|
|
5
8
|
};
|
|
6
9
|
const projectsAddOne = {
|
|
7
10
|
name: "projects-add-one",
|
|
@@ -9,7 +12,7 @@ const projectsAddOne = {
|
|
|
9
12
|
parameters: ArgsSchema,
|
|
10
13
|
async execute(args, client) {
|
|
11
14
|
const project = await client.addProject({ name: args.name });
|
|
12
|
-
return mapProject(project);
|
|
15
|
+
return (0, shared_js_1.mapProject)(project);
|
|
13
16
|
},
|
|
14
17
|
};
|
|
15
|
-
|
|
18
|
+
exports.projectsAddOne = projectsAddOne;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.projectsDeleteOne = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
2
5
|
const ArgsSchema = {
|
|
3
|
-
id: z.string().min(1).describe("The ID of the project to delete."),
|
|
6
|
+
id: zod_1.z.string().min(1).describe("The ID of the project to delete."),
|
|
4
7
|
};
|
|
5
8
|
const projectsDeleteOne = {
|
|
6
9
|
name: "projects-delete-one",
|
|
@@ -11,4 +14,4 @@ const projectsDeleteOne = {
|
|
|
11
14
|
return { success: true };
|
|
12
15
|
},
|
|
13
16
|
};
|
|
14
|
-
|
|
17
|
+
exports.projectsDeleteOne = projectsDeleteOne;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.projectsList = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
2
5
|
const ArgsSchema = {
|
|
3
|
-
limit: z
|
|
6
|
+
limit: zod_1.z
|
|
4
7
|
.number()
|
|
5
8
|
.int()
|
|
6
9
|
.min(1)
|
|
7
10
|
.max(100)
|
|
8
11
|
.default(50)
|
|
9
12
|
.describe("The maximum number of projects to return."),
|
|
10
|
-
cursor: z
|
|
13
|
+
cursor: zod_1.z
|
|
11
14
|
.string()
|
|
12
15
|
.optional()
|
|
13
16
|
.describe("The cursor to get the next page of projects (cursor is obtained from the previous call to this tool, with the same parameters)."),
|
|
@@ -27,4 +30,4 @@ const projectsList = {
|
|
|
27
30
|
};
|
|
28
31
|
},
|
|
29
32
|
};
|
|
30
|
-
|
|
33
|
+
exports.projectsList = projectsList;
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.projectsSearch = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const shared_js_1 = require("./shared.js");
|
|
3
6
|
const ArgsSchema = {
|
|
4
|
-
search: z
|
|
7
|
+
search: zod_1.z
|
|
5
8
|
.string()
|
|
6
9
|
.optional()
|
|
7
10
|
.describe("Search for a project by name (partial and case insensitive match). If omitted, all projects are returned."),
|
|
8
|
-
limit: z
|
|
11
|
+
limit: zod_1.z
|
|
9
12
|
.number()
|
|
10
13
|
.int()
|
|
11
14
|
.min(1)
|
|
12
15
|
.max(100)
|
|
13
16
|
.default(50)
|
|
14
17
|
.describe("The maximum number of projects to return."),
|
|
15
|
-
cursor: z
|
|
18
|
+
cursor: zod_1.z
|
|
16
19
|
.string()
|
|
17
20
|
.optional()
|
|
18
21
|
.describe("The cursor to get the next page of projects (cursor is obtained from the previous call to this tool, with the same parameters)."),
|
|
@@ -31,9 +34,9 @@ const projectsSearch = {
|
|
|
31
34
|
? results.filter((project) => project.name.toLowerCase().includes(searchLower))
|
|
32
35
|
: results;
|
|
33
36
|
return {
|
|
34
|
-
projects: filtered.map(mapProject),
|
|
37
|
+
projects: filtered.map(shared_js_1.mapProject),
|
|
35
38
|
nextCursor,
|
|
36
39
|
};
|
|
37
40
|
},
|
|
38
41
|
};
|
|
39
|
-
|
|
42
|
+
exports.projectsSearch = projectsSearch;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.projectsUpdateOne = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
2
5
|
const ArgsSchema = {
|
|
3
|
-
id: z.string().min(1).describe("The ID of the project to update."),
|
|
4
|
-
name: z.string().min(1).describe("The new name for the project."),
|
|
6
|
+
id: zod_1.z.string().min(1).describe("The ID of the project to update."),
|
|
7
|
+
name: zod_1.z.string().min(1).describe("The new name for the project."),
|
|
5
8
|
};
|
|
6
9
|
const projectsUpdateOne = {
|
|
7
10
|
name: "projects-update-one",
|
|
@@ -13,4 +16,4 @@ const projectsUpdateOne = {
|
|
|
13
16
|
return project;
|
|
14
17
|
},
|
|
15
18
|
};
|
|
16
|
-
|
|
19
|
+
exports.projectsUpdateOne = projectsUpdateOne;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sectionsAddOne = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
2
5
|
const ArgsSchema = {
|
|
3
|
-
name: z.string().min(1).describe("The name of the section to add."),
|
|
4
|
-
projectId: z
|
|
6
|
+
name: zod_1.z.string().min(1).describe("The name of the section to add."),
|
|
7
|
+
projectId: zod_1.z
|
|
5
8
|
.string()
|
|
6
9
|
.min(1)
|
|
7
10
|
.describe("The ID of the project to add the section to."),
|
|
@@ -18,4 +21,4 @@ const sectionsAddOne = {
|
|
|
18
21
|
return section;
|
|
19
22
|
},
|
|
20
23
|
};
|
|
21
|
-
|
|
24
|
+
exports.sectionsAddOne = sectionsAddOne;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sectionsDeleteOne = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
2
5
|
const ArgsSchema = {
|
|
3
|
-
id: z.string().min(1).describe("The ID of the section to delete."),
|
|
6
|
+
id: zod_1.z.string().min(1).describe("The ID of the section to delete."),
|
|
4
7
|
};
|
|
5
8
|
const sectionsDeleteOne = {
|
|
6
9
|
name: "sections-delete-one",
|
|
@@ -11,4 +14,4 @@ const sectionsDeleteOne = {
|
|
|
11
14
|
return { success: true };
|
|
12
15
|
},
|
|
13
16
|
};
|
|
14
|
-
|
|
17
|
+
exports.sectionsDeleteOne = sectionsDeleteOne;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sectionsSearch = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
2
5
|
const ArgsSchema = {
|
|
3
|
-
projectId: z
|
|
6
|
+
projectId: zod_1.z
|
|
4
7
|
.string()
|
|
5
8
|
.min(1)
|
|
6
9
|
.describe("The ID of the project to search sections in."),
|
|
7
|
-
search: z
|
|
10
|
+
search: zod_1.z
|
|
8
11
|
.string()
|
|
9
12
|
.optional()
|
|
10
13
|
.describe("Search for a section by name (partial and case insensitive match). If omitted, all sections in the project are returned."),
|
|
@@ -27,4 +30,4 @@ const sectionsSearch = {
|
|
|
27
30
|
}));
|
|
28
31
|
},
|
|
29
32
|
};
|
|
30
|
-
|
|
33
|
+
exports.sectionsSearch = sectionsSearch;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sectionsUpdateOne = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
2
5
|
const ArgsSchema = {
|
|
3
|
-
id: z.string().min(1).describe("The ID of the section to update."),
|
|
4
|
-
name: z.string().min(1).describe("The new name for the section."),
|
|
6
|
+
id: zod_1.z.string().min(1).describe("The ID of the section to update."),
|
|
7
|
+
name: zod_1.z.string().min(1).describe("The new name for the section."),
|
|
5
8
|
};
|
|
6
9
|
const sectionsUpdateOne = {
|
|
7
10
|
name: "sections-update-one",
|
|
@@ -13,4 +16,4 @@ const sectionsUpdateOne = {
|
|
|
13
16
|
return section;
|
|
14
17
|
},
|
|
15
18
|
};
|
|
16
|
-
|
|
19
|
+
exports.sectionsUpdateOne = sectionsUpdateOne;
|
package/dist/cjs/tools/shared.js
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getTasksByFilter = getTasksByFilter;
|
|
7
|
+
exports.mapTask = mapTask;
|
|
8
|
+
exports.mapProject = mapProject;
|
|
9
|
+
const todoist_api_typescript_1 = require("@doist/todoist-api-typescript");
|
|
10
|
+
const zod_1 = __importDefault(require("zod"));
|
|
3
11
|
/**
|
|
4
12
|
* Map a single Todoist task to a more structured format, for LLM consumption.
|
|
5
13
|
* @param task - The task to map.
|
|
@@ -8,8 +16,8 @@ import z from "zod";
|
|
|
8
16
|
function mapTask(task) {
|
|
9
17
|
return {
|
|
10
18
|
id: task.id,
|
|
11
|
-
content: getSanitizedContent(task.content),
|
|
12
|
-
description: getSanitizedContent(task.description),
|
|
19
|
+
content: (0, todoist_api_typescript_1.getSanitizedContent)(task.content),
|
|
20
|
+
description: (0, todoist_api_typescript_1.getSanitizedContent)(task.description),
|
|
13
21
|
dueDate: task.due?.date,
|
|
14
22
|
recurring: task.due?.isRecurring && task.due.string ? task.due.string : false,
|
|
15
23
|
priority: task.priority,
|
|
@@ -36,12 +44,12 @@ function mapProject(project) {
|
|
|
36
44
|
viewStyle: project.viewStyle,
|
|
37
45
|
};
|
|
38
46
|
}
|
|
39
|
-
const ErrorSchema =
|
|
40
|
-
httpStatusCode:
|
|
41
|
-
responseData:
|
|
42
|
-
error:
|
|
43
|
-
errorCode:
|
|
44
|
-
errorTag:
|
|
47
|
+
const ErrorSchema = zod_1.default.object({
|
|
48
|
+
httpStatusCode: zod_1.default.number(),
|
|
49
|
+
responseData: zod_1.default.object({
|
|
50
|
+
error: zod_1.default.string(),
|
|
51
|
+
errorCode: zod_1.default.number(),
|
|
52
|
+
errorTag: zod_1.default.string(),
|
|
45
53
|
}),
|
|
46
54
|
});
|
|
47
55
|
async function getTasksByFilter({ client, query, limit, cursor, }) {
|
|
@@ -68,4 +76,3 @@ async function getTasksByFilter({ client, query, limit, cursor, }) {
|
|
|
68
76
|
throw new Error(`${responseData.error} (tag: ${responseData.errorTag}, code: ${responseData.errorCode})`);
|
|
69
77
|
}
|
|
70
78
|
}
|
|
71
|
-
export { getTasksByFilter, mapTask, mapProject };
|