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

kexin-todo

v1.0.3

Published

A Personal Task Schedule Mcp Support LLM To Manage Users Tasks

Readme

Todo MCP Server

一个基于 Model Context Protocol (MCP) 的个人任务管理服务器,支持 LLM 管理用户任务。

功能特性

  • 创建任务 - 支持创建新的任务,包含标题、描述、状态、优先级、截止日期和标签
  • ✏️ 修改任务 - 支持更新任务的各种属性
  • 🗑️ 删除任务 - 支持删除指定的任务
  • 📋 查询任务列表 - 支持按状态、优先级、标签筛选任务列表
  • 🔍 查询任务详情 - 获取单个任务的完整信息
  • 📊 获取分析数据 - 提供任务统计和分析数据
  • 🕐 获取当前时间 - 支持多种格式和时区的当前时间获取
  • 📅 日期计算 - 支持日期的加减运算和差值计算

数据库设计

使用 SQLite 数据库存储任务数据,表结构如下:

CREATE TABLE tasks (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  title TEXT NOT NULL,
  description TEXT,
  status TEXT DEFAULT 'pending' CHECK(status IN ('pending', 'in_progress', 'completed', 'cancelled')),
  priority TEXT DEFAULT 'medium' CHECK(priority IN ('low', 'medium', 'high', 'urgent')),
  due_date TEXT,
  tags TEXT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

安装和运行

  1. 安装依赖:
npm install
  1. 启动服务器:
npm start

MCP 客户端配置

如果你使用支持 MCP 的客户端(如 Claude Desktop),可以在配置文件中添加:

{
  "mcpServers": {
    "todo": {
      "command": "node",
      "args": ["index.js"],
      "cwd": "/path/to/your/todo/directory"
    }
  }
}

故障排除

ENOENT 错误

如果遇到 spawn index.js ENOENT 错误,请确保:

  1. 文件有执行权限:chmod +x index.js
  2. 使用正确的启动命令:node index.js 而不是直接执行 index.js
  3. 在 MCP 配置中使用 "command": "node""args": ["index.js"]

测试服务器

可以通过以下命令测试服务器是否正常启动:

echo 'test' | node index.js

如果看到 "Todo MCP 服务器已启动" 和 "数据库表初始化成功" 消息,说明服务器运行正常。

MCP 工具列表

1. create_task

创建新任务

参数:

  • title (必填): 任务标题
  • description: 任务描述
  • status: 任务状态 (pending, in_progress, completed, cancelled)
  • priority: 优先级 (low, medium, high, urgent)
  • due_date: 截止日期 (YYYY-MM-DD格式)
  • tags: 标签,多个标签用逗号分隔

2. update_task

更新任务信息

参数:

  • id (必填): 任务ID
  • 其他参数同 create_task

3. delete_task

删除任务

参数:

  • id (必填): 要删除的任务ID

4. get_task

获取任务详情

参数:

  • id (必填): 任务ID

5. list_tasks

获取任务列表

参数:

  • status: 按状态筛选
  • priority: 按优先级筛选
  • tags: 按标签筛选
  • limit: 限制返回数量

6. get_analytics

获取任务分析数据

参数:

7. get_current_time

获取当前时间

参数:

  • format: 时间格式 (iso, date, time, datetime, timestamp)
    • iso: ISO 8601 格式 (默认)
    • date: YYYY-MM-DD 格式
    • time: HH:MM:SS 格式
    • datetime: YYYY-MM-DD HH:MM:SS 格式
    • timestamp: Unix 时间戳
  • timezone: 时区,如 Asia/Shanghai, UTC, America/New_York

8. calculate_date

计算日期

参数:

  • operation (必填): 操作类型 (add, subtract, diff)
  • base_date: 基准日期 (YYYY-MM-DD格式),不提供则使用当前日期
  • value: 数值(用于 add 和 subtract 操作)
  • unit: 时间单位 (days, weeks, months, years)
  • target_date: 目标日期 (YYYY-MM-DD格式,用于 diff 操作)

使用示例

在支持 MCP 的 LLM 客户端中,你可以这样使用:

创建一个高优先级的任务:"完成项目文档"
更新任务状态为进行中
查看所有待办任务
获取任务统计数据
获取当前时间(北京时间)
计算30天后的日期
计算两个日期之间的差值

技术栈

  • Node.js - 运行环境
  • SQLite3 - 数据库
  • @modelcontextprotocol/sdk - MCP SDK
  • ES Modules - 模块系统

许可证

MIT License