SG

stephanj/githubmcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

33 stars 7 forks Качество 60 Тренд 11MIT

В этом проекте реализован сервер Model Context Protocol (MCP) для доступа к API GitHub. Он предоставляет набор инструментов, которые позволяют агентам LLM взаимодействовать с репозиториями GitHub, проблемами, запросами и запросами.

Обзор

В этом проекте реализован сервер Model Context Protocol (MCP) для доступа к API GitHub. Он предоставляет набор инструментов, которые позволяют агентам LLM взаимодействовать с репозиториями GitHub, проблемами, запросами и другими ресурсами GitHub. Сервер обеспечивает следующие операции GitHub: - Список репозиториев для аутентифицированного пользователя - Получить данные репозитория - Поиск репозиториев - Перечислите проблемы с вариантами фильтрации - Получите подробную информацию о проблемах - Создайте новые проблемы - Добавьте комментарии к вопросам - Поиск проблем - Список запросов на вытягивание с вариантами фильтрации - Получить подробную информацию о запросах на вытягивание - Создать комментарии к запросам на вытягивание - Слить запросы на вытягивание - Перечислить филиалы в хранилище - Создать новые филиалы - Получить подробную информацию об обязательствах - Список обязательств с вариантами фильтрации - Поиск обязательств по сообщениям - Получать содержимое файлов из репозиториев - Содержимое каталогов Списков - Создавать или обновлять файлы - Поиск кода в репозиториях

Обзор (машинный перевод)

В этом проекте реализован сервер Model Context Protocol (MCP) для доступа к API GitHub. Он предоставляет набор инструментов, которые позволяют агентам LLM взаимодействовать с репозиториями GitHub, проблемами, запросами и другими ресурсами GitHub.

Особенности

Сервер обеспечивает следующие операции GitHub:

** Репозиторное управление** Список репозиториев для аутентифицированного пользователя

  • Получить данные репозитория
  • Поиск репозиториев

Управление вопросами

  • Перечислите проблемы с вариантами фильтрации
  • Получить подробную информацию о проблемах Создание новых проблем Добавить комментарии к вопросам
  • Поиск проблем

Управление полными запросами

  • Список запросов на вытягивание с вариантами фильтрации
  • Получите подробную информацию о запросах на вытягивание
  • Создавать комментарии к запросам на вытягивание
  • Запросы на слияние

** Управление филиалом**

  • Перечислить филиалы в хранилище Создание новых ветвей

** Управление обязательствами**

  • Получить подробную информацию об обязательствах
  • Перечень обязательств с вариантами фильтрации
  • Поиск обязательств по сообщениям

** Управление контентом** Получите содержимое файлов из репозиториев

  • Содержимое каталога списков Создавать или обновлять файлы Поиск кода в репозиториях

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

GitHub MCP Server

This project implements a Model Context Protocol (MCP) server for GitHub API access. It provides a set of tools that allow LLM agents to interact with GitHub repositories, issues, pull requests, and other GitHub resources.

Features

The server provides the following GitHub operations:

  • Repository Management

    • List repositories for the authenticated user
    • Get repository details
    • Search for repositories
  • Issue Management

    • List issues with filtering options
    • Get detailed information about issues
    • Create new issues
    • Add comments to issues
    • Search for issues
  • Pull Request Management

    • List pull requests with filtering options
    • Get detailed information about pull requests
    • Create comments on pull requests
    • Merge pull requests
  • Branch Management

    • List branches in a repository
    • Create new branches
  • Commit Management

    • Get detailed information about commits
    • List commits with filtering options
    • Search for commits by message
  • Content Management

    • Get file contents from repositories
    • List directory contents
    • Create or update files
    • Search for code within repositories

These operations are exposed as tools for Large Language Models using the Model Context Protocol (MCP), allowing AI systems to safely interact with GitHub through its API.

Claude Desktop

DevoxxGenie IDEA plugin

Getting Started

Prerequisites

  • Java 17 or higher
  • Maven 3.6+
  • Spring Boot 3.3.6
  • Spring AI MCP Server components
  • A GitHub account and personal access token

Building the Project

Build the project using Maven:

mvn clean package

Running the Server

Run the server using the following command:

java -jar target/GitHubMCP-1.0-SNAPSHOT.jar

The server can use STDIO for communication with MCP clients or can be run as a web server.

Environment Variables

The GitHub MCP server supports the following environment variables for authentication:

  • GITHUB_TOKEN or GITHUB_PERSONAL_ACCESS_TOKEN: Your GitHub personal access token
  • GITHUB_HOST: The base URL of your GitHub instance (e.g., github.com or github.mycompany.com for GitHub Enterprise)
  • GITHUB_REPOSITORY: Default repository to use if not specified in API calls (e.g., owner/repo)

You can set these environment variables when launching the MCP server, and the GitHub services will use them as default values. This allows you to avoid having to provide authentication details with every API call.

Usage with MCP Clients

Using with Claude Desktop

Edit your claude_desktop_config.json file with the following:

{
  "mcpServers": {
    "github": {
      "command": "java",
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "github": { "command": "java", "args": [ "-Dspring.ai.mcp.server.stdio=true", "-Dspring.main.web-application-type=none", "-Dlogging.pattern.console=", "-jar", "/path/to/GitHubMCP/target/GitHubMCP-1.0-SNAPSHOT.jar" ], "env": { "GITHUB_TOKEN": "your-github-token-here", "GITHUB_HOST": "github.com", "GITHUB_REPOSITORY": "your-username/your-repository" } } } }