任务管理AI集成服务

一个将Todoist与Claude等AI助手集成的模型上下文协议(MCP)服务器,通过对话式AI直接管理任务、项目和标签。

  • by jimdaga
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jimdaga/todoist-mcp-server

使用说明

Todoist MCP服务器

一个模型上下文协议(MCP)服务器,将Todoist与Claude和其他人工智能助手集成在一起。通过对话式人工智能直接管理您的任务、项目和标签。

特性

资源(只读数据)

  • todoist://tasks/active -所有活动(未完成)任务
  • todoist://tasks/today -今天到期的任务
  • todoist://projects -所有项目
  • todoist://labels -所有标签

工具(动作)

  • create_task -创建带有标题、项目、标签、优先级和截止日期的新任务
  • update_task -更新现有任务属性
  • complete_task -将任务标记为已完成
  • get_task -获取特定任务的详细信息
  • list_tasks -使用筛选器列出任务
  • create_project -创建新项目
  • add_comment -向任务添加评论

安装

先决条件

设置

  1. 克隆存储库

    git clone https://github.com/jimdaga/todoist-mcp-server.git
    cd todoist-mcp-server
    
  2. 安装依赖项

    npm install
    
  3. 配置环境变量

    cp .env.example .env
    # Edit .env and add your TODOIST_API_TOKEN
    
  4. 构建服务器

    npm run build
    

用法

发展模式

在开发模式下运行服务器并自动重新加载:

npm run dev

生产模式

构建并运行:

npm run build
npm start

与Claude Code集成

将此配置添加到您的Claude Code MCP设置文件中:

macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "todoist": {
      "command": "node",
      "args": ["/absolute/path/to/todoist-mcp-server/dist/index.js"],
      "env": {
        "TODOIST_API_TOKEN": "your_token_here"
      }
    }
  }
}

或使用 npm run dev 发展:

{
  "mcpServers": {
    "todoist": {
      "command": "npm",
      "args": ["run", "dev"],
      "cwd": "/absolute/path/to/todoist-mcp-server",
      "env": {
        "TODOIST_API_TOKEN": "your_token_here"
      }
    }
  }
}

发展

项目结构

todoist-mcp-server/
├── src/
│   ├── index.ts              # Main MCP server entry point
│   ├── todoist/
│   │   ├── client.ts         # Todoist API wrapper
│   │   ├── types.ts          # TypeScript types
│   │   └── schemas.ts        # Zod validation schemas
│   ├── mcp/
│   │   ├── resources.ts      # Resource handlers
│   │   ├── tools.ts          # Tool handlers
│   │   └── prompts.ts        # Prompt templates
│   └── utils/
│       ├── logger.ts         # Logging utility (stderr only!)
│       ├── errors.ts         # Error classes
│       └── config.ts         # Environment config
├── tests/
│   └── integration.test.ts   # Integration tests
├── package.json
├── tsconfig.json
└── README.md

开发命令

# Install dependencies
npm install

# Build TypeScript
npm run build

# Watch mode (auto-rebuild)
npm run watch

# Run in development mode
npm run dev

# Run built server
npm start

重要提示:日志记录

此MCP服务器使用STDIO传输。 所有日志记录必须转到stderr,永远不要stdout,以避免损坏协议流。记录器实用程序(src/utils/logger.ts)自动处理此问题。

❌ 切勿使用: console.log() ✅ 始终使用: logger.info(), logger.debug(), logger.error()

环境变量

  • TODOIST_API_TOKEN (必需)-您的Todoist API代币
  • LOG_LEVEL (可选)-日志记录级别:调试、信息、警告、错误(默认值:信息)

安全

  • 永远不要承诺你的 .env 文件 -它包含您的API令牌
  • 将令牌存储在环境变量中或进行安全的秘密管理
  • 这 .gitignore 排除 .env 默认情况下

发展路线图

  • [x] 第一阶段: 项目设置和基础设施
  • [ ] 第二阶段: Todoist API集成
  • [ ] 第三阶段: MCP资源实施
  • [ ] 第四阶段: MCP工具实施
  • [ ] 第五阶段: 测试和文件
  • [ ] 第6阶段: 波兰语和最佳实践

贡献

欢迎投稿!这是一个了解MCP服务器开发的学习项目。

许可证

麻省理工学院

资源