GitLab Kanban MCP Server
The GitLab Kanban MCP Server enables management of GitLab Kanban boards via API operations. You can:
Retrieve task lists from a project's Kanban board
Create new tasks with optional labels and descriptions
Update existing tasks, including changing their state, title, or description
Delete tasks from the board
Add comments to tasks, supporting Markdown formatting
Provides tools for managing GitLab Kanban boards, including listing, creating, updating, and deleting tasks, as well as adding comments to existing tasks.
Built on Node.js runtime for executing the MCP server operations.
Uses TypeScript for type-safe implementation of the GitLab Kanban board operations.
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., "@GitLab Kanban MCP Serverlist tasks from project 'web-app' Kanban board"
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.
🎯 GitLab Kanban MCP Server
A Model Context Protocol server for managing GitLab Kanban board operations.
✨ Features
🛠️ Available Tools
list_tasks- Retrieve task list from project's Kanban boardcreate_task- Create a new task on the Kanban boardupdate_task- Update an existing taskdelete_task- Delete a task from the boardadd_comment- Add a comment to a task
Related MCP server: GitLab MCP Server
🏗️ Project Structure
src/
├── api/
│ └── gitlab.ts # GitLab API client and methods
├── config/
│ └── gitlab.ts # GitLab configuration
├── tools/
│ ├── handlers.ts # Tool handler implementations
│ └── schemas.ts # Tool schema definitions
└── index.ts # MCP server main entry point🚀 Getting Started
📦 Installation
npm install🔧 Configuration
Create a .env file with the following environment variables:
GITLAB_TOKEN=your_gitlab_token
GITLAB_URL=your_gitlab_url # default: https://gitlab.com🛠️ Build
npm run buildFor development with auto-rebuild:
npm run watch🔍 Debugging
Since MCP servers communicate over stdio, we recommend using the MCP Inspector:
npm run inspector📝 Usage
Cline Configuration
Add the following to your cline_mcp_settings.json:
{
"mcpServers": {
"gitlab-kanban-mcp-server": {
"command": "node",
"args": ["path/to/gitlab-kanban-mcp-server/build/index.js"],
"env": {
"GITLAB_TOKEN": "your_gitlab_token",
"GITLAB_URL": "your_gitlab_url"
}
}
}
}🤝 Contributing
Fork this repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m '✨ feat: Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Create a Pull Request
📄 License
This project is licensed under the MIT License.
Available Tools
5 toolsadd_commentC
タスクにコメントを追加
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | GitLabプロジェクトID | |
| issueId | Yes | タスク(Issue)のID | |
| body | Yes | コメントの内容(Markdown形式対応) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. 'タスクにコメントを追加' indicates a write operation (adding a comment), but it doesn't specify permissions required, whether comments are editable/deletable, rate limits, or response format. For a mutation tool with zero annotation coverage, this leaves significant behavioral gaps.
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 in Japanese that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with zero waste or redundancy.
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 complexity (a mutation operation with 3 required parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like permissions, side effects, or response expectations, leaving the agent with insufficient context for safe and 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 100%, with all three parameters (projectId, issueId, body) well-documented in the schema. The description adds no additional parameter semantics beyond what the schema provides (e.g., it doesn't clarify parameter relationships or usage examples). Baseline 3 is appropriate when schema does the heavy lifting.
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 'タスクにコメントを追加' (Add comment to task) clearly states the action (add) and target resource (comment to task). It distinguishes from siblings like create_task, delete_task, list_tasks, and update_task by focusing specifically on commenting rather than task lifecycle operations. However, it doesn't specify the exact scope (e.g., GitLab issue comments) beyond what the parameters imply.
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., needing an existing task), exclusions, or relationships with sibling tools like update_task (which might also modify task content). Usage is implied by the name and parameters but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_taskC
カンバンボードに新しいタスクを作成
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | GitLabプロジェクトID | |
| title | Yes | タスクのタイトル | |
| description | No | タスクの説明 | |
| labels | No | タスクのラベル |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool creates a task but doesn't mention permissions required, whether it's idempotent, error handling, or what happens on success (e.g., returns a task ID). This leaves significant gaps for a mutation tool.
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, clear sentence in Japanese that directly states the tool's purpose without unnecessary words. It's front-loaded and efficiently communicates the core action, earning full marks for conciseness.
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?
For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain behavioral aspects like authentication needs, side effects, or return values, leaving the agent with insufficient context to use it effectively beyond basic parameter passing.
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 100%, so the input schema fully documents all parameters. The description adds no additional meaning beyond implying a Kanban board context, which is already suggested by the tool name. Baseline 3 is appropriate as the schema handles parameter details.
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 clearly states the action ('create') and target resource ('new task on Kanban board'), which is specific and actionable. However, it doesn't differentiate from sibling tools like 'add_comment' or 'update_task' beyond the basic verb distinction, missing explicit comparison.
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 like 'update_task' or 'list_tasks'. The description lacks context about prerequisites, such as needing an existing project or board, or when creation is appropriate versus modification.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_taskC
カンバンボードのタスクを削除
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | GitLabプロジェクトID | |
| issueId | Yes | タスク(Issue)のID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool deletes a task, implying a destructive mutation, but doesn't describe critical behaviors: whether deletion is permanent or reversible, what permissions are required, how it affects related data, or error handling. For a destructive tool with zero annotation coverage, this is a significant gap.
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 in Japanese that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, with zero waste, making it easy to parse quickly.
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 complexity (destructive mutation with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like safety, permissions, or return values, leaving gaps for an AI agent to understand how to invoke it correctly. More context is needed for a tool of this nature.
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 100% description coverage, with clear documentation for projectId and issueId. The description adds no additional parameter semantics beyond what the schema provides (e.g., no examples, format details, or constraints). With high schema coverage, the baseline score of 3 is appropriate as the schema does the heavy lifting.
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 'カンバンボードのタスクを削除' (Delete a Kanban board task) clearly states the action (delete) and resource (task on Kanban board). It distinguishes from siblings like create_task or update_task by specifying deletion, though it doesn't explicitly differentiate from other potential deletion tools. The purpose is specific but lacks sibling differentiation details.
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., needing an existing task), exclusions (e.g., not for archived tasks), or comparisons to siblings like update_task for modifications. Usage is implied by the action but without explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasksC
プロジェクトのカンバンボードのタスク一覧を取得
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | GitLabプロジェクトID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't describe any behavioral traits - no mention of whether it's read-only, pagination behavior, rate limits, authentication requirements, or what format the task list returns. For a tool with zero annotation coverage, this is insufficient.
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 in Japanese that directly states the tool's purpose with zero wasted words. It's appropriately sized for a simple list operation and front-loads the essential information.
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 has no annotations, no output schema, and the description provides only basic purpose without behavioral context, this is incomplete. For a list operation that presumably returns task data, the description should at minimum indicate it's a read operation and mention basic return characteristics since there's no output schema to document this.
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 schema description coverage is 100% (the single parameter 'projectId' has a clear description in the schema), so the baseline is 3. The tool description adds no additional parameter information beyond what's already in the schema, maintaining the minimum viable level.
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 clearly states the verb ('取得' - get/retrieve) and resource ('プロジェクトのカンバンボードのタスク一覧' - project kanban board task list), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'create_task' or 'update_task' beyond the inherent difference in operation type.
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, appropriate contexts, or relationships to sibling tools like 'create_task' or 'update_task'. 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.
update_taskC
カンバンボードのタスクを更新
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | GitLabプロジェクトID | |
| issueId | Yes | タスク(Issue)のID | |
| title | No | 新しいタイトル | |
| description | No | 新しい説明 | |
| state | No | タスクの状態 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Update' implies a mutation, but it doesn't specify required permissions, whether changes are reversible, rate limits, or what happens to unspecified fields. This is a significant gap for a mutation tool with zero annotation coverage.
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 in Japanese that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.
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 complexity (a mutation with 5 parameters) and lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects like error handling, response format, or side effects, which are crucial for safe and effective use by an AI 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 100%, so the input schema fully documents all 5 parameters (e.g., 'projectId' as GitLab project ID, 'state' with enum values). The description adds no additional meaning beyond this, such as explaining how parameters interact or providing examples, which aligns with the baseline score when schema coverage is high.
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 'カンバンボードのタスクを更新' (Update a Kanban board task) clearly states the verb ('update') and resource ('Kanban board task'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'create_task' or 'delete_task', which would require specifying it's for modifying existing tasks rather than creating new ones or removing them.
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., needing an existing task), exclusions, or compare it to siblings like 'create_task' or 'delete_task', leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: list_tasks retrieves tasks, create_task adds new ones, update_task modifies existing tasks, delete_task removes them, and add_comment adds comments to tasks. There is no overlap or ambiguity in functionality, making tool selection straightforward for an agent.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., list_tasks, create_task, update_task). The naming is uniform and predictable across all five tools, enhancing readability and usability.
With 5 tools, this server is well-scoped for managing tasks in a GitLab Kanban board. Each tool serves a distinct and essential function (CRUD operations plus commenting), and there are no extraneous or missing tools for the domain.
The tool set provides complete CRUD coverage for tasks (list, create, update, delete) and includes an additional operation for adding comments. This covers the core lifecycle of Kanban tasks without any obvious gaps, ensuring agents can handle all basic workflows.
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
Remote MCP for Kanban AI boards—manage projects, tasks, and comments from AI tools.
Kanban board for teams and coding agents: manage tasks, subtasks, sprints and wiki pages via MCP.
Task & board management for AI agents + humans. Kanban, comments, digests via MCP.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables interaction with GitLab accounts to manage repositories, merge requests, code reviews, and CI/CD pipelines through natural language.4117921MIT
- -licenseNot gradedqualityNot gradedmaintenanceA Model Context Protocol server that enables AI assistants to interact with GitLab repositories, allowing tasks like managing merge requests, searching projects, and creating comments through RESTful API integration.192
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides AI assistants with structured access to kanban board functionality for managing tasks, columns, labels, and sprints.162MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with self-hosted GitLab instances through 30 specialized tools. It supports managing projects, merge requests, CI/CD pipelines, and repository operations via the GitLab REST API v4.30MIT
Appeared in Searches
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/Sunwood-ai-labs/gitlab-kanban-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server