taskboi
Click on "Deploy 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., "@taskboi show my tasks for today"
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.
Taskboi MCP
Public, deploy-source-only MCP integrations for Taskboi:
A portable Node.js stdio server in the repository root.
A remote OAuth-enabled Cloudflare Worker in
workers/.
Cloning this repository gives you source code only. It does not create a Taskboi Cloud account, provision a hosted API, register OAuth clients, or deploy infrastructure. Use configuration supplied by your Taskboi Cloud account, or provide equivalent configuration for an API and Worker environment you operate.
Stdio server
Install and build from source
npm ci
npm run buildRun the built server with:
TASKBOI_API_KEY=your-key \
TASKBOI_API_BASE_URL=https://api.example.invalid/functions/v1/mcp-api \
node dist/index.jsTASKBOI_API_KEY and TASKBOI_API_BASE_URL are required. The base URL has no
default and must be an absolute HTTPS URL with the exact path
/functions/v1/mcp-api, without credentials, query, fragment, surrounding
whitespace, or a trailing slash. The .invalid hostname above is inert; replace
it with the endpoint supplied by Taskboi Cloud or by your self-hosting operator.
For an MCP client, point the command at this checkout:
{
"mcpServers": {
"taskboi": {
"command": "node",
"args": ["/absolute/path/to/taskboi-mcp/dist/index.js"],
"env": {
"TASKBOI_API_KEY": "your-key",
"TASKBOI_API_BASE_URL": "https://api.example.invalid/functions/v1/mcp-api"
}
}
}
}Never commit the real values. An installed npm package can instead be launched
with its taskboi-mcp binary, but this repository's automation does not publish
packages.
Related MCP server: ticktick-mcp-server
Remote Worker
The Worker exposes the same MCP operations over Streamable HTTP and protects
them with OAuth 2.0 Authorization Code flow and S256 PKCE. Operators must supply
their own Cloudflare environment and runtime bindings. See
workers/README.md for configuration, local verification,
and deployment guidance.
Taskboi Cloud is a separately provisioned hosted service. Self-hosting the Worker does not grant API access or create Cloud accounts, endpoints, secrets, or OAuth registrations.
Available tools
Projects: list_projects, get_inbox, get_project, create_project,
update_project, and delete_project.
Tasks: list_tasks, get_task, get_today_tasks, get_upcoming_tasks,
get_subtasks, create_task, update_task, complete_task,
uncomplete_task, and delete_task.
Task recurrence uses RRULE strings such as FREQ=DAILY,
FREQ=WEEKLY;BYDAY=MO,WE,FR, or FREQ=DAILY;INTERVAL=2. Priority values are
0 (none), 1 (urgent), 2 (high), 3 (normal), and 4 (low).
Development
Install both packages, then run the canonical repository technical-health check from the repository root:
npm ci
npm --prefix workers ci
npm run checknpm run check tests and builds the stdio server, tests, type-checks, and
dry-run builds the Worker, audits both production dependency trees at high
severity, and enforces the workflow policy. The Worker build writes only
ignored local output. The current toolchain does not provide robust
unused-dependency analysis, so this check does not claim to detect unused
dependencies; dependency removals require targeted review and validation.
Generated builds, bundles, tarballs, and credentials must not be committed. See
CONTRIBUTING.md and SECURITY.md.
License
Licensed under the Apache License 2.0.
Available Tools
16 toolscomplete_taskA
Mark a task as complete. For recurring tasks, this also creates the next occurrence.
Inputs: id (required).
create_projectC
Create a new project
Inputs: name (required), icon, color.
create_taskC
Create a new task
Inputs: title (required), projectId (required), dueDate, dueTime, +4 more.
delete_projectA
Delete a project (cannot delete Inbox)
Inputs: id (required).
delete_taskC
Delete a task
Inputs: id (required).
get_inboxA
Get the default Inbox project
Inputs: no named parameters.
get_projectA
Get details of a specific project
Inputs: id (required).
get_subtasksB
Get all subtasks of a parent task
Inputs: parentId (required).
get_taskB
Get details of a specific task
Inputs: id (required).
get_today_tasksA
Get all tasks due today (including overdue recurring tasks)
Inputs: no named parameters.
get_upcoming_tasksB
Get all upcoming tasks with due dates
Inputs: no named parameters.
list_projectsA
List all projects in your Taskboi workspace
Inputs: no named parameters.
list_tasksA
List all tasks, optionally filtered by project
Inputs: projectId.
uncomplete_taskB
Mark a completed task as incomplete
Inputs: id (required).
update_projectC
Update an existing project
Inputs: id (required), icon, name, color.
update_taskA
Update an existing task. Omitted fields are left unchanged; to remove the due date, pass clearDueDate: true.
Inputs: id (required), title, dueDate, dueTime, +5 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 16 tools
Each tool targets a distinct action on a specific resource type (projects vs tasks), with specialized query tools (today, upcoming, subtasks) clearly differentiated by their purpose. The only potential overlap, get_inbox vs get_project, is resolved by get_inbox being a convenience for the default project. No two tools appear to do the same thing.
All tool names follow a consistent verb_noun pattern in snake_case, using verbs like list, get, create, update, delete, complete, and uncomplete. Even the specialized queries get_today_tasks and get_subtasks adhere to the same pattern, making the set predictable and easy to navigate.
With 16 tools, the set is slightly above the typical 3-15 range but still well-scoped for a task management server covering both projects and tasks. Each tool earns its place, covering CRUD plus specialized list and task-state operations. The count feels appropriate, not bloated.
The tool surface provides complete CRUD coverage for both projects and tasks, along with essential task lifecycle operations like complete and uncomplete. Specialized queries for today, upcoming, and subtasks fill common workflow needs. There are no obvious dead ends or missing critical operations for the stated domain.
Maintenance
Related MCP Connectors
Official Todoist MCP server. Manage tasks and projects. Hosted, no API key needed.
ADHD-friendly task management MCP server for ChaTodo: organize tasks, lists, and priorities.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to interact with the Taskwarrior command-line task management tool. It allows users to list, create, modify, and organize tasks using projects, tags, and annotations through natural language.132MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for TickTick API enabling task management, project organization, habit tracking, and more.45 npm73MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Todoist API integration, allowing management of tasks, projects, sections, labels, and comments through natural language.26 npmMIT
- AlicenseBqualityDmaintenanceA task management MCP server for AI-driven development, enabling creation, tracking, and organization of tasks with subtasks, priorities, and dependencies via natural language commands.136 npmMIT