Skip to main content
Glama

Task MCP Server

A simple task management Model Context Protocol (MCP) server for Claude Desktop.

Features

  • ✅ Add new tasks

  • 📋 List all tasks

  • ✓ Mark tasks as completed

  • 🗑️ Delete tasks

Related MCP server: Task MCP Server

Installation

The easiest way to use this server is directly from GitHub using uvx:

{
  "mcpServers": {
    "task-manager": {
      "command": "uvx",
      "args": [
        "task-mcp-server",
        "--from",
        "git+https://github.com/YOUR_USERNAME/task-mcp-server.git"
      ]
    }
  }
}

Local Installation

# Clone the repository
git clone https://github.com/YOUR_USERNAME/task-mcp-server.git
cd task-mcp-server

# Install with uv
uv pip install -e .

# Run the server
task-mcp-server

Usage with Claude Desktop

  1. Open Claude Desktop configuration file:

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

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Add the server configuration:

{
  "mcpServers": {
    "task-manager": {
      "command": "uvx",
      "args": [
        "task-mcp-server",
        "--from",
        "git+https://github.com/YOUR_USERNAME/task-mcp-server.git"
      ]
    }
  }
}
  1. Restart Claude Desktop

  2. Look for the 🔌 icon to confirm the server is connected

Available Tools

  • add_task: Add a new task with title and optional description

  • list_tasks: Display all tasks with their status

  • complete_task: Mark a task as completed

  • delete_task: Remove a task from the list

Example Usage

In Claude Desktop, try:

  • "Add a task to buy groceries"

  • "List all my tasks"

  • "Mark task 1 as completed"

  • "Delete task 2"

Development

# Install dependencies
uv pip install -e .

# Run locally
uv run task-mcp-server

# Test with MCP inspector
npx @modelcontextprotocol/inspector uv run task-mcp-server

License

MIT

Available Tools

4 tools
add_taskC

Add a new task to the task list

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTask title
descriptionNoTask description (optional)

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 must fully disclose behavioral traits. It states 'Add a new task,' implying a write operation, but lacks details on permissions, side effects (e.g., if it triggers notifications), error handling, or response format. For a mutation tool with zero annotation coverage, this is a significant gap, as it doesn't clarify what happens upon success or failure beyond the basic action.

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 that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse. There's no redundancy or fluff, and it fits well within the context of a simple task addition tool, earning a high score for brevity and clarity.

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 complexity of a write operation with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns upon success (e.g., a task ID or confirmation) or failure scenarios, nor does it cover behavioral aspects like idempotency or constraints. For a mutation tool, this leaves critical gaps in understanding how to invoke it effectively and interpret results.

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 clear descriptions for both parameters ('title' and 'description'), so the schema already documents their purposes. The description adds no additional meaning beyond implying these parameters are used for task creation. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't enhance parameter understanding beyond what's in the structured data.

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 ('Add') and resource ('new task to the task list'), making the purpose immediately understandable. It distinguishes from siblings like 'complete_task' or 'delete_task' by specifying creation rather than modification or deletion. However, it doesn't explicitly differentiate from 'list_tasks' in terms of operation type, though the verb 'Add' implies a write operation versus a read operation.

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, such as needing an existing task list, or compare it to sibling tools like 'list_tasks' for viewing tasks or 'complete_task' for updating them. There's no indication of when not to use it, such as for editing existing tasks, leaving the agent to infer usage from context alone.

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

complete_taskC

Mark a task as completed

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesID of the task to complete

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. 'Mark a task as completed' implies a mutation operation, but it doesn't specify whether this requires permissions, if it's reversible, what happens to subtasks or dependencies, or what the response looks like. This leaves significant behavioral gaps for a mutation tool.

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 with zero wasted words. It's front-loaded with the core action and resource, making it immediately understandable without unnecessary elaboration.

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 no annotations and no output schema, the description is insufficient. It doesn't explain what 'completed' means in this context (e.g., status change, timestamp update), whether there are side effects, or what the agent should expect after invocation. Given the complexity of task completion operations, more context is needed.

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?

