todoist-mcp 1.3.0 → 1.3.1

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
@@ -32,24 +32,43 @@ You'll need a Todoist API token to use this MCP server.
32
32
  2. Navigate to Settings → Integrations
33
33
  3. Find your API token under "Developer"
34
34
 
35
- ### Usage with Claude Desktop
35
+ ### Usage
36
36
 
37
- Add to your `claude_desktop_config.json`:
37
+ Add to `mcpServers` in your platform config:
38
38
 
39
39
  ```json
40
- {
41
- "mcpServers": {
42
- "todoist": {
43
- "command": "npx",
44
- "args": ["-y", "todoist-mcp"],
45
- "env": {
46
- "API_KEY": "your_todoist_api_token_here"
47
- }
48
- }
49
- }
40
+ "todoist": {
41
+ "command": "npx",
42
+ "args": ["-y", "todoist-mcp"],
43
+ "env": { "API_KEY": "your_todoist_api_token" }
50
44
  }
51
45
  ```
52
46
 
47
+ | Platform | Config |
48
+ |----------|--------|
49
+ | Claude Desktop | `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS), `%APPDATA%\Claude\` (Windows) |
50
+ | Claude Code | `.mcp.json` — `claude mcp add --transport stdio --scope project --env API_KEY=token todoist -- npx -y todoist-mcp` |
51
+ | Cursor | `~/.cursor/mcp.json` or `.cursor/mcp.json` |
52
+ | Codex | `~/.codex/config.toml` or `.codex/config.toml` — see example below |
53
+ | Gemini CLI | `~/.gemini/settings.json` — `gemini mcp add -e API_KEY=token todoist npx -y todoist-mcp` |
54
+
55
+ **Codex** — CLI:
56
+
57
+ ```bash
58
+ codex mcp add todoist --env API_KEY=your_token -- npx -y todoist-mcp
59
+ ```
60
+
61
+ Or add to `config.toml`:
62
+
63
+ ```toml
64
+ [mcp_servers.todoist]
65
+ command = "npx"
66
+ args = ["-y", "todoist-mcp"]
67
+
68
+ [mcp_servers.todoist.env]
69
+ API_KEY = "your_todoist_api_token"
70
+ ```
71
+
53
72
  ## Available Tools
54
73
 
55
74
  ### Tasks
@@ -48,21 +48,29 @@ const create_fields = {
48
48
  };
49
49
  createApiHandler({
50
50
  name: 'get_tasks_list',
51
- description: 'Get tasks list from Todoist',
51
+ description: 'Get tasks list from Todoist. For advanced filtering use get_tasks_by_filter tool',
52
52
  schemaShape: {
53
53
  project_id: z.string().optional().describe('Filter by project'),
54
54
  section_id: z.string().optional().describe('Filter by section'),
55
55
  label: z.string().optional().describe('Filter by label'),
56
- filter: z
57
- .string()
58
- .optional()
59
- .describe('Natural language english filter like "search: keyword", "today", "date before: +4 hours", "date after: May 5", "no date", "no time", "overdue", "7 days & @waiting", "created before: -365 days", "assigned to: person", "added by: me", "#Project & !assigned", "subtask", "!subtask", "P1 | P2", "today & @email", "@work | @office", "(today | overdue) & #Work", "all & 7 days", "!assigned", "Today & !#Work"'),
60
56
  ids: z.string().optional().describe('Comma-separated list of task IDs'),
61
57
  limit: z.number().optional().default(50),
62
58
  },
63
59
  method: 'GET',
64
60
  path: '/tasks',
65
61
  });
62
+ createApiHandler({
63
+ name: 'get_tasks_by_filter',
64
+ description: 'Get tasks from Todoist using filter language. Use for queries like "today", "overdue", "P1", date-based filters, label/project filters in query syntax',
65
+ schemaShape: {
66
+ query: z
67
+ .string()
68
+ .describe('Todoist filter query. Examples: "today", "overdue", "today | overdue", "no date", "no time", "P1 | P2", "7 days & @waiting", "created before: -365 days", "assigned to: person", "added by: me", "#Project & !assigned", "subtask", "!subtask", "today & @email", "@work | @office", "(today | overdue) & #Work", "all & 7 days", "!assigned", "search: keyword"'),
69
+ limit: z.number().optional().default(50),
70
+ },
71
+ method: 'GET',
72
+ path: '/tasks/filter',
73
+ });
66
74
  createBatchApiHandler({
67
75
  name: 'create_tasks',
68
76
  description: 'Create new tasks in Todoist',
@@ -1 +1 @@
1
- export declare const version = "1.3.0";
1
+ export declare const version = "1.3.1";
@@ -1,2 +1,2 @@
1
1
  // Auto-generated file, do not edit
2
- export const version = '1.3.0';
2
+ export const version = '1.3.1';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "todoist-mcp",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Todoist MCP Server",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",