
MCP Server
SAS-Sasao
public
githubmcp
通过 GitHub API 提供仓库信息获取、问题和拉取请求操作的工具。
Repository Info
0
Stars
0
Forks
0
Watchers
0
Issues
JavaScript
Language
-
License
About This Server
通过 GitHub API 提供仓库信息获取、问题和拉取请求操作的工具。
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
# GitHub MCP サーバー
このMCPサーバーは、GitHub APIを使用して、リポジトリの情報取得やイシュー・プルリクエストの操作を行うための機能を提供します。
## MCP(Model Context Protocol)サーバー
このプロジェクトでは、以下のMCPサーバーを利用して機能を拡張しています。
### GitHub MCPサーバー
GitHub APIを操作するためのMCPサーバーです。以下の機能を提供します:
- **get_repo_info**: GitHubリポジトリの情報を取得
- **create_issue**: GitHubリポジトリに新しいイシューを作成
- **list_issues**: GitHubリポジトリのイシュー一覧を取得
- **create_pull_request**: GitHubリポジトリに新しいプルリクエストを作成
- **list_pull_requests**: GitHubリポジトリのプルリクエスト一覧を取得
### PlaywriteMCP(login-test-server)
ログイン機能をテストするためのMCPサーバーです。以下の機能を提供します:
- **login_test**: ユーザーIDとパスワードを使用してログイン機能をテスト
- 指定されたAPIエンドポイント(デフォルト: http://localhost:4322)にログインリクエストを送信
- ログイン結果をJSON形式で返却
これらのMCPサーバーは、AIアシスタントが直接APIと連携するための仕組みを提供し、開発効率と機能性を向上させています。
## 機能
このMCPサーバーは以下の機能を提供します:
1. **リポジトリ情報の取得** (`get_repo_info`)
- リポジトリのオーナー名とリポジトリ名を指定して、リポジトリの詳細情報を取得します
2. **イシューの作成** (`create_issue`)
- リポジトリにイシューを作成します
- タイトル、本文、ラベル、担当者を指定できます
3. **イシュー一覧の取得** (`list_issues`)
- リポジトリのイシュー一覧を取得します
- 状態、ラベル、ソート方法などでフィルタリングできます
4. **プルリクエストの作成** (`create_pull_request`)
- リポジトリにプルリクエストを作成します
- タイトル、本文、ブランチ情報などを指定できます
5. **プルリクエスト一覧の取得** (`list_pull_requests`)
- リポジトリのプルリクエスト一覧を取得します
- 状態、ソート方法などでフィルタリングできます
## セットアップ
1. `.env.example`ファイルを`.env`にコピーします
2. `.env`ファイルを編集して、`GITHUB_TOKEN`に自分のGitHubトークンを設定します
- GitHubトークンは[GitHub設定ページ](https://github.com/settings/tokens)から取得できます
- リポジトリへのアクセス権限を持つトークンを生成してください
3. 依存関係をインストールします
```
npm install
```
4. TypeScriptをコンパイルします
```
npm run build
```
## 使用方法
Cline MCPの設定ファイルに以下の設定が追加されています:
```json
"github.com/modelcontextprotocol/servers/tree/main/src/github": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"command": "node",
"args": [
"C:/Users/sasao020211/Documents/Cline/MCP/github-server/build/index.js"
],
"transportType": "stdio"
}
```
Clineで以下のように使用できます:
```
use_mcp_tool
server_name: github.com/modelcontextprotocol/servers/tree/main/src/github
tool_name: get_repo_info
arguments: {
"owner": "octocat",
"repo": "hello-world"
}
```
## 使用例
### リポジトリ情報の取得
```
use_mcp_tool
server_name: github.com/modelcontextprotocol/servers/tree/main/src/github
tool_name: get_repo_info
arguments: {
"owner": "octocat",
"repo": "hello-world"
}
```
このコマンドは、指定されたリポジトリの詳細情報(スター数、フォーク数、説明文など)を返します。
### イシューの作成
```
use_mcp_tool
server_name: github.com/modelcontextprotocol/servers/tree/main/src/github
tool_name: create_issue
arguments: {
"owner": "自分のユーザー名",
"repo": "自分のリポジトリ名",
"title": "テストイシュー",
"body": "これはテスト用のイシューです。",
"labels": ["bug", "documentation"],
"assignees": ["自分のユーザー名"]
}
```
このコマンドは、指定されたリポジトリに新しいイシューを作成し、作成されたイシューの情報を返します。
### イシュー一覧の取得
```
use_mcp_tool
server_name: github.com/modelcontextprotocol/servers/tree/main/src/github
tool_name: list_issues
arguments: {
"owner": "octocat",
"repo": "hello-world",
"state": "open"
}
```
このコマンドは、指定されたリポジトリのオープン状態のイシュー一覧を返します。
## 実装の詳細
このMCPサーバーは以下の技術とライブラリを使用して実装されています:
1. **TypeScript**: 型安全なコードを記述するために使用
2. **@modelcontextprotocol/sdk**: MCP(Model Context Protocol)サーバーを構築するためのSDK
3. **@octokit/rest**: GitHub REST APIを簡単に使用するためのライブラリ
4. **dotenv**: 環境変数を管理するためのライブラリ
サーバーの主要なコンポーネント:
- **Server クラス**: MCPサーバーの基本機能を提供
- **StdioServerTransport**: 標準入出力を使用してClineと通信
- **GitHubServer クラス**: GitHub APIとの連携を担当
各ツールは、GitHubのAPIエンドポイントに対応しており、引数の検証、エラーハンドリング、レスポンスのフォーマットなどの機能を提供しています。
## 注意事項
- GitHubトークンは秘密情報です。`.env`ファイルを公開リポジトリにコミットしないでください。
- GitHubのAPI利用制限に注意してください。短時間に多数のリクエストを送信すると、制限に達する可能性があります。
- このMCPサーバーは、sales-manageアプリケーションと連携して使用することを想定しています。
## .clinerules ファイルについて
`.clinerules` ファイルは、Clineがアプリケーション開発を行う際に従うべきルールを定義したものです。このファイルには以下の内容が含まれています:
### ドメイン駆動設計 (DDD) の原則
- **値オブジェクトとエンティティの区別**:同一性の有無による区別、イミュータブル性の確保など
- **集約による整合性の保証**:関連するエンティティと値オブジェクトのグループ化、トランザクション境界の設定
- **リポジトリによるデータアクセスの抽象化**:永続化の詳細を隠蔽し、ドメインモデルに集中
- **境界付けられたコンテキストの意識**:大きなドメインを明確な境界を持つ小さなコンテキストに分割
### 技術スタックの選定
- アプリケーション開発開始時に最適な技術スタックを提案し、選定理由を明確に説明
- 一度決定した技術スタックの変更を検討する場合は、必ずユーザーに確認を行い、承認を得てから実施
### コード修正のプロセス
- 既存コードを修正する際は、影響範囲の調査を行い、調査結果をユーザーに説明
- ユーザーから明示的な許可を得た場合のみ修正を実行
### その他の開発ルール
- コーディング規約(DRY原則、SOLID原則、命名規則の一貫性など)
- テスト戦略(ユニットテスト、統合テスト、E2Eテスト、TDDの実践)
- パフォーマンスとセキュリティ対策
- ドキュメンテーション(コードドキュメント、プロジェクトドキュメント)
- 継続的改善(技術的負債の管理、コードレビュー)
- コミュニケーション(進捗報告、意思決定の透明性)
これらのルールに従うことで、高品質で保守性の高いアプリケーション開発を実現します。
Quick Start
1
Clone the repository
git clone https://github.com/SAS-Sasao/githubmcp2
Install dependencies
cd githubmcp
npm install3
Follow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
OwnerSAS-Sasao
Repogithubmcp
Language
JavaScript
License-
Last fetched8/8/2025
Recommended MCP Servers
💬
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
integrationsdiscordchat
🔗
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
integrationsautomationsaas
🕷️
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
apifycrawlerdata
🌐
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
testingqabrowsers
⚡
Zapier MCP
A Zapier server that provides automation capabilities for various apps.
zapierautomation