mcp-server

Kita12123/mcp-server

3.1

If you are the rightful owner of mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

MCPサーバーは、モデルコンテキストプロトコルを使用して、クライアントとサーバー間の通信を効率的に管理するためのサーバーです。

MCPサーバー for Redmine/GitHub

ClineからRedmineやGitHubを操作するためのMCPサーバーです。

概要

このプロジェクトは、自然言語を通じてRedmineのチケット操作やGitHubのIssue管理などを自動化することを目的としています。 拡張性を重視した設計になっており、将来的には他の外部サービスとの連携も容易に追加できます。

本サーバーはAWSなどのクラウド環境へのデプロイを想定しており、複数のユーザーが同時に利用できるアーキテクチャを採用しています。

機能一覧

現在実装されているツールは以下の通りです。

Redmine

  • チケット一覧取得 (redmine_get_issues): 担当者や件名でチケットを検索します。
  • チケット作成 (redmine_create_issue): 新しいチケットを作成します。
  • コメント追加 (redmine_add_comment): 既存のチケットにコメントを追加します。

GitHub

  • Issue一覧取得 (github_get_issues):担当者やラベルでIssueを検索します。
  • Issue作成 (github_create_issue): 新しいIssueを作成します。
  • コメント追加 (github_add_comment): 既存のIssueにコメントを追加します。
  • Pull Request一覧取得 (github_get_pull_requests): Pull Requestを検索します。
  • Pull Request作成 (github_create_pull_request): 新しいPull Requestを作成します。
  • Pull Requestマージ (github_merge_pull_request): Pull Requestをマージします。

Slack

  • メッセージ投稿 (slack_post_message): チャンネルにメッセージを投稿します。
  • チャンネル一覧取得 (slack_get_channel_list): 参加しているチャンネルの一覧を取得します。
  • メッセージ履歴取得 (slack_get_conversation_history): チャンネルのメッセージ履歴を取得します。

Git

  • 状態確認 (git_status): ワークツリーの変更状態を確認します。
  • ステージング (git_add): ファイルをステージングエリアに追加します。
  • コミット (git_commit): ステージングされた変更をコミットします。
  • プル (git_pull): リモートリポジトリから最新の変更を取得します。
  • プッシュ (git_push): ローカルのコミットをリモートリポジトリにプッシュします。

セットアップと実行方法(ローカル開発環境)

ローカル環境で開発やテストを行う際の手順です。本番環境へのデプロイについては、を参照してください。

1. 依存ライブラリのインストール

npm install

2. 環境変数の設定

サーバーを動作させるために、RedmineのURLを設定する必要があります。 プロジェクトのルートに .env ファイルを作成し、.env.example を参考に以下の内容を記述してください。

# Redmine
REDMINE_URL=https://your.redmine.jp

# (オプション) サーバーのデフォルトAPIキー
# REDMINE_API_KEY=your_redmine_api_key
# GITHUB_API_KEY=your_github_api_key

3. APIキーの設定について

このサーバーは、ユーザーごとにAPIキーを管理します。 ツールを初めて実行する際に、以下のようにAPIキーの入力を求められます。入力されたキーは安全に扱われ、プロンプト履歴には残りません。

Cline: RedmineのAPIキーを入力してください。
You: (専用の入力欄にAPIキーを入力)

一度入力したキーは、セッションが継続する限りサーバーに記憶されます。

4. ビルドとサーバー起動

以下のコマンドで、TypeScriptをコンパイルし、サーバーを起動します。

# ビルド
npm run build

# サーバー起動
npm run start

アーキテクチャ

このサーバーの設計思想やディレクトリ構造については、以下のドキュメントを参照してください。