Skip to main content
Glama
Sunwood-ai-labs

GitHub Kanban MCP Server

🎯 GitHub Kanban MCP Server

License: MIT TypeScript Node.js npm

📋 Overview

GitHub Kanban MCP Server is a Model Context Protocol (MCP) server for managing GitHub issues in Kanban board format and streamlining LLM task management.

Related MCP server: GitHub MCP Server

🚀 Features

  • 🔄 Manage GitHub issues in Kanban format

  • 🤖 Automated Task Management with LLM

  • 📊 Visualize project progress

  • 🔗 Full integration with GitHub

  • 💬 Comments on tasks

📁 Project Structure

kanban-server/
├── src/                    # ソースコードディレクトリ
│   ├── handlers/          # リクエストハンドラー
│   │   ├── comment-handlers.ts  # コメント関連の処理
│   │   ├── issue-handlers.ts    # Issue関連の処理
│   │   ├── label-handlers.ts    # ラベル関連の処理
│   │   └── tool-handlers.ts     # ツールリクエストの処理
│   ├── schemas/           # 入力スキーマ定義
│   │   ├── comment-schemas.ts   # コメント関連のスキーマ
│   │   └── issue-schemas.ts     # Issue関連のスキーマ
│   ├── utils/             # ユーティリティ関数
│   │   ├── error-handler.ts     # エラー処理
│   │   └── exec.ts             # コマンド実行関連
│   ├── server.ts          # MCPサーバーの実装
│   └── types.ts           # 型定義
├── docs/                  # ドキュメント
│   └── v0.2.0/           # バージョン別ドキュメント
└── assets/               # アセットファイル

🛠️ Installation

Prerequisites

  • Node.js 18.x or higher

  • npm 9.x or higher

  • GitHub CLI (gh)

# パッケージのインストール
npm install @sunwood-ai-labs/github-kanban-mcp-server

# GitHub CLIの認証設定
gh auth login

⚙️ Settings

Add the following to your MCP config file:

{
  "mcpServers": {
    "github-kanban": {
      "command": "github-kanban-mcp-server"
    }
  }
}

🔧 Available Tools

1. list_issues

Gets a list of issues on the Kanban board.

Input parameters:

  • repo : GitHub repository name (required)

  • state : The state of the issue ('open', 'closed', 'all').

  • labels : An array of labels to filter by.

2. create_issue

Create a new issue.

Input parameters:

  • repo : GitHub repository name (required)

  • title : Title of the issue (required)

  • emoji : Emoji to be added at the beginning of the title

  • body : The body of the issue

  • labels : An array of labels

  • assignees : Array of users to assign

3. update_issue

Update an existing issue.

Input parameters:

  • repo : GitHub repository name (required)

  • issue_number : Issue number (required)

  • title : New title

  • emoji : Emoji to be added at the beginning of the title

  • body : new body

  • state : The new state ('open', 'closed').

  • labels : An array of new labels

  • assignees : Array of new assignments

4. add_comment

Add a comment to the task.

Input parameters:

  • repo : GitHub repository name (required)

  • issue_number : ID of the task (issue) (required)

  • body : Comment content (Markdown format supported) (required)

  • state : The state of the issue to change when commenting ('open', 'closed')

📝 License

MIT License - See the LICENSE file.

🤝 Contributions

  1. Fork this repository

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

  3. Commit your changes ( git commit -m '✨ feat: 素晴らしい機能を追加' )

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

  5. Create a pull request

📮 Feedback

If you have any problems or suggestions, please create an issue .

Available Tools

4 tools
add_commentB

タスクにコメントを追加

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesコメントの内容(Markdown形式対応)
repoYesGitHubリポジトリ名
stateNoコメント時に変更するissueの状態(オプション)
issue_numberYesタスク(Issue)のID

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, and the description is too brief. It does not mention that the state parameter can modify the issue state, nor any side effects like notifications. The description fails to compensate for the absence of annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise but lacks structure and additional detail. It does not fully earn its place as the sole explanation.

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?

