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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedadd_comment
    • First observedcreate_issue
    • First observedlist_issues
    • First observedupdate_issue

TDQS

B3.2/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct operation: listing, creating, updating, or commenting on issues. No two tools overlap in purpose, so an agent can clearly distinguish them.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (list_issues, create_issue, update_issue, add_comment). The verbs are clear and predictable.

Tool Count5/5

With 4 tools, the server is tightly scoped to core Kanban board operations. Every tool serves a necessary function without redundancy or bloat.

Completeness4/5

The basic lifecycle of issues is covered (list, create, update, comment). Missing operations like deleting or archiving issues are a minor gap since GitHub issues are typically closed rather than deleted, but board-specific transitions are not explicitly exposed.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers