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: Tasks 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 updatesv1.0.0
    • First observedadd_task
    • First observedcomplete_task
    • First observeddelete_task
    • First observedlist_tasks

TDQS

A3.5/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 or ambiguity between these four operations.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (add_task, complete_task, delete_task, list_tasks). The naming is predictable and uniform throughout the set.

Tool Count5/5

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

Completeness5/5

The tool set provides complete CRUD/lifecycle coverage for task management: adding, listing, completing (updating status), and deleting tasks. There are no obvious gaps or dead ends for agents working with tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A Python server that enables Claude to interact with Todoist's task management API, allowing users to create, manage, and organize tasks directly through Claude's interface.
    17
    9
    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.
    -
  • F
    license
    B
    quality
    D
    maintenance
    A simple task management server that allows users to add, list, complete, and delete tasks directly within Claude Desktop. It provides a suite of tools for efficient personal task organization using the Model Context Protocol.
    4
    -