Skip to main content
Glama
hevener10

MCP TODO Checklist Server

by hevener10

MCP TODO 检查清单

MCP 服务器在 Claude Desktop 中实现了用于任务管理的清单系统。该系统允许您创建和管理多个任务列表,并支持优先级、截止日期和标签。

特征

  • ✅ 创建和管理多个待办事项列表

  • 📌 优先支持(低、中、高)

  • 📅 任务截止日期

  • 🏷️ 组织标签系统

  • 👥 用户之间共享列表

  • 💾 持久文件系统存储

Related MCP server: Todo MCP Server

要求

  • Node.js 18 或更高版本

  • NPM 8 或更高版本

安装

方法一:本地安装(开发)

  1. 克隆存储库

cd C:\workspace\mcp
git clone (seu-repositório) mcp-mr-checklist
cd mcp-mr-checklist
  1. 安装依赖项并编译

npm install
npm run build
  1. 在claude_desktop_config.json中配置:

{
  "servers": {
    "todo-checklist": {
      "type": "command",
      "command": "node dist/index.js",
      "cwd": "C:\\workspace\\mcp\\mcp-mr-checklist",
      "config": {
        "storagePath": "./data",
        "commandTimeout": 60000
      }
    }
  }
}

方法二:全局安装(使用)

  1. 全局安装包

npm install -g @hevener/server-todo-checklist
  1. 在claude_desktop_config.json中配置:

{
  "servers": {
    "todo-checklist": {
      "type": "command",
      "command": "mcp-server-todo-checklist",
      "config": {
        "storagePath": "C:\\Users\\SEU_USUARIO\\AppData\\Local\\claude-todo-checklist",
        "commandTimeout": 60000
      }
    }
  }
}

Claude 中可用的命令

创建新列表

/todo_create {
  "title": "Minha Lista",
  "description": "Descrição opcional da lista"
}

添加任务

/todo_add {
  "listTitle": "Minha Lista",
  "taskTitle": "Nova Tarefa",
  "priority": "high",
  "dueDate": "2024-01-20",
  "tags": ["trabalho", "urgente"]
}

列出所有列表

/todo_list

查看列表的详细信息

/todo_show {
  "listTitle": "Minha Lista"
}

将任务标记为完成

/todo_complete {
  "listTitle": "Minha Lista",
  "taskTitle": "Nova Tarefa"
}

项目结构

src/
├── index.ts           # Ponto de entrada do servidor
├── commands.ts        # Definição dos comandos disponíveis
├── service/          
│   └── ChecklistService.ts  # Lógica de negócio
├── storage/
│   └── index.ts      # Implementação do armazenamento
└── types/
    ├── ChecklistItem.ts     # Tipos para itens
    └── index.ts            # Tipos principais

数据结构

清单

interface Checklist {
  id: string;
  title: string;
  description?: string;
  items: ChecklistItem[];
  owner: string;
  shared?: string[];
  createdAt: Date;
  updatedAt: Date;
}

任务(清单项目)

interface ChecklistItem {
  id: string;
  title: string;
  description?: string;
  completed: boolean;
  dueDate?: Date;
  priority: 'low' | 'medium' | 'high';
  tags: string[];
  createdAt: Date;
  updatedAt: Date;
}

开发脚本

# Compilar o projeto
npm run build

# Executar em modo desenvolvimento
npm run dev

# Observar alterações e recompilar
npm run watch

# Iniciar o servidor compilado
npm start

设置

在claude_desktop_config.json文件中,可以配置:

  • storagePath :存储数据的目录

  • commandTimeout :命令执行的最大时间(以毫秒为单位)(默认值:60000)

使用的技术

  • TypeScript

  • 模型上下文协议 SDK

  • Zod(数据验证)

  • 基于文件的存储系统

执照

根据 MIT 许可证分发。请参阅LICENSE以了解更多信息。

Available Tools

5 tools
todo_addC

Adiciona uma nova tarefa à lista