With 4 parameters, no output schema, and no annotations, the description is insufficient. It omits important context such as the return value, the effect of the optional state parameter, and that it operates on GitHub issues.

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 already documents all parameters. The description adds no additional semantic context beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (add a comment) and resource (task/issue), distinguishing it from sibling tools like create_issue which creates new issues.

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 like update_issue. It lacks context for appropriate usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_issueC

新しいissueを作成します

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoissueの本文(## の先頭には絵文字を付与して可読性を上げて)
pathNoGitリポジトリの絶対パス
emojiNoタイトルの先頭に付与するユニークな絵文字
titleYesissueのタイトル
labelsNoissueのラベル
assigneesNoアサインするユーザー

TDQS

C2.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided and description gives no behavioral details (e.g., permissions, side effects, return value).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise and direct. Could include more context but no unnecessary words.

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?

No output schema and description omits return type, success/error behavior, or any important constraints beyond the schema.

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 coverage is 100%, so parameter descriptions exist. The tool description adds no extra meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '新しいissueを作成します' clearly states it creates a new issue. This distinguishes it from siblings (add_comment, list_issues, update_issue).

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 on when to use this tool vs alternatives. Does not mention any prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_issuesC

カンバンボードのissue一覧を取得します

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoGitリポジトリの絶対パス
stateNoissueの状態
labelsNoフィルタリングするラベル

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. It only states it retrieves a list, but does not disclose behavioral traits such as whether it is read-only (implied but not explicit), pagination, ordering, or any side effects. The description is insufficient for an agent to understand side effects or constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is to the point and front-loaded with the action. It is concise and contains no filler. However, it could benefit from additional context while remaining efficient.

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 3 parameters, no output schema, and no annotations, the description is too minimal. It does not explain the output format or behavior (e.g., whether it returns all issues or paginated). The mention of Kanban board adds some context, but overall it lacks completeness for 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%, so the schema already documents the three parameters clearly. The tool description adds no additional meaning beyond the schema, meeting the baseline. It does not compensate for any gaps, but none exist.

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) and resource 'issue一覧' (list of issues) in the context of 'カンバンボード' (Kanban board). It distinguishes from sibling tools (add_comment, create_issue, update_issue) which are mutating. However, it does not explicitly state that it is read-only or mention filtering capabilities beyond the schema.

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 does not specify prerequisites, scenarios, or explicitly exclude other tools. Siblings are mentioned in context signals but not referenced in the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_issueC

既存のissueを更新します

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo新しい本文
pathNoGitリポジトリの絶対パス
emojiNoタイトルの先頭に付与する絵文字
stateNo新しい状態
titleNo新しいタイトル
labelsNo新しいラベル
assigneesNo新しいアサイン
issue_numberYesissue番号

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description offers no behavioral details such as whether fields are overwritten or merged, idempotency, or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence but under-specified for a tool with 8 parameters; lacks necessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (8 parameters, no output schema, no annotations), the description is completely inadequate, failing to explain update semantics or return behavior.

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 coverage is 100% with descriptions for all 8 parameters, so the description adds no further value; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description is a tautology: '既存のissueを更新します' simply restates the tool name without specifying what aspects can be updated or any unique behavior.

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 on when to use this tool versus siblings (add_comment, create_issue, list_issues). No mention of prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: list_issues retrieves issues, create_issue makes new ones, update_issue modifies existing ones, and add_comment adds comments to tasks. There is no overlap in functionality, making tool selection straightforward for an agent.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., list_issues, create_issue, update_issue, add_comment). The naming is uniform and predictable, with no deviations in style or convention.

Tool Count4/5

With 4 tools, the server is well-scoped for basic Kanban operations, covering listing, creating, updating issues, and adding comments. It feels slightly thin but reasonable for a focused purpose, as it lacks tools for deleting issues or managing boards directly.

Completeness3/5

The tools cover core CRUD-like operations for issues (list, create, update) and comments (add), but there are notable gaps: no delete_issue tool, no board management tools (e.g., move_issue, list_boards), and no way to retrieve or update comments. This could lead to agent workarounds or failures in full workflows.

Maintenance

ActivityStale
ResponsivenessUnresponsive

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

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/github-kanban-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server