Skip to main content
Glama
README.md
<div align="center">
  <img src="assets/header.svg" alt="GitLab Kanban MCP" width="800">

  <div>
    <a href="README.md"><img src="https://img.shields.io/badge/english-document-white.svg" alt="EN doc"></a>
    <a href="README.ja.md"><img src="https://img.shields.io/badge/ドキュメント-日本語-white.svg" alt="JA doc"/></a>
  </div>

  <div>
    <a href="https://gitlab.com"><img src="https://img.shields.io/badge/GitLab-FC6D26?style=for-the-badge&logo=gitlab&logoColor=white" alt="GitLab"></a>
    <a href="https://www.typescriptlang.org/"><img src="https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript"></a>
    <a href="https://nodejs.org/"><img src="https://img.shields.io/badge/Node.js-339933?style=for-the-badge&logo=nodedotjs&logoColor=white" alt="Node.js"></a>
    <a href="https://github.com/modelcontextprotocol/sdk"><img src="https://img.shields.io/badge/MCP_SDK-0.6.0-blue?style=for-the-badge" alt="MCP SDK"></a>
    <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge" alt="MIT License"></a>
  </div>
</div>

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

## 🏗️ 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

```bash
npm install
```

### 🔧 Configuration

Create a `.env` file with the following environment variables:

```env
GITLAB_TOKEN=your_gitlab_token
GITLAB_URL=your_gitlab_url  # default: https://gitlab.com
```

### 🛠️ Build

```bash
npm run build
```

For development with auto-rebuild:

```bash
npm run watch
```

## 🔍 Debugging

Since MCP servers communicate over stdio, we recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector):

```bash
npm run inspector
```

## 📝 Usage

### Cline Configuration

Add the following to your `cline_mcp_settings.json`:

```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.

TDQS

A3.5/5.0

Scored across 5 tools

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
ResponsivenessNo issues