Skip to main content
Glama
dhruv-vootkuri

MCP Project Manager

MCP Project Manager

A custom MCP server exposing project-management tools (create_task, list_tasks, update_task) backed by SQLite. Built as the Day 1 lab for the Chiron AI Engineering onboarding program.

Tools

Tool

Required Params

Optional Params

create_task

title, priority (low/medium/high/critical)

description

list_tasks

status (todo/in_progress/done), priority

update_task

id, status

Related MCP server: Dooist

Project Layout

  • server.py — MCP server definition (tools, handlers) with stdio transport, for local use with Claude Code

  • server_sse.py — SSE transport wrapper around the same server, for remote/cloud deployment

  • db.py — async SQLite persistence layer

Local Development

uv sync
uv run python server.py          # stdio transport (for Claude Code)
uv run python server_sse.py      # SSE transport on :8000 (for testing deployment locally)

Use with Claude Code

A .mcp.json is included pointing at the local stdio server. Restart Claude Code after cloning, then ask it to create/list/update tasks — it will call the MCP tools directly.

Deployment (Railway / Render)

The repo includes a Procfile (web: uv run python server_sse.py) that both platforms understand.

  1. Connect this GitHub repo in the Railway or Render dashboard.

  2. Set the DB_PATH environment variable (e.g. /data/tasks.db if using a persistent volume).

  3. Deploy. The server listens on $PORT (defaults to 8000) and exposes GET /sse + POST /messages/.

  4. Point .mcp.json at the deployed URL:

{
  "mcpServers": {
    "project-manager": {
      "type": "sse",
      "url": "https://<your-app>.up.railway.app/sse"
    }
  }
}

Database

SQLite file at $DB_PATH (default tasks.db, gitignored). Schema:

CREATE TABLE tasks (
    id          INTEGER PRIMARY KEY AUTOINCREMENT,
    title       TEXT NOT NULL,
    description TEXT DEFAULT '',
    priority    TEXT NOT NULL CHECK(priority IN ('low','medium','high','critical')),
    status      TEXT NOT NULL DEFAULT 'todo' CHECK(status IN ('todo','in_progress','done')),
    created_at  TEXT NOT NULL,
    updated_at  TEXT NOT NULL
);
Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/dhruv-vootkuri/mcp-project-manager'

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