npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

todoist-api-mcp

v1.1.1

Published

MCP server for Todoist API integration

Readme

npm

📝 Todoist-API-MCP

MCP server for Todoist API integration. Provides full access to Todoist functionality through a simple and convenient MCP protocol.

Key Features

  • 🔄 Transport flexibility: support for various transport types - stdio, SSE, and HTTP Stream for different use cases
  • 👥 Multi-user mode: in SSE/HTTP Stream modes, each client uses their own Todoist API token
  • 🔒 Security: ability to restrict server access using an MCP Access token
  • 🚀 Complete API: support for all main Todoist entities (tasks, projects, sections, labels, comments)

Quick Start

{
  "mcpServers": {
    "todoist": {
      "command": "npx",
      "args": ["todoist-api-mcp", "--mode", "stdio"],
      "env": {
        "TODOIST_API_TOKEN": "your_todoist_api_token"
      }
    }
  }
}

Advanced usage

# stdio mode (for single user)
npx todoist-api-mcp --mode stdio --todoist-token YOUR_TODOIST_API_TOKEN

# SSE mode (for multi-user access)
# Clients send their Todoist tokens via Authorization: Bearer TOKEN header
npx todoist-api-mcp --mode sse

# HTTP Stream mode (for multi-user access)
# Clients send their Todoist tokens via Authorization: Bearer TOKEN header
npx todoist-api-mcp --mode httpStream

# With MCP Access token restriction
npx todoist-api-mcp --mode sse --mcp-access-token YOUR_MCP_ACCESS_TOKEN

# Setting the port for HTTP modes
npx todoist-api-mcp --mode sse --port 8080

Transport Modes

  • stdio: local mode for working through standard input/output streams. The Todoist API token is passed through the --todoist-token parameter or the TODOIST_API_TOKEN environment variable.

  • sse (Server-Sent Events): HTTP mode with event support for multiple clients. Each client uses their own Todoist API token via the Authorization: Bearer TOKEN header. Server access can be restricted through an MCP Access token (--mcp-access-token), which is verified in the X-Mcp-Token header.

  • httpStream: streaming HTTP mode for long-lived connections. Each client uses their own Todoist API token via the Authorization: Bearer TOKEN header. Server access can be restricted through an MCP Access token (--mcp-access-token), which is verified in the X-Mcp-Token header.

Available Tools

✅ Tasks

  • Reading: retrieving task lists and detailed information
  • Creating: adding new tasks with support for all Todoist parameters
  • Updating: changing any parameters of existing tasks
  • Closing/Opening: managing task completion status
  • Deleting: completely removing tasks from Todoist

📁 Projects

  • Reading: retrieving project lists and their contents
  • Creating: adding new projects with parameter configuration
  • Updating: changing parameters of existing projects
  • Deleting: completely removing projects from Todoist

📋 Sections

  • Reading: retrieving section lists and their contents
  • Creating: adding new sections to projects
  • Updating: changing parameters of existing sections
  • Deleting: removing sections from projects

🏷️ Labels

  • Reading: retrieving label lists
  • Creating: adding new labels
  • Updating: changing parameters of existing labels
  • Deleting: removing labels from Todoist

💬 Comments

  • Reading: retrieving comments for tasks and projects
  • Creating: adding new comments
  • Updating: changing comment content
  • Deleting: removing comments

License

MIT