Skip to main content
Glama
kanaparthikiran

mcp-tasks-server

mcp-tasks-server

A small Model Context Protocol server that exposes a personal task tracker to any MCP-compatible client (Claude Desktop, Claude Code, custom agents). Tasks live in a local SQLite database; no cloud, no surprises.

This is a reference implementation of an MCP server that takes real write-actions on persistent state — the kind of integration you build between an agentic AI platform and an enterprise system, scaled down to a laptop.

Tools exposed

Tool

Effect on state

add_task

Insert a new task

list_tasks

Read; optional status filter

complete_task

Update status='done'

delete_task

Hard-delete a task

summarize_by_status

Read; aggregate counts

Each tool has a JSON schema declared in code, validated on every call.

Related MCP server: TaskMCP

Quick start

python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python server.py

Wire into Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "tasks": {
      "command": "python",
      "args": ["/absolute/path/to/server.py"]
    }
  }
}

Then restart Claude Desktop. The tools appear in the MCP picker.

Sandbox / safety notes

  • Database file lives at ~/.local/share/mcp-tasks/tasks.db by default; override with MCP_TASKS_DB. The path is normalized and confined to the user's home directory.

  • delete_task requires the task ID to be an integer; no SQL is built from string concatenation. All queries use parameterized statements.

  • The server has no network listeners — communication is over stdio per the MCP spec.

Sample tool calls

The full request/response shapes for every tool are in examples/tool-call-examples.md. Highlights:

Tool

Example call

Example result

add_task

{"title": "Review RFC", "notes": "..."}

{"id": 1, "title": "...", "status": "open"}

list_tasks

{"status": "open"}

{"tasks": [...]}

complete_task

{"id": 1}

{"id": 1, "status": "done"}

summarize_by_status

{}

{"counts": {"open": 2, "done": 1}}

Design notes

  • Why SQLite? Embedded, transactional, present on every Python install. A real enterprise integration would target a service API; the contract on the agent side is identical.

  • Why explicit JSON schemas? Some MCP clients display the schemas to the user before approving a tool call. Putting them inline in the server makes tool surfaces self-documenting and gives the LLM unambiguous parameter contracts.

  • Why no auth? Personal/local server. For an enterprise MCP server you'd add OIDC token verification at the tool boundary and scope each tool to the calling principal's permissions.

License

MIT — see LICENSE.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

  • F
    license
    Not graded
    quality
    C
    maintenance
    A self-hosted Model Context Protocol server for Microsoft To Do. The key problem this solves: the Microsoft Graph API silently omits user-created lists on personal accounts (GET /me/todo/lists only returns well-known lists like "Flagged Emails"). This server works around it with a local SQLite registry that tracks every list you create, so your lists always show up.
    5
  • F
    license
    Not graded
    quality
    C
    maintenance
    A personal task management MCP server that allows LLM clients to create, read, update, and delete tasks with projects, labels, and comments, using a local SQLite database that can also be accessed via a web UI.
  • F
    license
    A
    quality
    C
    maintenance
    A small Model Context Protocol (MCP) server that lets an AI assistant manage a to-do list on your behalf.
    4
  • F
    license
    Not graded
    quality
    B
    maintenance
    This is a demo MCP server exposing SQLite-backed task management (CRUD), a calculator, and server metadata tools via the Model Context Protocol, and can be interacted with through natural language via any MCP-compatible client.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kanaparthikiran/mcp-tasks-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server