Skip to main content
Glama
wj-yuta-imai

GitHub Integrated MCP Server

by wj-yuta-imai

GitHub Integrated MCP Server

GitHub API連携機能を持つModel Context Protocol (MCP) サーバーです。DockerとGitHub Actionsによる自動化されたCI/CDパイプラインを提供します。

🚀 機能

ファイルシステム操作

  • ディレクトリ一覧表示

  • ファイル読み込み

  • ファイル情報取得

  • エコー機能

GitHub API連携

  • リポジトリ一覧・詳細取得

  • Issue管理(一覧・作成)

  • Pull Request管理

  • ファイル内容取得・更新

  • コード検索

インフラ機能

  • Docker コンテナ化

  • GitHub Actions CI/CD

  • Nginx リバースプロキシ

  • Redis キャッシュ対応

  • ヘルスチェック

Related MCP server: GitHub MCP Server

📋 前提条件

  • Node.js 20+

  • Docker & Docker Compose

  • GitHub Personal Access Token

🛠️ セットアップ

1. 依存関係のインストール

npm install

2. 環境変数の設定

.envファイルを編集し、GitHub Personal Access Tokenを設定:

GITHUB_TOKEN=github_pat_11XXXXXXXXXXXXXXX
GITHUB_OWNER=your_username
GITHUB_DEFAULT_REPO=your_repo_name

3. TypeScriptのビルド

npm run build

🐳 Docker での実行

ローカル開発

# Dockerイメージをビルド
npm run docker:build

# コンテナを起動
npm run docker:run

# ログを確認
npm run docker:logs

# コンテナを停止
npm run docker:stop

🔧 Claude Desktop 設定

%APPDATA%\Claude\claude_desktop_config.json に以下を追加:

{
  "mcpServers": {
    "github-mcp": {
      "command": "node",
      "args": ["E:\\Documents\\work\\mcp-projects\\mcp-server\\dist\\index.js"],
      "env": {
        "GITHUB_TOKEN": "your_github_token_here"
      }
    }
  }
}

📚 利用可能なツール

ファイルシステム

  • echo - テキストをエコーバック

  • list_directory - ディレクトリの内容を一覧表示

  • read_file - ファイルの内容を読み取り

  • get_file_info - ファイル/ディレクトリの情報を取得

GitHub API

  • github_list_repos - リポジトリ一覧を取得

  • github_get_repo - 特定のリポジトリ情報を取得

  • github_list_issues - Issue一覧を取得

  • github_create_issue - 新しいIssueを作成

  • github_list_pull_requests - Pull Request一覧を取得

  • github_get_file_content - ファイル内容を取得

  • github_create_or_update_file - ファイルを作成/更新

  • github_search_code - コードを検索

🚀 開発

ローカル開発サーバー

npm run dev

コードビルド

npm run build

🔒 セキュリティ

  • GitHub Personal Access Token は適切なスコープで制限

  • Dockerfile は非rootユーザーで実行

  • 環境変数での機密情報管理

🔑 GitHub Personal Access Token の取得

  1. GitHub にログイン

  2. Settings → Developer settings → Personal access tokens → Tokens (classic)

  3. "Generate new token" をクリック

  4. 以下のスコープを選択:

    • repo (フルアクセス)

    • read:user

    • user:email

  5. トークンをコピーして .env ファイルに設定

🐛 トラブルシューティング

Docker ビルドエラー

# キャッシュをクリアして再ビルド
docker system prune -a
npm run docker:build

GitHub API エラー

  • Personal Access Token の有効期限を確認

  • 必要なスコープ権限があることを確認

  • API レート制限に引っかかっていないか確認

📝 ライセンス

ISC License

Available Tools

1 tool
echoC

Echo back the input

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to echo back

TDQS

C2.7/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 the full burden. It states the tool echoes back input, implying a read-only operation, but does not disclose behavioral traits like whether it modifies the input, has side effects, or returns errors. This is a significant gap for a tool with no annotation coverage.

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

Conciseness5/5

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

The description is extremely concise and front-loaded with a single, clear sentence. There is no wasted text, making it efficient and easy to understand.

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's simplicity (1 parameter, no output schema, no annotations), the description is minimal. It lacks completeness by not explaining what 'echo' means in practice, potential use cases, or behavioral details, leaving gaps for an AI agent to infer.

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?

The schema description coverage is 100%, with the parameter 'text' fully documented in the schema. The description does not add any meaning beyond what the schema provides, so it meets the baseline of 3 for high schema coverage.

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

Purpose3/5

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

The description 'Echo back the input' states the tool's purpose clearly but vaguely—it specifies the action ('echo back') and the resource ('the input'), but lacks specificity about what 'echo' entails (e.g., returning unchanged text). With no sibling tools, differentiation is not needed, but the purpose could be more precise.

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, such as for testing, debugging, or simple input validation. With no sibling tools, there are no alternatives to compare against, but it still lacks context for usage scenarios.

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

TDQS

C2.9/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools, making disambiguation perfect. The tool 'echo' has a clear and distinct purpose that cannot be confused with any other tool in this set.

Naming Consistency5/5

With a single tool, naming consistency is inherently perfect as there are no other tools to compare against. The tool name 'echo' follows a simple verb pattern, and there are no inconsistencies in naming conventions to evaluate.

Tool Count2/5

A single tool is generally too few for a server named 'GitHub Integrated MCP Server', which suggests a broader scope related to GitHub operations. This minimal tool set does not align well with the implied domain, indicating a significant mismatch in scope.

Completeness1/5

The tool set is severely incomplete for the server's implied purpose of GitHub integration. With only an 'echo' tool, there are no operations for repositories, issues, pull requests, or any other GitHub-related functionalities, leaving major gaps that will cause agent failures.

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

  • A
    license
    B
    quality
    A
    maintenance
    A Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.
    12
    90,042
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants to perform GitHub operations including repository management, file operations, issue tracking, and pull request creation.
    2

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/wj-yuta-imai/mcp-server'

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