Schema description coverage is 100% (the single parameter 'task_id' is fully documented in the schema), so the baseline is 3. The description doesn't add any parameter-specific details beyond what the schema provides (e.g., format examples, validation rules), but it doesn't need to since the schema already covers it adequately.

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 verb ('Mark') and resource ('a task') with the specific action 'as completed'. It distinguishes from siblings like 'add_task' (create), 'delete_task' (remove), and 'list_tasks' (read), but doesn't explicitly mention these distinctions in the description itself.

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 'delete_task' or how it relates to 'list_tasks'. It doesn't mention prerequisites (e.g., task must exist) or contextual constraints, leaving the agent to infer usage from the tool name alone.

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

delete_taskC

Delete a task

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesID of the task to delete

TDQS

C2.7/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. 'Delete a task' implies a destructive, irreversible mutation, but it doesn't specify permissions needed, whether deletion is permanent or soft, error conditions, or side effects. For a destructive tool with zero annotation coverage, this is a significant gap in safety and operational context.

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 extremely concise at just three words, with zero wasted text. It's front-loaded with the core action and resource, making it easy to parse. For a simple tool, this brevity is appropriate and efficient.

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 destructive nature, lack of annotations, and no output schema, the description is incomplete. It doesn't address critical aspects like what happens after deletion (e.g., confirmation, error handling), return values, or how it interacts with sibling tools. For a mutation tool with no structured support, more context is needed to guide safe usage.

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 single parameter 'task_id' documented as 'ID of the task to delete'. The description adds no additional meaning beyond this, such as format examples or constraints. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, but there's no extra value from the description.

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 'Delete a task' clearly states the action (delete) and resource (task), which meets the basic requirement. However, it doesn't differentiate this tool from its siblings like 'complete_task' or 'add_task' beyond the obvious verb difference. It's specific enough to understand the core function but lacks nuance about what distinguishes deletion from other task modifications.

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., task must exist), when deletion is appropriate versus completion, or any constraints. With siblings like 'complete_task' and 'list_tasks', the agent receives no help in choosing between these operations for task management.

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

list_tasksA

List all tasks

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It indicates a read-only list operation, but does not mention output format, pagination, ordering, or whether deleted tasks are included. No contradiction with annotations exists.

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 two words and completely free of filler. It is front-loaded and every word adds meaning, making it appropriate for such a simple tool.

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

Completeness3/5

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

Given the low complexity (no parameters, no output schema), the description is minimally adequate. However, it does not disclose return value structure or any edge-case behavior, which would be helpful for a complete contextual picture.

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 input schema has zero parameters and full schema coverage, so the description does not need to explain parameters. The baseline for 0-parameter tools is 4, and the description does not detract from this.

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

Purpose5/5

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

The description 'List all tasks' clearly states the action (list) and resource (tasks), with 'all' specifying scope. It distinguishes itself from task-related sibling tools like create_task, update_task, and delete_task.

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

Usage Guidelines3/5

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

Usage is implied by the tool name and sibling context: it is for retrieving tasks. However, the description offers no explicit 'when to use' or 'alternatives' guidance, leaving the agent to infer from the name 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. 4 tool updatesv0.1.0
    • First observedadd_task
    • First observedcomplete_task
    • First observeddelete_task
    • First observedlist_tasks

TDQS

B3.1/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: add_task creates new tasks, complete_task updates task status, delete_task removes tasks, and list_tasks retrieves tasks. There is no overlap in functionality, making it easy for an agent to select the correct tool for any operation.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (add_task, complete_task, delete_task, list_tasks), using snake_case throughout. This predictability enhances usability and reduces confusion.

Tool Count5/5

With 4 tools, this server is well-scoped for a task management domain, covering essential CRUD operations (create, read, update, delete) without unnecessary bloat. Each tool earns its place in the set.

Completeness5/5

The tool surface provides complete CRUD/lifecycle coverage for task management: add_task (create), list_tasks (read), complete_task (update), and delete_task (delete). There are no obvious gaps, allowing agents to handle all core workflows without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that integrates with Notion's API to manage personal todo lists, allowing users to view, add, and update tasks directly from Claude.
    31
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A task management MCP server that provides tools to create, list, complete, and delete tasks using pluggable storage backends. It enables users to interact with their task lists through natural language using MCP-compatible clients like Claude Desktop.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A persistent todo list server that enables AI assistants to manage tasks across different platforms using the Model Context Protocol. It provides tools for creating, listing, updating, and deleting todos with support for priorities, tags, and due dates.
    MIT