gitlab kanban mcp server

Local 2025-09-01 00:55:34 0

A Model Context Protocol server that enables management of GitLab Kanban boards through tools for listing, creating, updating, and deleting tasks, as well as adding comments.


GitLab Kanban MCP
EN doc JA doc
GitLab TypeScript Node.js MCP SDK MIT License

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

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.

[
  {
    "description": "プロジェクトのカンバンボードのタスク一覧を取得",
    "inputSchema": {
      "properties": {
        "projectId": {
          "description": "GitLabプロジェクトID",
          "type": "string"
        }
      },
      "required": [
        "projectId"
      ],
      "type": "object"
    },
    "name": "list_tasks"
  },
  {
    "description": "カンバンボードに新しいタスクを作成",
    "inputSchema": {
      "properties": {
        "description": {
          "description": "タスクの説明",
          "type": "string"
        },
        "labels": {
          "description": "タスクのラベル",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "projectId": {
          "description": "GitLabプロジェクトID",
          "type": "string"
        },
        "title": {
          "description": "タスクのタイトル",
          "type": "string"
        }
      },
      "required": [
        "projectId",
        "title"
      ],
      "type": "object"
    },
    "name": "create_task"
  },
  {
    "description": "カンバンボードのタスクを更新",
    "inputSchema": {
      "properties": {
        "description": {
          "description": "新しい説明",
          "type": "string"
        },
        "issueId": {
          "description": "タスク(Issue)のID",
          "type": "string"
        },
        "projectId": {
          "description": "GitLabプロジェクトID",
          "type": "string"
        },
        "state": {
          "description": "タスクの状態",
          "enum": [
            "opened",
            "closed"
          ],
          "type": "string"
        },
        "title": {
          "description": "新しいタイトル",
          "type": "string"
        }
      },
      "required": [
        "projectId",
        "issueId"
      ],
      "type": "object"
    },
    "name": "update_task"
  },
  {
    "description": "カンバンボードのタスクを削除",
    "inputSchema": {
      "properties": {
        "issueId": {
          "description": "タスク(Issue)のID",
          "type": "string"
        },
        "projectId": {
          "description": "GitLabプロジェクトID",
          "type": "string"
        }
      },
      "required": [
        "projectId",
        "issueId"
      ],
      "type": "object"
    },
    "name": "delete_task"
  },
  {
    "description": "タスクにコメントを追加",
    "inputSchema": {
      "properties": {
        "body": {
          "description": "コメントの内容(Markdown形式対応)",
          "type": "string"
        },
        "issueId": {
          "description": "タスク(Issue)のID",
          "type": "string"
        },
        "projectId": {
          "description": "GitLabプロジェクトID",
          "type": "string"
        }
      },
      "required": [
        "projectId",
        "issueId",
        "body"
      ],
      "type": "object"
    },
    "name": "add_comment"
  }
]