MCP Document & Task Server
Example Model Context Protocol (MCP) servers from the Medium article The Model Context Protocol (MCP): Fundamentals, Real-World Applications, and Building AI Agent Integrations.
Two self-contained MCP servers that any compatible AI host (Claude Desktop, Cursor, or a custom agent) can discover and use automatically.
Servers
server.py -- Document database with three tools:
search_documents(query)-- search documents by titleget_document(doc_id)-- retrieve a document by IDcreate_document(title, content, author)-- create a new document
task_server.py -- Task tracker with two tools:
search_tasks(query)-- search tasks by title keywordget_tasks_by_status(status)-- get tasks by status (todo,in_progress,done)
Quick Start
# Clone the repo
git clone https://github.com/deepujain/mcp-doc-server.git
cd mcp-doc-server
# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate
uv sync
Test with the MCP Inspector
# Document server
mcp dev server.py
# Task tracker (in a separate terminal)
mcp dev task_server.py
The Inspector opens in your browser. Click Tools > List Tools, select a tool, fill in the input, and hit Run Tool.
Connect to Cursor
Add to .cursor/mcp.json in your project root:
{
"mcpServers": {
"document-db": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-doc-server", "run", "server.py"]
},
"task-tracker": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-doc-server", "run", "task_server.py"]
}
}
}
Replace /path/to/mcp-doc-server with the actual path. Restart Cursor, then ask in agent chat:
"Find the Q1 report and summarize it"
"What tasks are in progress?"
Connect to Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"document-db": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-doc-server", "run", "server.py"]
},
"task-tracker": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-doc-server", "run", "task_server.py"]
}
}
}
Restart Claude Desktop. The tools appear automatically.
Requirements
- Python 3.10+
- UV package manager
License
MIT