ParametersJSON Schema
NameRequiredDescriptionDefault
listTitleYesTítulo da lista
taskTitleYesTítulo da tarefa
priorityNoPrioridade da tarefa
dueDateNoData de vencimento (YYYY-MM-DD)
tagsNoTags da tarefa

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Adiciona' implies a write/mutation operation, the description doesn't disclose any behavioral traits like whether this requires specific permissions, what happens on duplicate tasks, whether the operation is idempotent, or what the response looks like. For a mutation tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Portuguese that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 5 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what happens after adding a task, what the return value might be, or any error conditions. The description alone doesn't provide enough context for an agent to understand the full implications of using this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with all 5 parameters well-documented in the schema itself. The description adds no parameter information beyond what's already in the schema, so it doesn't enhance parameter understanding. With high schema coverage, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Adiciona' - adds) and resource ('uma nova tarefa à lista' - a new task to the list), providing a specific verb+resource combination. However, it doesn't distinguish this tool from its sibling 'todo_create', which appears to serve a similar purpose based on naming, leaving some ambiguity about differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'todo_create' or 'todo_list'. There's no mention of prerequisites, constraints, or appropriate contexts for this specific add operation versus other todo-related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

todo_completeC

Marca uma tarefa como concluída

ParametersJSON Schema
NameRequiredDescriptionDefault
listTitleYesTítulo da lista
taskTitleYesTítulo da tarefa

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool marks a task as completed, implying a mutation, but doesn't address permissions, side effects (e.g., if completion is reversible), error handling, or response format. This is inadequate for a mutation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Portuguese ('Marca uma tarefa como concluída') that directly states the tool's purpose with zero waste. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks information on behavioral traits (e.g., what happens on success/failure), return values, or error conditions, which are critical for an agent to use it correctly in context with siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with both parameters (listTitle and taskTitle) documented in the schema. The description doesn't add any meaning beyond what the schema provides (e.g., it doesn't explain how to identify the task or list). Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Marca uma tarefa como concluída' clearly states the action (marks as completed) and the resource (a task). It's specific about what the tool does, though it doesn't explicitly differentiate from sibling tools like todo_add or todo_create, which would require a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., the task must exist), exclusions, or comparisons to siblings like todo_list or todo_show, leaving the agent without contextual usage information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

todo_createC

Cria uma nova lista de tarefas

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTítulo da lista
descriptionNoDescrição da lista (opcional)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool creates a new task list, implying a write operation, but lacks details on permissions required, whether creation is idempotent, error handling (e.g., if a list with the same title exists), or response format (since no output schema exists). For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence: 'Cria uma nova lista de tarefas.' It's front-loaded with the core action and resource, with no wasted words or redundant information. This makes it easy to parse quickly, though its brevity contributes to gaps in other dimensions like guidelines and transparency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a write operation with no annotations and no output schema), the description is incomplete. It doesn't address behavioral aspects like authentication needs, error conditions, or what happens on success (e.g., returns a list ID). With siblings like 'todo_list' and 'todo_show', more context on how this tool fits into the workflow is missing, leaving users under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description doesn't add any parameter-specific information beyond what the input schema provides. The schema has 100% description coverage, with clear docs for 'title' and 'description', so the baseline is 3. The description doesn't explain parameter interactions (e.g., how title uniqueness is handled) or provide examples, but it doesn't need to compensate for schema gaps either.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Cria uma nova lista de tarefas' (Creates a new task list). It specifies the verb 'cria' (creates) and the resource 'lista de tarefas' (task list), making the action and target explicit. However, it doesn't differentiate from sibling tools like 'todo_add' (which likely adds items to an existing list) or 'todo_list' (which likely lists existing lists), leaving some ambiguity about when to choose this tool over others.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether authentication is needed), exclusions (e.g., cannot create duplicate lists), or comparisons to siblings like 'todo_add' (for adding tasks) or 'todo_list' (for viewing lists). Without such context, users must infer usage from the tool name alone, which is insufficient for optimal selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

todo_listC

