Tasks MCP Server

$bun install && bun run build
README.md

A task management MCP server with pluggable storage backends.

Tasks MCP Server

An MCP (Model Context Protocol) server for task management with pluggable storage backends.

Project Structure

tasks-mcp-server/
├── package.json          # Bun project config with MCP SDK dependencies
├── tsconfig.json         # TypeScript configuration
└── src/
    ├── index.ts          # Main MCP server entry point
    ├── types.ts          # Task types and Zod schemas
    └── services/
        ├── TaskService.ts       # Abstract TaskService interface
        └── InMemoryTaskService.ts  # In-memory implementation

Installation

bun install

Building

bun run build

Usage

# Start with default in-memory service
bun run start

# Specify service implementation
bun run start -- --service memory

# Show help
bun run start -- --help

Abstract TaskService Interface

The TaskService interface (src/services/TaskService.ts) defines the contract for task storage implementations:

  • list(status?) - List all tasks, optionally filtered by status
  • get(id) - Get a single task by ID
  • create(input) - Create a new task
  • complete(id) - Mark task as completed
  • delete(id) - Delete a task

Available Implementations

InMemoryTaskService (src/services/InMemoryTaskService.ts):

  • Stores tasks in a Map
  • Generates sequential IDs (task-1, task-2, etc.)
  • Tasks persist only during server runtime

MCP Tools

Tool Description
tasks_list List all tasks (supports filtering by status and markdown/json output)
tasks_create Create a new task with title and optional description
tasks_complete Mark a task as completed by ID
tasks_delete Delete a task permanently by ID

MCP Resources

Resource Description
task://{id} Access individual tasks by ID (template resource)
task://list List all tasks as JSON (static resource)

Integration

The server uses stdio transport, making it suitable for integration with MCP clients like Claude Desktop or other MCP-compatible applications.

Claude Desktop Configuration

Add to your Claude Desktop config:

{
  "mcpServers": {
    "tasks": {
      "command": "bun",
      "args": ["run", "/path/to/tasks-mcp-server/dist/index.js", "--service", "memory"]
    }
  }
}

Tools (4)

tasks_listList all tasks (supports filtering by status and markdown/json output)
tasks_createCreate a new task with title and optional description
tasks_completeMark a task as completed by ID
tasks_deleteDelete a task permanently by ID

Configuration

claude_desktop_config.json
{
  "mcpServers": {
    "tasks": {
      "command": "bun",
      "args": ["run", "/path/to/tasks-mcp-server/dist/index.js", "--service", "memory"]
    }
  }
}

Try it

Create a new task to 'Review the project documentation' with the description 'Check for typos and outdated links'.
List all my current tasks.
Show me only the tasks that are currently pending.
Mark task-1 as completed.
Delete the task with ID task-2.

Frequently Asked Questions

What are the key features of Tasks MCP Server?

Pluggable storage backends including an InMemoryTaskService.. Support for task CRUD operations: create, list, complete, and delete.. Resource templates for accessing individual tasks via task://{id}.. Static resource for listing all tasks as JSON via task://list..

What can I use Tasks MCP Server for?

Managing a personal todo list directly within Claude Desktop.. Tracking project milestones and action items during a coding session.. Quickly capturing tasks from a conversation without leaving the chat interface.. Filtering and viewing task statuses using natural language queries..

How do I install Tasks MCP Server?

Install Tasks MCP Server by running: bun install && bun run build

What MCP clients work with Tasks MCP Server?

Tasks MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Use Tasks MCP Server with Conare

Manage MCP servers visually, upload persistent context, and never start from zero with Claude Code & Codex.

Try Free