Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
MCP server for Todoist task management integration
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
YOUR_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"todoist": {
"command": "npx",
"args": [
"-y",
"@ecfaria/todoist-mcp-server"
],
"env": {
"YOUR_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add todoist --env YOUR_API_KEY=your-value -- npx -y @ecfaria/todoist-mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"todoist": {
"command": "npx",
"args": [
"-y",
"@ecfaria/todoist-mcp-server"
],
"env": {
"YOUR_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"todoist": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ecfaria/todoist-mcp-server"
],
"env": {
"YOUR_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account ecfaria, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: YOUR_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.0.1) reached the registry 10 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A Model Context Protocol (MCP) server for Todoist task management, enabling Claude to interact with your Todoist tasks and projects.
# Clone the repository
git clone cd todoist-mcp
npm install
npm run build
Create a .env file in the project root:
cp .env.example .env
Edit .env and add your Todoist API token:
TODOIST_API_TOKEN=your_actual_token_here
LOG_LEVEL=error
Add the server to your Claude Desktop configuration file:
Location:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonConfiguration:
{
"mcpServers": { "todoist": { "command": "node", "args": ["/absolute/path/to/todoist-mcp/build/server.js"], "env": { "TODOIST_API_TOKEN": "your_actual_token_here" } } } }
Important: Replace /absolute/path/to/todoist-mcp with the actual absolute path to your project directory.
After updating the configuration, restart Claude Desktop for the changes to take effect.
Create a new task in Todoist with optional project, due date, priority, labels, and parent task for subtasks.
Parameters:
content (required): The task content/titledescription (optional): Task descriptionproject_id (optional): Project ID to add the task tosection_id (optional): Section ID within the projectdue_date (optional): Due date in natural language or YYYY-MM-DD formatpriority (optional): Priority level: 1 (normal), 2 (medium), 3 (high), 4 (urgent)labels (optional): Array of label namesparent_id (optional): Parent task ID to create a subtaskparent_task_name (optional): Parent task name to search for (alternative to parent_id)Examples:
Create a task "Write report" due tomorrow with high priority
Create a task "Buy groceries" in the Shopping project Create a task "Team meeting" due "next Monday at 2pm" Create a subtask "Buy milk" under parent task "Go to the supermarket" Create a subtask "Review slides" under task 8237492837 Add subtask "Call John" to the task "Prepare presentation"
List active tasks with optional filters for project, section, label, or custom Todoist filter.
Parameters:
project_id (optional): Filter by project IDsection_id (optional): Filter by section IDlabel (optional): Filter by label namefilter (optional): Todoist filter query (e.g., "today", "overdue", "p1")limit (optional): Maximum number of tasks to return (default: 50, max: 200)Examples:
List all my tasks
List tasks in project "Work" List tasks due today List all overdue tasks with limit 20
Get detailed information about a specific task including all metadata.
Parameters:
task_id (required): The task ID to retrieveExamples:
Get details for task 123456789
Show me task 987654321
Update an existing task with new content, description, due date, priority, or labels.
Parameters:
task_id (required): The task ID to updatecontent (optional): New task contentdescription (optional): New task descriptiondue_date (optional): New due date (natural language or YYYY-MM-DD)priority (optional): New priority level (1-4)labels (optional): New labels arrayExamples:
Update task 123 to have priority 4
Change task 456 due date to "next Friday" Update task 789 content to "Revised meeting agenda"
Mark a task as completed.
Parameters:
task_id (required): The task ID to completeExamples:
Complete task 123456
Mark task 789012 as done
List all projects in Todoist, including inbox and shared projects.
Parameters: None
Examples:
List all my projects
Show me all my Todoist projects
Search for tasks by text in their content or description.
Parameters:
query (required): Text to search for in task content and descriptionlimit (optional): Maximum number of tasks to return (default: 50, max: 200)Examples:
Search for tasks containing "meeting"
Find all tasks with "budget" in them
npm run build
npm run dev
npm test
npm run test:watch
The server respects Todoist's API rate limit of 450 requests per 15 minutes. When the limit is exceeded, the API returns a 429 error which is caught and reported with a helpful error message. You can retry your request after waiting.
All errors are returned with descriptive messages. Common errors include:
.env configuration or Claude Desktop configThe server supports Todoist's natural language date parsing. You can use phrases like:
You can also use standard date formats:
todoist-mcp/ ├── src/ │ ├── server.ts # Main MCP server entry point │ ├── types/ # TypeScript type definitions │ ├── api/ # Todoist API client and errors │ ├── tools/ # MCP tool implementations │ └── utils/ # Utilities (logger, rate limiter) ├── tests/ │ └── unit/ # Unit tests ├── build/ # Compiled JavaScript output ├── package.json ├── tsconfig.json ├── .env.example └── README.md
io.github.ecfaria/todoist-mcp@ecfaria/todoist-mcp-servernpm version ).npm run build.npm publish --access public (scoped packages default to private).mcp-publisher validate.mcp-publisher publish.mcpName) to package.json.server.json reference for registry publication.@ecfaria/todoist-mcp-server to avoid collisions.claude_desktop_config.json is absolute and correctnpm run build).env file or Claude Desktop configContributions are welcome! Please feel free to submit a Pull Request.
MIT
Built with: