Skip to main content
Glama

🎯 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 board

  • create_task - Create a new task on the Kanban board

  • update_task - Update an existing task

  • delete_task - Delete a task from the board

  • add_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 build

For 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

  1. Fork this repository

  2. Create your feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m '✨ feat: Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Create a Pull Request

📄 License

This project is licensed under the MIT License.

Available Tools

5 tools
add_commentC

タスクにコメントを追加

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesGitLabプロジェクトID
issueIdYesタスク(Issue)のID
bodyYesコメントの内容(Markdown形式対応)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

カンバンボードに新しいタスクを作成

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesGitLabプロジェクトID
titleYesタスクのタイトル
descriptionNoタスクの説明
labelsNoタスクのラベル

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

カンバンボードのタスクを削除

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesGitLabプロジェクトID
issueIdYesタスク(Issue)のID

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

プロジェクトのカンバンボードのタスク一覧を取得

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesGitLabプロジェクトID

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

カンバンボードのタスクを更新

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesGitLabプロジェクトID
issueIdYesタスク(Issue)のID
titleNo新しいタイトル
descriptionNo新しい説明
stateNoタスクの状態

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

A3.5/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A 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.
    19
    2
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that provides AI assistants with structured access to kanban board functionality for managing tasks, columns, labels, and sprints.
    16
    2
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A 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.
    30
    MIT

Latest Blog Posts

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