GTD MCP Server
Allows deploying the GTD MCP server as a Databricks App, using Unity Catalog and Delta tables for storage and SQL warehouse for queries.
Allows running the GTD MCP server locally with SQLite storage for tasks, projects, inbox, and statistics.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GTD MCP Servercapture in inbox: finish the quarterly report"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GTD MCP Server: Python FastMCP on Databricks Apps
A practical, self-learning Model Context Protocol (MCP) server tutorial built with Python, FastMCP, FastAPI, and Databricks Apps. The project implements a Getting Things Done assistant with typed MCP tools for tasks, projects, inbox capture, next actions, and statistics.
Run the same MCP server locally with Codex and SQLite, or deploy it as a custom
Databricks App backed by a Unity Catalog Delta table and SQL warehouse. The
server supports both stdio and Streamable HTTP at /mcp, and can be attached to
Databricks AI Playground through its Tools panel.
What You Will Learn
how to build an MCP server in Python with FastMCP,
how MCP tools, schemas, transports, and structured responses work,
how to connect a local MCP server to Codex,
how to deploy an MCP server with Databricks Apps,
how to use Databricks App resources, service-principal authentication, Unity Catalog, Delta tables, and a SQL warehouse,
how to keep domain logic portable between SQLite and Databricks storage.
Start with QUICKSTART.md for setup and deployment. Use ARCHITECTURE.md as the complete workshop and extension guide.
Keywords: Model Context Protocol, MCP server, Python MCP, FastMCP, FastAPI, Databricks Apps, Databricks AI Playground, Codex MCP, Unity Catalog, Delta Lake, SQL Warehouse, AI agents, GTD assistant.
The operational code lives in src/; setup notebooks and client integration
guides live in docs/.
Related MCP server: Agentic Tools MCP Server
Repository Map
gtd-mcp-server/
├── README.md # how to navigate and work with this repo
├── QUICKSTART.md # local and Databricks Apps startup paths
├── ARCHITECTURE.md
├── LICENSE
├── pyproject.toml # uv project metadata
├── uv.lock # locked local dependency set
├── src/ # server package and Databricks app config
└── docs/
├── databricks_setup_storage.py
├── databricks_playground.md
└── local_llm_ide.mdLocal runs create a SQLite database at .local/gtd.sqlite3 by default.
Databricks Apps use Delta storage.
Main Concepts
src/gtd_mcp_server/server.py: FastMCP tools, FastAPI routes, launchers.src/gtd_mcp_server/storage.py: storage abstraction, SQLite backend, Delta backend.src/gtd_mcp_server/models.py: GTD task, project, inbox, and stats models.src/app.yaml: Databricks Apps startup command.src/requirements.txt: dependencies installed by Databricks Apps.pyproject.toml: localuvproject metadata.uv.lock: locked local dependency set.docs/databricks_setup_storage.py: Databricks notebook that creates the Unity Catalog catalog, schema, and Delta table.docs/databricks_playground.md: how to attach the deployed app through the Playground Tools panel.docs/local_llm_ide.md: how to connect the local server to Codex.
Storage Modes
Local default:
GTD_STORAGE_BACKEND=sqlite
GTD_SQLITE_PATH=.local/gtd.sqlite3Databricks Apps:
GTD_STORAGE_BACKEND=delta
GTD_DELTA_TABLE=gtd_mcp.app.gtd_mcp_records
DATABRICKS_WAREHOUSE_ID=<warehouse-id>
DATABRICKS_HOST=<injected-by-databricks-apps>Before deployment, attach a SQL warehouse resource with key sql-warehouse
and a UC table resource with key table. app.yaml maps both resources into
environment variables with valueFrom; Databricks Apps injects
DATABRICKS_HOST and service-principal credentials.
Before deploying on Databricks, run docs/databricks_setup_storage.py as a
Databricks notebook. It creates the gtd_mcp catalog, app schema, and
gtd_mcp_records Delta table used by the server.
When DATABRICKS_APP_NAME is present and GTD_STORAGE_BACKEND is unset, the
server assumes delta.
Databricks Apps installs requirements.txt and starts the command from app.yaml:
uvicorn gtd_mcp_server.server:app --host 0.0.0.0 --port $DATABRICKS_APP_PORTDaily Workflow
From this folder:
uv sync
uv run gtd-mcp-serverThen use:
REST health check:
http://localhost:8000/healthMCP streamable HTTP endpoint:
http://localhost:8000/mcpOpenAPI docs for the helper REST API:
http://localhost:8000/docs
Use /mcp from an MCP client.
Maintenance
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/maciejkepa/gtd-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server