MCP Project Manager Lab
A project management MCP server that exposes create_task, list_tasks, and update_task tools backed by SQLite for task tracking.
README
MCP Project Manager Lab
Course: Frontier Engineer Onboarding — Day 1: Claude Code Mastery & Context Engineering Lab: Lab 01 — Build & Deploy a Custom MCP Server (buildable subset) + Context Engineering exercise
What this is
A "Project Manager" MCP server exposing three tools — create_task, list_tasks,
update_task — backed by SQLite, plus a well-structured .claude/ configuration
directory (settings, custom commands, a hook, and CLAUDE.md).
Architecture
Claude Code (MCP Host) <--stdio--> MCP Server (this repo) <--> SQLite
|
|-- calls create_task
|-- calls list_tasks
|-- calls update_task
src/db.ts— SQLite persistence layer. Takes aDatabase.Databaseinstance as a parameter (dependency injection), so it's testable against:memory:without a live server process.src/tools.ts— zod schemas + descriptions for the 3 tools.src/server.ts— constructs theMcpServerand wires each tool to the db layer.src/index.ts— stdio entrypoint (createstasks.db, connects the transport).
Scope & Constraints
This lab is built analytically, matching this workspace's standing no-run/no-deploy convention:
- No deploys. Step 6 of the official lab brief (SSE transport + Railway/Render
deployment) is intentionally not built.
.mcp.jsononly contains the local stdio configuration. - No live runs. Step 5 (opening Claude Code and issuing live prompts against the
running server) is not performed.
src/index.tsis written but never executed. - Mocked/local data only. Tests exercise an in-memory (
:memory:) SQLite instance as a fixture. Notasks.dbfile is created or committed. - TDD without execution.
tests/db.test.tsandtests/tools.test.tsare written before their corresponding implementation files (see commit order), but the suite is never run (npm install/npm testare not executed).
Deliverables
- [x] MCP server with 3 tools (
create_task,list_tasks,update_task) - [x] SQLite persistence layer
- [x]
.mcp.jsonlocal stdio integration - [x]
.claude/directory:settings.json(permissions + 1 hook), 2 custom commands, well-structuredCLAUDE.md - [x] TDD test suite (written, not executed)
- [ ] Deployed to Railway/Render with SSE transport — out of scope (no-deploy constraint)
- [ ] Live end-to-end test via Claude Code — out of scope (no-run constraint)
Not built (stretch ideas from the brief, explicitly skipped)
- Extension Challenges: auth on the SSE layer, MCP resource endpoints, a second "Time Tracker" MCP server, prompt templates.
- Extra Exercises A-C: a dedicated database MCP server, an auto-test hook that actually executes test files on edit, a multi-agent git-worktree workflow.
These are skipped, not attempted-and-cut — none require running anything to describe, but building them well would; left out to keep this lab's scope to what's fully buildable and testable without execution.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.