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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。