Tududi MCP Server
Connects AI assistants to the Tududi productivity platform to manage tasks, projects, and notes using GTD methodology. It provides a standardized interface for LLMs to read and manipulate data through a suite of over 25 tools and resources.
README
Tududi MCP Server
A whitelabel Model Context Protocol (MCP) server that connects LLM-powered clients to Tududi — an open-source productivity and GTD (Getting Things Done) application created by Chris Vel.
Tududi helps users organise tasks, projects, notes, and areas following GTD methodology. This MCP server acts as a bridge, allowing AI assistants (Claude, Cursor, VS Code Copilot, etc.) to read and manipulate Tududi data through a standardised protocol.
Prerequisite: You need a running Tududi instance (self-hosted) with API access enabled. The MCP server connects to Tududi's REST API and does not include the Tududi application itself.
How it works
The server exposes a single MCP endpoint at app/mcp/route.ts built on Next.js Route Handlers. On each request, it:
- Authenticates — validates the bearer token against the Tududi instance's
/api/profileendpoint. - Registers modules — lazily loads all 8 domain modules (tasks, projects, notes, areas, inbox, tags, profile, metrics) and registers their tools and resources with the MCP server.
- Serves tools & resources — the connected MCP client discovers and invokes them as needed.
Authentication is handled via mcp-handler's withMcpAuth wrapper with token verification against the Tududi API.
Features
Tasks
- Tools (7):
list_tasks,get_task,create_task,update_task,delete_task,toggle_task_completion,list_subtasks - Resources (2):
tududi://tasks,tududi://tasks/{uid}
Projects
- Tools (4):
list_projects,create_project,update_project,delete_project - Resources (2):
tududi://projects,tududi://projects/{uid}
Notes
- Tools (4):
list_notes,create_note,update_note,delete_note - Resources (1):
tududi://notes
Areas
- Tools (4):
list_areas,create_area,update_area,delete_area - Resources (1):
tududi://areas
Inbox
- Tools (2):
list_inbox,create_inbox_item - Resources (1):
tududi://inbox
Tags
- Tools (2):
list_tags,create_tag - Resources (1):
tududi://tags
Profile
- Tools (2):
get_profile,update_profile - Resources (1):
tududi://profile
Metrics
- Tools (0)
- Resources (1):
tududi://metrics
Total: 25 tools and 10 resources
Prerequisites
- A running Tududi instance — self-host the original Tududi project and obtain an API token.
- Node.js 18+ or Bun runtime.
Whitelabel configuration
The server authenticates per-request using HTTP headers sent by the MCP client. The tududi-api-url header identifies the Tududi instance and the Authorization header carries the bearer token.
Client-side headers
| Header | Required | Description |
|---|---|---|
tududi-api-url |
Yes | Base URL of the Tududi instance (e.g. https://my-tududi.com) |
Authorization |
Yes | Bearer token for the Tududi API (Bearer <token>) |
tududi-enabled-modules |
No | Comma-separated list of modules to enable; defaults to all |
MCP client configuration example
{
"mcp": {
"servers": {
"tududi": {
"type": "http",
"url": "https://my-tududi-mcp.vercel.app/mcp",
"headers": {
"tududi-api-url": "https://my-tududi.com",
"Authorization": "Bearer my-api-token",
"tududi-enabled-modules": "tasks,projects,notes"
}
}
}
}
}
Available modules
tasks · projects · notes · areas · inbox · tags · profile · metrics
Setup & running
# Install dependencies
bun install
# Development
bun dev
# Build
bun build
# Production
bun start
After starting the server, the MCP endpoint is available at http://localhost:3000/mcp.
Tech stack
- Next.js 16 (Route Handlers)
- TypeScript (strict mode)
- MCP SDK (
@modelcontextprotocol/sdk) - mcp-handler (Next.js MCP adapter with auth support)
- Zod 4 (schema validation)
Project structure
├── app/mcp/route.ts # MCP endpoint — auth + handler setup
├── lib/tududi/
│ ├── client.ts # HTTP client for the Tududi REST API
│ ├── config.ts # Module names and config types
│ ├── types.ts # Shared TypeScript types
│ └── modules/
│ ├── index.ts # Module registry (lazy-loaded)
│ ├── tasks/ # 7 tools, 2 resources
│ ├── projects/ # 4 tools, 2 resources
│ ├── notes/ # 4 tools, 1 resource
│ ├── areas/ # 4 tools, 1 resource
│ ├── inbox/ # 2 tools, 1 resource
│ ├── tags/ # 2 tools, 1 resource
│ ├── profile/ # 2 tools, 1 resource
│ └── metrics/ # 1 resource
└── scripts/ # Test clients
Using with MCP clients
- Deploy this server (e.g. Vercel) or run it locally.
- Point your MCP client to the endpoint
https://your-host/mcp. - Set the
tududi-api-urlandAuthorizationheaders as shown above. - The client will auto-discover all registered tools and resources.
License
MIT
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.