Lista todas as listas de tarefas

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions listing but doesn't disclose behavioral traits such as pagination, sorting, authentication needs, rate limits, or what happens if no lists exist. For a tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Portuguese ('Lista todas as listas de tarefas'), which is appropriately sized and front-loaded. There's no wasted text, though it could be slightly more informative without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is incomplete. It lacks context on return values, error handling, or how it interacts with sibling tools, making it inadequate for full agent understanding despite the low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and schema description coverage is 100%, so no parameter information is needed. The description doesn't add param semantics, but with no parameters, a baseline of 4 is appropriate as it doesn't need to compensate for gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Lista todas as listas de tarefas' (Lists all task lists) states a clear verb ('Lista') and resource ('listas de tarefas'), but it's vague about scope and doesn't differentiate from sibling tools like 'todo_show'. It provides a basic purpose but lacks specificity about what 'all' entails (e.g., user-specific vs. global).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'todo_show' or 'todo_create'. The description implies a listing function but doesn't specify contexts, prerequisites, or exclusions, leaving the agent without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

todo_showC

Mostra os detalhes de uma lista específica

ParametersJSON Schema
NameRequiredDescriptionDefault
listTitleYesTítulo da lista

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool shows details, implying a read-only operation, but doesn't confirm if it's safe (non-destructive), specify authentication needs, rate limits, or error handling (e.g., what happens if the list doesn't exist). For a tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the purpose without unnecessary words. It's appropriately sized for a simple tool, though it could be slightly more front-loaded by including key details upfront. There's no wasted text, earning a high score for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It doesn't explain what 'detalhes' includes in the output, potential errors, or behavioral traits. While the schema covers the parameter, the lack of output schema means the description should ideally hint at return values, but it doesn't, leaving gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'listTitle' documented as 'Título da lista'. The description doesn't add any meaning beyond this, such as format examples or constraints. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Mostra os detalhes de uma lista específica' clearly states the verb ('Mostra' - shows) and resource ('detalhes de uma lista específica' - details of a specific list), making the purpose understandable. It distinguishes from siblings like todo_add (adds items), todo_complete (marks items as done), todo_create (creates lists), and todo_list (lists all lists) by focusing on showing details of a single list. However, it doesn't specify what 'detalhes' includes (e.g., items, metadata), which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., that the list must exist), exclusions (e.g., not for editing), or comparisons to siblings like todo_list (which lists all lists) or todo_create (which creates new lists). This lack of contextual guidance leaves the agent to infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedtodo_add
    • First observedtodo_complete
    • First observedtodo_create
    • First observedtodo_list
    • First observedtodo_show

TDQS

B3.2/5.0

Scored across 5 tools

Disambiguation3/5

The tools have clear purposes but some overlap exists, particularly between 'todo_add' (add a task to a list) and 'todo_create' (create a new task list), which could cause confusion if an agent needs to distinguish between adding tasks and creating lists. Descriptions help clarify, but the boundary is not perfectly distinct.

Naming Consistency5/5

All tool names follow a consistent 'todo_' prefix with a descriptive verb (add, complete, create, list, show), using snake_case uniformly. This predictable pattern makes it easy for agents to understand and navigate the toolset.

Tool Count5/5

With 5 tools, this server is well-scoped for a TODO checklist domain, covering core operations like creating lists, adding tasks, marking completion, and viewing details. Each tool earns its place without feeling excessive or insufficient.

Completeness3/5

The toolset covers basic CRUD operations but has notable gaps, such as missing update and delete functions for tasks or lists (e.g., no 'todo_update' or 'todo_delete'). Agents can work around this by using existing tools, but it limits full lifecycle management.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enhanced TickTick task management server that provides rich functionality including task assignment, section management, comments, and batch operations with significantly improved performance through checkpoint sync.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server for managing todo lists and items with advanced features including task assignment, priorities, recurrence, filtering, and webhook notifications.
    1
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server for task/ticket management with dependency tracking, supporting CRUD operations, status management, project filtering, and automatic data migrations.
    27 npm
    1
    -