Skip to main content
Glama
Sunwood-ai-labs

GitHub Kanban MCP Server

🎯 GitHub Kanban MCP Server

License: MIT TypeScript Node.js npm

📋 概要

GitHub Kanban MCP Serverは、GitHubのissueをカンバンボード形式で管理し、LLMのタスク管理を効率化するためのModel Context Protocol(MCP)サーバーです。

Related MCP server: GitHub MCP Server

🚀 特徴

  • 🔄 GitHubのissueをカンバン形式で管理

  • 🤖 LLMによる自動タスク管理

  • 📊 プロジェクトの進捗可視化

  • 🔗 GitHubとの完全な統合

  • 💬 タスクへのコメント機能

📁 プロジェクト構造

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/               # アセットファイル

🛠️ インストール

前提条件

  • Node.js 18.x以上

  • npm 9.x以上

  • GitHub CLI (gh)

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

# GitHub CLIの認証設定
gh auth login

⚙️ 設定

MCPの設定ファイルに以下を追加:

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

🔧 使用可能なツール

1. list_issues

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

入力パラメータ:

  • repo: GitHubリポジトリ名(必須)

  • state: issueの状態('open', 'closed', 'all')

  • labels: フィルタリングするラベルの配列

2. create_issue

新しいissueを作成します。

入力パラメータ:

  • repo: GitHubリポジトリ名(必須)

  • title: issueのタイトル(必須)

  • emoji: タイトルの先頭に付与する絵文字

  • body: issueの本文

  • labels: ラベルの配列

  • assignees: アサインするユーザーの配列

3. update_issue

既存のissueを更新します。

入力パラメータ:

  • repo: GitHubリポジトリ名(必須)

  • issue_number: issue番号(必須)

  • title: 新しいタイトル

  • emoji: タイトルの先頭に付与する絵文字

  • body: 新しい本文

  • state: 新しい状態('open', 'closed')

  • labels: 新しいラベルの配列

  • assignees: 新しいアサインの配列

4. add_comment

タスクにコメントを追加します。

入力パラメータ:

  • repo: GitHubリポジトリ名(必須)

  • issue_number: タスク(Issue)のID(必須)

  • body: コメントの内容(Markdown形式対応)(必須)

  • state: コメント時に変更するissueの状態('open', 'closed')

📝 ライセンス

MIT License - LICENSEファイルを参照してください。

🤝 コントリビューション

  1. このリポジトリをフォーク

  2. 機能ブランチを作成 (git checkout -b feature/amazing-feature)

  3. 変更をコミット (git commit -m '✨ feat: 素晴らしい機能を追加')

  4. ブランチにプッシュ (git push origin feature/amazing-feature)

  5. プルリクエストを作成

📮 フィードバック

問題や提案がありましたら、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