Kanban MCP Server
Provides persistent storage for Kanban tasks and user data, enabling task management with priorities, tags, and status tracking across todo, in-progress, and done states.
Click on "Install 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., "@Kanban MCP Servershow me tasks due this week and their status distribution"
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.
Kanban-MCP
A Model Context Protocol (MCP) server for managing Kanban-style tasks with analytics, built using Node.js, TypeScript, and MongoDB (via Mongoose).
Features
Create, update, and manage tasks with priorities, tags, and statuses (todo, inProgress, done)
Task analytics: lead time, cycle time, and status distribution
MCP-compliant server with stdio transport
MongoDB integration with user-based task filtering
Task caching for performance
Related MCP server: Project Tracking MCP Server
Project Structure
Kanban-MCP/
├── src/
│ ├── index.ts # Main MCP server logic
│ └── utils/
│ ├── mongoose.ts # Mongoose DB utilities
│ ├── Task.d.ts # Task type definitions
│ └── User.d.ts # User type definitions
├── build/ # Compiled JS output
├── .vscode/mcp.json # MCP server config
├── package.json # NPM dependencies and scripts
├── tsconfig.json # TypeScript configGetting Started
Prerequisites
Node.js (v18+ recommended)
MongoDB instance
Setup
Clone the repository:
git clone <repo-url> cd Kanban-MCPInstall dependencies:
npm installConfigure environment variables:
Create a
.envfile in the root directory with:MONGODB_URI=your_mongodb_uri KANBAN_USERNAME=your_username DBNAME=your_db_name
Build the project:
npm run buildStart the MCP server: When starting the repo, VS Code will prompt you to start the MCP server.
Usage
The server exposes MCP tools for creating, moving, and prioritizing tasks.
Analytics can be retrieved via the
tasks-analyticsprompt.See
src/index.tsfor tool and prompt definitions.
Development
Source code is in
src/, compiled output inbuild/.TypeScript is used for type safety and modern JS features.
Use the provided VS Code MCP config for local development.
License
MIT
Tech Stack
Node.js: JavaScript runtime for server-side logic
TypeScript: Strongly-typed language for safer code
MongoDB: NoSQL database for task storage
Mongoose: ODM for MongoDB integration
VS Code MCP: Integration for Model Context Protocol tools
Available Tools
4 toolsadd-tagC
add tags to a tasks
| Name | Required | Description | Default |
|---|---|---|---|
| task_tag | Yes | ||
| task_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool adds tags, implying a mutation operation, but doesn't disclose behavioral traits like whether tags are appended or replaced, if there are rate limits, permission requirements, or what happens on success/failure. The description adds minimal value beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (three words) and front-loaded with the core action. However, the grammatical error ('tasks' instead of 'task') slightly reduces clarity. It earns its place by stating the purpose but could be more polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 0% schema description coverage for a mutation tool with 2 parameters, the description is incomplete. It lacks details on behavior, parameter meanings, return values, and error handling, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema provides no parameter documentation. The description mentions 'tags' and 'tasks' but doesn't explain what 'task_tag' and 'task_id' parameters represent, their formats, or constraints. It adds minimal semantic value beyond what's inferable from parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('add tags') and target ('to a tasks'), but has grammatical issues ('tasks' should be singular) and lacks specificity about what kind of tags or tasks. It distinguishes from siblings like 'create-task' and 'move-task' by focusing on tagging rather than creation or movement, but doesn't clearly differentiate from potential tagging alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., task must exist), exclusions, or comparisons with sibling tools. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-taskC
create a new todo task
| Name | Required | Description | Default |
|---|---|---|---|
| task_title | Yes | ||
| description | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate openWorldHint=true, idempotentHint=false, and destructiveHint=false, which the description doesn't contradict. The description adds minimal behavioral context by implying creation of a new entity, but it doesn't elaborate on permissions, side effects, or response format. With annotations covering key traits, the description adds some value but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded and directly states the action, making it easy to parse quickly. This is an example of appropriate brevity for a straightforward tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and minimal parameter details, the description is incomplete. It doesn't cover what the tool returns, error conditions, or how it interacts with the system. For a creation tool with no output schema, more context on the result or usage would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two required parameters with 0% description coverage, so the schema provides no semantic details. The description doesn't explain what 'task_title' or 'description' represent, their formats, or constraints. However, for a simple creation tool with only two parameters, the baseline is adequate but leaves room for improvement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'create a new todo task' clearly states the verb ('create') and resource ('todo task'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'add-tag' or 'move-task' beyond the basic action, and the title annotation repeats the same phrase, making it somewhat redundant rather than distinctive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing an existing task list, or compare it to siblings like 'add-tag' for modifying tasks. This leaves the agent with no context for selection beyond the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move-taskB
move a task to a different status
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | ||
| new_status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide openWorldHint=true (allows unknown statuses), idempotentHint=false (non-idempotent), and destructiveHint=false (non-destructive). The description adds no behavioral details beyond this, but since annotations cover key traits (non-destructive, non-idempotent), the bar is lower. No contradiction exists, and the description doesn't add extra context like rate limits or auth needs, but it doesn't mislead either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'move a task to a different status'. It's front-loaded with the core action, has zero waste, and is appropriately sized for the tool's complexity. Every word earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 parameters with 0% schema coverage, no output schema, and annotations covering safety (non-destructive) and idempotency, the description is minimal but adequate for a simple status-change tool. It lacks details on return values, error cases, or side effects, but annotations help fill gaps. For this complexity, it's borderline complete but could be more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it adds no parameter details. It implies 'task_id' and 'new_status' usage but doesn't explain semantics (e.g., what 'new_status' values mean or format for 'task_id'). With 2 parameters and no schema descriptions, baseline is low, but the enum for 'new_status' provides some structure. The description offers minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'move a task to a different status' clearly states the action (move) and resource (task), but it's somewhat vague about what 'move' entails—it could imply changing status, reassigning, or relisting. It distinguishes from siblings like 'create-task' (creation vs. modification) and 'add-tag' (tagging vs. status change), but lacks specificity on the exact operation beyond the title restatement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., task must exist), exclusions (e.g., cannot move to same status), or compare to siblings like 'set-priority' for priority changes. Usage is implied by the action but not explicitly defined, leaving gaps for an agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set-prioityC
set a task to a different priority
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | ||
| new_priority | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide hints (openWorldHint: true, idempotentHint: false, destructiveHint: false), covering safety and idempotency. The description adds no behavioral context beyond this, such as error handling, permission requirements, or side effects. It doesn't contradict annotations, but fails to supplement them with additional insights.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and appropriately sized for a simple tool, though it could be more informative without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema) and annotations covering key hints, the description is minimally adequate. It states what the tool does but lacks details on outcomes, error cases, or integration with siblings, leaving gaps in contextual understanding for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only implies parameters without detailing them. It mentions 'task' and 'priority', aligning with 'task_id' and 'new_priority', but adds no meaning beyond the schema's enum for priority or task_id format. Baseline 3 is appropriate as the schema defines parameters clearly despite low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'set a task to a different priority' clearly states the action (set) and resource (task priority), but it's vague about scope and doesn't distinguish from siblings like 'move-task' or 'add-tag'. It restates the title verbatim, lacking specificity beyond the basic operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., task must exist), exclusions, or compare to siblings like 'move-task' for context changes. The description offers only the basic function without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v1.0.0- Added
add-tag
3 tool updates
- First observed
create-task - First observed
move-task - First observed
set-prioity
TDQS
Each tool has a clearly distinct purpose: add-tag modifies metadata, create-task creates new items, move-task changes workflow status, and set-prioity adjusts priority levels. There is no overlap in functionality, making tool selection straightforward for an agent.
The naming is mixed: add-tag and move-task use verb-noun patterns, while create-task and set-prioity use verb-noun but with inconsistent spelling (e.g., 'prioity' vs. 'priority'). This reduces predictability, though the tools remain readable.
With 4 tools, the count is appropriate for a kanban server, covering core operations like task creation, status movement, tagging, and priority setting. It is slightly lean but reasonable for the domain, lacking only minor features like task deletion or listing.
The toolset covers basic CRUD-like operations but has notable gaps: there is no tool to delete tasks, list tasks, or retrieve task details. This could lead to agent failures when full lifecycle management is needed, though core workflows are supported.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Task & board management for AI agents + humans. Kanban, comments, digests via MCP.
Manage projects, tasks, time tracking, and team collaboration through natural language.
Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.
Remote MCP for Kanban AI boards—manage projects, tasks, and comments from AI tools.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI-powered task management with Google Gemini integration, providing CRUD operations, task analytics, CSV export, and natural language interaction for comprehensive project management.-
- FlicenseNot gradedqualityDmaintenanceEnables project and task management through a lightweight SQLite database, allowing users to create projects, add categorized tasks, track status changes, and get project statistics through natural language commands.-
- AlicenseNot gradedqualityDmaintenanceEnables users to manage a personal Kanban board with tasks, subtasks, notes, and code clips using natural language via the Model Context Protocol.1MIT
- FlicenseAqualityDmaintenanceEnables comprehensive task management with groups, custom statuses, and task relationships, designed for AI assistants to manage tasks during conversations.17-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/0Thomas1/Kanban-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server