GitHub MCP Server

by GitHub (open source) · Claude Desktop, Claude Code, OpenCode, любой MCP-клиент, Windows, macOS, Linux

MCP MCP Servers Open Source активный

Официальный MCP-сервер от GitHub: управление репозиториями, issues, pull requests, code search и Actions прямо из AI-агента.

v0.1
v1.5.0
27.06.2026 current

Установка
Требуется GitHub Personal Access Token (Settings → Developer settings → PAT).

# Claude Desktop — claude_desktop_config.json:
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
               "ghcr.io/github/github-mcp-server"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_ВАШ_ТОКЕН" }
    }
  }
}

# Claude Code (CLI):
claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=ghp_ВАШ_ТОКЕН -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server

# OpenCode — ~/.config/opencode/opencode.json:
{
  "mcp": {
    "github": {
      "type": "local",
      "command": ["docker", "run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
                  "ghcr.io/github/github-mcp-server"],
      "environment": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_ВАШ_ТОКЕН" }
    }
  }
}
показать оригинал переведено ИИ

Go Report Card

GitHub MCP Server

Сервер GitHub MCP подключает AI-инструменты непосредственно к платформе GitHub. Это позволяет AI-агентам, помощникам и чат-ботам читать репозитории и файлы кода, управлять задачами и pull-запросами, анализировать код и автоматизировать рабочие процессы. Все это через естественное языковое взаимодействие.

Сценарии использования

  • Управление репозиториями: Просматривайте и запрашивайте код, ищите файлы, анализируйте коммиты и понимайте структуру проекта в любом репозитории, к которому у вас есть доступ.
  • Автоматизация задач и pull-запросов: Создавайте, обновляйте и управляйте задачами и pull-запросами. Позвольте AI помочь с классификацией багов, проверкой изменений в коде и поддержанием доски проекта.
  • Интеллект CI/CD и рабочих процессов: Отслеживайте запуски рабочих процессов GitHub Actions, анализируйте сбои сборок, управляйте релизами и получайте информацию о вашем конвейере разработки.
  • Анализ кода: Изучайте результаты проверки безопасности, просматривайте оповещения Dependabot, понимайте паттерны кода и получайте комплексную информацию о вашем коде.
  • Совместная работа команды: Доступ к обсуждениям, управление уведомлениями, анализ активности команды и оптимизация процессов для вашей команды.

Разработано для разработчиков, которые хотят подключить свои AI-инструменты к контексту и возможностям GitHub — от простых запросов на естественном языке до сложных многоэтапных агентских рабочих процессов.


Удалённый GitHub MCP Server

Install in VS Code Install in VS Code Insiders Install in Visual Studio

Удалённый GitHub MCP Server размещается GitHub и предоставляет самый простой способ начать работу. Если ваш MCP-хост не поддерживает удалённые MCP-серверы, не переживайте! Вы можете использовать локальную версию GitHub MCP Server вместо него.

Предварительные требования

  1. Совместимый MCP-хост с поддержкой удалённых серверов (VS Code 1.101+, Claude Desktop, Cursor, Windsurf и т.д.)
  2. Любые применимые политики включены

Установка в VS Code

Для быстрой установки используйте одну из кнопок однокликовой установки выше. После завершения этого процесса включите режим Agent (расположенный рядом с полем ввода Copilot Chat), и сервер запустится. Убедитесь, что вы используете VS Code 1.101 или более позднюю версию для поддержки удалённого MCP и OAuth.

Альтернативно, чтобы вручную настроить VS Code, выберите подходящий JSON-блок из примеров ниже и добавьте его в конфигурацию вашего хоста:

С использованием OAuthС использованием GitHub PAT
VS Code (версия 1.101 или новее)
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "github_mcp_pat",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ]
}

Установка в других MCP-хостах

  • Copilot CLI - Руководство по установке для GitHub Copilot CLI
  • GitHub Copilot в других IDE - Установка для JetBrains, Visual Studio, Eclipse и Xcode с GitHub Copilot
  • Приложения Claude - Руководство по установке для Claude Desktop и Claude Code CLI
  • Codex - Руководство по установке для OpenAI Codex
  • Cursor - Руководство по установке для IDE Cursor
  • OpenCode - Руководство по установке для терминального агента OpenCode
  • Windsurf - Руководство по установке для IDE Windsurf
  • Zed - Руководство по установке для редактора Zed
  • Rovo Dev CLI - Руководство по установке для CLI Rovo Dev

Примечание: Каждому хост-приложению MCP необходимо настроить GitHub App или OAuth-приложение для поддержки удалённого доступа через OAuth. Любое хост-приложение, поддерживающее удалённые серверы MCP, должно поддерживать удалённый сервер GitHub с аутентификацией через PAT. Конфигурация и уровень поддержки могут отличаться в зависимости от хоста. Обязательно ознакомьтесь с документацией хост-приложения для получения дополнительной информации.

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

Конфигурация набора инструментов

См. Документацию удалённого сервера для получения полной информации о конфигурации удалённого сервера, наборах инструментов, заголовках и расширенном использовании. В этом файле приведены подробные инструкции и примеры подключения, настройки и установки удалённого сервера GitHub MCP в VS Code и других хостах MCP.

Если наборы инструментов не указаны, используются наборы по умолчанию.

Режим Insiders

Попробуйте новые функции заранее! Удалённый сервер предлагает версию insiders с ранним доступом к новым функциям и экспериментальным инструментам.

Использование пути URLИспользование заголовка
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/insiders"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "X-MCP-Insiders": "true"
      }
    }
  }
}

См. Документацию удалённого сервера для получения дополнительной информации и примеров, а также Функции Insiders для полного списка доступных возможностей.

GitHub Enterprise

GitHub Enterprise Cloud с локализацией данных (ghe.com)

GitHub Enterprise Cloud также может использовать удалённый сервер.

Пример для https://octocorp.ghe.com с токеном GitHub PAT:

{
    ...
    "github-octocorp": {
      "type": "http",
      "url": "https://copilot-api.octocorp.ghe.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    },
    ...
}

Примечание: При использовании OAuth с GitHub Enterprise в VS Code и GitHub Copilot также необходимо настроить параметры VS Code для указания на ваш экземпляр GitHub Enterprise — см. Аутентификация из VS Code

GitHub Enterprise Server

GitHub Enterprise Server не поддерживает размещение удалённого сервера. Обратитесь к разделу GitHub Enterprise Server и Enterprise Cloud с локализацией данных (ghe.com) в конфигурации локального сервера.


Локальный сервер GitHub MCP

Install with Docker in VS Code Install with Docker in VS Code Insiders Install with Docker in Visual Studio

Предварительные требования

  1. Чтобы запустить сервер в контейнере, вам понадобится установить Docker.
  2. После установки Docker также необходимо убедиться, что Docker запущен. Образ Docker доступен по адресу ghcr.io/github/github-mcp-server. Образ публичный; если вы получаете ошибки при загрузке, у вас может быть истекший токен, и вам нужно выполнить docker logout ghcr.io.
  3. Аутентификация. На github.com вам не нужно создавать что-либо заранее — кнопки с одним щелчком выше выполняют вход через OAuth при первом использовании (браузерный поток; токен хранится только в памяти). Кнопки Docker публикуют фиксированный порт обратного вызова (127.0.0.1:8085), чтобы обратный вызов входа в контейнер был доступен. Подробнее о том, как это работает, о поддержке безголового режима с кодом устройства и о том, как использовать собственный OAuth или GitHub App (требуется для GitHub Enterprise Server и ghe.com), см. в Local Server OAuth Login.

    Предпочитаете использовать токен? Вы всё равно можете аутентифицироваться с помощью GitHub Personal Access Token, установив GITHUB_PERSONAL_ACCESS_TOKEN вместо OAuth (он имеет приоритет над OAuth). Сервер MCP может использовать множество API GitHub, поэтому включите разрешения, которые вы готовы предоставить своим инструментам ИИ (чтобы узнать больше о токенах доступа, ознакомьтесь с документацией).

Безопасная обработка PAT

Переменные окружения (Рекомендуется)

Чтобы сохранить ваш GitHub PAT безопасным и переносимым между разными хостами MCP:

  1. Сохраните ваш PAT в переменных окружения

bash export GITHUB_PAT=your_token_here

Или создайте файл .env:

env GITHUB_PAT=your_token_here

  1. Защитите ваш .env файл

bash # Добавьте в .gitignore, чтобы предотвратить случайные коммиты echo ".env" >> .gitignore

  1. Ссылайтесь на токен в конфигурациях

```bash # Использование в CLI claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server

# В конфигурационных файлах (где поддерживается) "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_PAT" } ```

Примечание: Поддержка переменных окружения зависит от приложения-хоста и IDE. Некоторые приложения (например, Windsurf) требуют жёстко закодированных токенов в конфигурационных файлах.

Лучшие практики безопасности токенов

  • Минимальные объёмы разрешений: предоставляйте только необходимые разрешения
  • repo - Операции с репозиториями
  • read:packages - Доступ к образам Docker
  • read:org - Доступ к командам организации
  • Разные токены: используйте разные PAT для разных проектов/окружений
  • Регулярная ротация: обновляйте токены периодически
  • Никогда не коммитьте: держите токены вне системы контроля версий
  • Права доступа к файлам: ограничьте доступ к конфигурационным файлам, содержащим токены
chmod 600 ~/.your-app/config.json

GitHub Enterprise Server and Enterprise Cloud with data residency (ghe.com)

The flag --gh-host and the environment variable GITHUB_HOST can be used to set the hostname for GitHub Enterprise Server or GitHub Enterprise Cloud with data residency.

  • For GitHub Enterprise Server, prefix the hostname with the https:// URI scheme. HTTPS is required and enforced: non-HTTPS hosts are refused so that credentials are never sent over cleartext (the only exception is a loopback host such as http://localhost for local development).
  • For GitHub Enterprise Cloud with data residency, use https://YOURSUBDOMAIN.ghe.com as the hostname.
"github": {
    "command": "docker",
    "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "GITHUB_PERSONAL_ACCESS_TOKEN",
    "-e",
    "GITHUB_HOST",
    "ghcr.io/github/github-mcp-server"
    ],
    "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
        "GITHUB_HOST": "https://<your GHES or ghe.com domain name>"
    }
}

Installation

Install in GitHub Copilot on VS Code

For quick installation, use one of the one-click install buttons above. Once you complete that flow, toggle Agent mode (located by the Copilot Chat text input) and the server will start.

More about using MCP server tools in VS Code's agent mode documentation.

Install in GitHub Copilot on other IDEs (JetBrains, Visual Studio, Eclipse, etc.)

Add one of the following JSON blocks to your IDE's MCP settings.

Log in with OAuth (no token to create or store). On github.com the official image already includes the app credentials, so you provide none yourself: it runs a browser-based login on first use and keeps the resulting token in memory only. In Docker this needs a fixed callback port published to loopback so the container's login callback is reachable:

{
  "mcp": {
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-p",
          "127.0.0.1:8085:8085",
          "-e",
          "GITHUB_OAUTH_CALLBACK_PORT",
          "ghcr.io/github/github-mcp-server"
        ],
        "env": {
          "GITHUB_OAUTH_CALLBACK_PORT": "8085"
        }
      }
    }
  }
}

See Local Server OAuth Login for the native-binary flow (no fixed port needed), the headless/device-code fallback, GitHub Enterprise Server / ghe.com, and bringing your own OAuth or GitHub App.

For non-interactive stdio deployments, see GitHub App Authentication.

Or authenticate with a Personal Access Token. Set GITHUB_PERSONAL_ACCESS_TOKEN instead (it takes precedence over OAuth):

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "github_token",
        "description": "GitHub Personal Access Token",
        "password": true
      }
    ],
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "GITHUB_PERSONAL_ACCESS_TOKEN",
          "ghcr.io/github/github-mcp-server"
        ],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
        }
      }
    }
  }
}

Optionally, you can add a similar example (i.e. without the mcp key) to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with other host applications that accept the same format.

Example JSON block without the MCP key included


{
"inputs": [
  {
    "type": "promptString",
    "id": "github_token",
    "description": "GitHub Personal Access Token",
    "password": true
  }
],
"servers": {
  "github": {
    "command": "docker",
    "args": [
      "run",
      "-i",
      "--rm",
      "-e",
      "GITHUB_PERSONAL_ACCESS_TOKEN",
      "ghcr.io/github/github-mcp-server"
    ],
    "env": {
      "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
    }
  }
}
}

Install in Other MCP Hosts

For other MCP host applications, please refer to our installation guides:

For a complete overview of all installation options, see our Installation Guides Index.

Примечание: Любое хост-приложение, поддерживающее локальные MCP-серверы, должно быть способно получить доступ к локальному GitHub MCP Server. Однако конкретный процесс настройки, синтаксис и стабильность интеграции будут варьироваться в зависимости от хост-приложения. Хотя многие могут следовать похожему формату приведённым выше примерам, это не гарантируется. Пожалуйста, обратитесь к документации вашего хост-приложения для получения правильного синтаксиса MCP-конфигурации и процесса настройки.

Сборка из исходников

Если у вас нет Docker, вы можете использовать go build для создания бинарного файла в каталоге cmd/github-mcp-server, и использовать команду github-mcp-server stdio с установленной переменной окружения GITHUB_PERSONALACCESS_TOKEN на ваш токен. Чтобы указать место вывода сборки, используйте флаг -o. Вы должны настроить сервер так, чтобы он использовал созданный исполняемый файл в качестве своей команды. Например:

{
  "mcp": {
    "servers": {
      "github": {
        "command": "/path/to/github-mcp-server",
        "args": ["stdio"],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
        }
      }
    }
  }
}

Утилиты CLI

Двоичный файл github-mcp-server включает несколько подкоманд CLI, которые полезны для отладки и изучения сервера.

  • github-mcp-server tool-search "<query>" ищет инструменты по названию, описанию и именам входных параметров. Используйте --max-results, чтобы вернуть больше совпадений. Пример (цветной вывод требует TTY; используйте docker run -t (или -it), когда запускаете в Docker):
docker run -it --rm ghcr.io/github/github-mcp-server tool-search "issue" --max-results 5
github-mcp-server tool-search "issue" --max-results 5

Конфигурация инструментов

GitHub MCP Server поддерживает включение или отключение определённых групп функциональности с помощью флага --toolsets. Это позволяет вам контролировать, какие возможности GitHub API доступны вашим ИИ-инструментам. Включение только необходимых наборов инструментов может помочь LLM с выбором инструментов и уменьшить размер контекста.

Наборы инструментов не ограничиваются только Инструментами. При необходимости включаются соответствующие ресурсы MCP и запросы.

Когда наборы инструментов не указаны, используются наборы инструментов по умолчанию.

Ищете примеры? Смотрите Руководство по конфигурации сервера для типичных рецептов, таких как минимальные настройки, режим только для чтения и объединение инструментов с наборами.

Указание наборов инструментов

Чтобы указать наборы инструментов, которые вы хотите сделать доступными для LLM, вы можете передать разрешённый список двумя способами:

  1. С использованием аргумента командной строки:

    bash github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security

  2. С использованием переменной окружения:

    bash GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./github-mcp-server

Переменная окружения GITHUB_TOOLSETS имеет приоритет над аргументом командной строки, если оба указаны.

Указание отдельных инструментов

Вы также можете настроить конкретные инструменты с помощью флага --tools. Инструменты могут использоваться независимо или в сочетании с наборами инструментов для точечного управления.

  1. С использованием аргумента командной строки:

    bash github-mcp-server --tools get_file_contents,issue_read,create_pull_request

  2. С использованием переменной окружения:

    bash GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./github-mcp-server

  3. Комбинирование с наборами инструментов (аддитивно):

    bash github-mcp-server --toolsets repos,issues --tools get_gist

    Это регистрирует все инструменты из наборов repos и issues, а также get_gist.

Важные примечания:

  • Инструменты и наборы инструментов можно использовать вместе
  • Режим только для чтения имеет приоритет: инструменты записи пропускаются, если установлен флаг --read-only, даже если они явно указаны через --tools
  • Названия инструментов должны точно совпадать (например, get_file_contents, а не getFileContents). Недопустимые имена инструментов приведут к ошибке при запуске сервера с сообщением об ошибке
  • При переименовании инструментов старые имена сохраняются как псевдонимы для обратной совместимости. Подробности см. в разделе Переименование инструментов

Использование наборов инструментов с Docker

При использовании Docker вы можете передать наборы инструментов в виде переменных окружения:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" \
  ghcr.io/github/github-mcp-server

Использование инструментов с Docker

При использовании Docker вы можете передать конкретные инструменты в виде переменных окружения. Вы также можете комбинировать инструменты с наборами:

# Tools only
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" \
  ghcr.io/github/github-mcp-server

# Tools combined with toolsets (additive)
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues" \
  -e GITHUB_TOOLS="get_gist" \
  ghcr.io/github/github-mcp-server

Специальные наборы инструментов

Набор инструментов "all"

Специальный набор инструментов all можно предоставить, чтобы включить все доступные наборы инструментов независимо от любой другой конфигурации:

./github-mcp-server --toolsets all

Или с использованием переменной окружения:

GITHUB_TOOLSETS="all" ./github-mcp-server

Набор инструментов "default"

Набор инструментов default — это конфигурация, которая передаётся на сервер, если наборы инструментов не указаны.

Конфигурация по умолчанию включает:

  • context
  • repos
  • issues
  • pull_requests
  • users

Чтобы сохранить конфигурацию по умолчанию и добавить дополнительные наборы инструментов:

GITHUB_TOOLSETS="default,stargazers" ./github-mcp-server

Режим Insiders

Локальный сервер GitHub MCP предлагает версию для участников программы Insiders с ранним доступом к новым функциям и экспериментальным инструментам.

  1. С помощью аргумента командной строки:

    bash ./github-mcp-server --insiders

  2. С помощью переменной окружения:

    bash GITHUB_INSIDERS=true ./github-mcp-server

При использовании Docker:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_INSIDERS=true \
  ghcr.io/github/github-mcp-server

Доступные наборы инструментов

Доступны следующие наборы инструментов:

Toolset Описание
person context Настоятельно рекомендуется: Инструменты, предоставляющие контекст о текущем пользователе и контексте GitHub, в котором вы работаете
workflow actions Рабочие процессы GitHub Actions и операции CI/CD
code-square code_quality Инструменты, связанные с качеством кода GitHub
codescan code_security Инструменты, связанные с безопасностью кода, такие как сканирование кода GitHub
copilot copilot Инструменты, связанные с Copilot
copilot copilot_issue_intents По желанию подключаемые инструменты назначения задач Copilot с метаданными намерений (обоснование, уверенность, предложение)
dependabot dependabot Инструменты Dependabot
comment-discussion discussions Инструменты, связанные с обсуждениями GitHub
logo-gist gists Инструменты, связанные с GitHub Gist
git-branch git Инструменты GitHub Git API для низкоуровневых операций с Git
issue-opened issues Инструменты, связанные с задачами GitHub
tag labels Инструменты, связанные с метками GitHub
bell notifications Инструменты, связанные с уведомлениями GitHub
organization orgs Инструменты, связанные с организациями GitHub
project projects Инструменты, связанные с проектами GitHub
git-pull-request pull_requests Инструменты, связанные с запросами на извлечение GitHub
repo repos Инструменты, связанные с репозиториями GitHub
shield-lock secret_protection Инструменты защиты секретов, такие как сканирование секретов GitHub
shield security_advisories Инструменты, связанные с рекомендациями по безопасности
star stargazers Инструменты, связанные с звёздочками GitHub
people users Инструменты, связанные с пользователями GitHub

Additional Toolsets in Remote GitHub MCP Server

Toolset Description
copilot Copilot related tools (e.g. Copilot Coding Agent)
copilot_spaces Copilot Spaces related tools
github_support_docs_search Search docs to answer GitHub product and support questions

Tools

Actions

  • actions_get - Get details of GitHub Actions resources (workflows, workflow runs, jobs, and artifacts)
  • OAuth Challenge Scopes: repo
  • method: The method to execute (string, required)
  • owner: Repository owner (string, required)
  • repo: Repository name (string, required)
  • resource_id: The unique identifier of the resource. This will vary based on the "method" provided, so ensure you provide the correct ID:
    • Provide a workflow ID or workflow file name (e.g. ci.yaml) for 'get_workflow' method.
    • Provide a workflow run ID for 'get_workflow_run', 'get_workflow_run_usage', and 'get_workflow_run_logs_url' methods.
    • Provide an artifact ID for 'download_workflow_run_artifact' method.
    • Provide a job ID for 'get_workflow_job' method. (string, required)
  • actions_list - List GitHub Actions workflows in a repository
  • OAuth Challenge Scopes: repo
  • method: The action to perform (string, required)
  • owner: Repository owner (string, required)
  • page: Page number for pagination (default: 1) (number, optional)
  • per_page: Results per page for pagination (default: 30, max: 100) (number, optional)
  • repo: Repository name (string, required)
  • resource_id: The unique identifier of the resource. This will vary based on the "method" provided, so ensure you provide the correct ID:
    • Do not provide any resource ID for 'list_workflows' method.
    • Provide a workflow ID or workflow file name (e.g. ci.yaml) for 'list_workflow_runs' method, or omit to list all workflow runs in the repository.
    • Provide a workflow run ID for 'list_workflow_jobs' and 'list_workflow_run_artifacts' methods. (string, optional)
  • workflow_jobs_filter: Filters for workflow jobs. ONLY used when method is 'list_workflow_jobs' (object, optional)
  • workflow_runs_filter: Filters for workflow runs. ONLY used when method is 'list_workflow_runs' (object, optional)
  • actions_run_trigger - Trigger GitHub Actions workflow actions
  • OAuth Challenge Scopes: repo
  • inputs: Inputs the workflow accepts. Only used for 'run_workflow' method. (object, optional)
  • method: The method to execute (string, required)
  • owner: Repository owner (string, required)
  • ref: The git reference for the workflow. The reference can be a branch or tag name. Required for 'run_workflow' method. (string, optional)
  • repo: Repository name (string, required)
  • run_id: The ID of the workflow run. Required for all methods except 'run_workflow'. (number, optional)
  • workflow_id: The workflow ID (numeric) or workflow file name (e.g., main.yml, ci.yaml). Required for 'run_workflow' method. (string, optional)
  • get_job_logs - Get GitHub Actions workflow job logs
  • OAuth Challenge Scopes: repo
  • failed_only: When true, gets logs for all failed jobs in the workflow run specified by run_id. Requires run_id to be provided. (boolean, optional)
  • job_id: The unique identifier of the workflow job. Required when getting logs for a single job. (number, optional)
  • owner: Repository owner (string, required)
  • repo: Repository name (string, required)
  • return_content: Returns actual log content instead of URLs (boolean, optional)
  • run_id: The unique identifier of the workflow run. Required when failed_only is true to get logs for all failed jobs in the run. (number, optional)
  • tail_lines: Number of lines to return from the end of the log (number, optional)

Качество кода

  • get_code_quality_finding - Получить информацию о проблеме качества кода
  • Объемы проверки OAuth: repo
  • findingNumber: Номер проблемы. (число, обязательно)
  • owner: Владелец репозитория. (строка, обязательно)
  • repo: Название репозитория. (строка, обязательно)

Безопасность кода

  • get_code_scanning_alert - Получить оповещение о сканировании кода
  • Объемы проверки OAuth: security_events
  • alertNumber: Номер оповещения. (число, обязательно)
  • owner: Владелец репозитория. (строка, обязательно)
  • repo: Название репозитория. (строка, обязательно)
  • list_code_scanning_alerts - Список оповещений о сканировании кода
  • Объемы проверки OAuth: security_events
  • owner: Владелец репозитория. (строка, обязательно)
  • page: Номер страницы для пагинации (минимум 1) (число, необязательно)
  • perPage: Количество результатов на странице для пагинации (минимум 1, максимум 100) (число, необязательно)
  • ref: Ссылка Git для результатов, которые нужно вывести. (строка, необязательно)
  • repo: Название репозитория. (строка, обязательно)
  • severity: Фильтр оповещений по уровню серьезности (строка, необязательно)
  • state: Фильтр оповещений по статусу. По умолчанию — открытые (строка, необязательно)
  • tool_name: Название инструмента, используемого для сканирования кода. (строка, необязательно)

Контекст

  • get_me - Получить мой профиль пользователя
  • Не требуется параметров
  • get_team_members - Получить участников команды
  • Объемы проверки OAuth: read:org
  • org: Логин организации (владелец), содержащей команду. (строка, обязательно)
  • team_slug: Slug команды (строка, обязательно)
  • get_teams - Получить команды
  • Объемы проверки OAuth: read:org
  • user: Имя пользователя для получения команд. Если не указано, используется аутентифицированный пользователь. (строка, необязательно)

Copilot

  • assign_copilot_to_issue - Назначить Copilot на задачу
  • Объемы проверки OAuth: repo
  • base_ref: Ссылка Git (например, ветка), с которой агент начнёт свою работу. Если не указана, используется ветка по умолчанию репозитория. (строка, необязательно)
  • custom_instructions: Необязательные пользовательские инструкции для управления агентом, помимо описания задачи. Используйте этот параметр для предоставления дополнительного контекста, ограничений или руководства, не описанных в задаче. (строка, необязательно)
  • issue_number: Номер задачи (число, обязательно)
  • owner: Владелец репозитория (строка, обязательно)
  • repo: Название репозитория (строка, обязательно)
  • request_copilot_review - Запросить обзор Copilot
  • Объемы проверки OAuth: repo
  • owner: Владелец репозитория (строка, обязательно)
  • pullNumber: Номер запроса на включение изменений (число, обязательно)
  • repo: Название репозитория (строка, обязательно)

Намерения задач Copilot

  • assign_copilot_to_issue_with_intent - Назначить Copilot на задачу с намерением
  • OAuth Challenge Scopes: repo
  • base_ref: Git-ссылка (например, ветка), с которой агент начнёт свою работу. Если не указана, используется ветка по умолчанию репозитория. Игнорируется, если is_suggestion равно true (string, optional)
  • confidence: Насколько вы уверены в этом выборе. 'HIGH' для чёткого сигнала или явного запроса пользователя, 'MEDIUM' для разумного предположения с некоторой двусмысленностью, 'LOW' для лучшей догадки с ограниченным сигналом. (string, required)
  • custom_instructions: Необязательные пользовательские инструкции для управления агентом помимо содержимого задачи. Игнорируется, если is_suggestion равно true (string, optional)
  • is_suggestion: Если true, записывает отложенное намерение назначить Copilot, а не запускает агента. Подтверждение позже предоставляет контекст запуска; base_ref и custom_instructions игнорируются в этом случае. (boolean, required)
  • issue_number: Номер задачи (number, required)
  • owner: Владелец репозитория (string, required)
  • rationale: Одно краткое предложение, объясняющее, что именно в задаче привело к выбору Copilot. Укажите конкретный сигнал (например, «Чётко определённая задача с явными критериями приемки»). (string, required)
  • repo: Имя репозитория (string, required)

Dependabot

  • get_dependabot_alert - Получить уведомление Dependabot
  • OAuth Challenge Scopes: security_events
  • alertNumber: Номер уведомления. (number, required)
  • owner: Владелец репозитория. (string, required)
  • repo: Имя репозитория. (string, required)
  • list_dependabot_alerts - Список уведомлений Dependabot
  • OAuth Challenge Scopes: security_events
  • after: Курсор для пагинации. Используйте курсор из предыдущего ответа. (string, optional)
  • owner: Владелец репозитория. (string, required)
  • perPage: Количество результатов на странице для пагинации (мин 1, макс 100) (number, optional)
  • repo: Имя репозитория. (string, required)
  • severity: Фильтровать уведомления Dependabot по тяжести (string, optional)
  • state: Фильтровать уведомления Dependabot по статусу. По умолчанию используется "открытые" (string, optional)

Обсуждения

  • discussion_comment_write - Управлять комментариями к обсуждениям
  • OAuth Challenge Scopes: repo
  • body: Содержимое комментария (требуется для методов 'add', 'reply' и 'update') (string, optional)
  • commentNodeID: Node ID комментария к обсуждению (требуется для методов 'reply', 'update', 'delete', 'mark_answer' и 'unmark_answer'). Для 'reply' это верхний комментарий, на который нужно ответить; GitHub Discussions поддерживает только один уровень вложенности. (string, optional)
  • discussionNumber: Номер обсуждения (требуется для методов 'add' и 'reply') (number, optional)
  • method: Операция записи для выполнения с комментарием к обсуждению. Параметры:
    • 'add' - добавляет новый верхний комментарий к обсуждению.
    • 'reply' - отвечает на верхний комментарий к обсуждению (GitHub Discussions поддерживает только один уровень вложенности).
    • 'update' - обновляет существующий комментарий к обсуждению.
    • 'delete' - удаляет комментарий к обсуждению.
    • 'mark_answer' - помечает комментарий к обсуждению как ответ (только Q&A).
    • 'unmark_answer' - снимает пометку комментария к обсуждению как ответа (только Q&A). (string, required)
  • owner: Владелец репозитория (требуется для методов «add» и «reply») (string, optional)
  • repo: Имя репозитория (требуется для методов «add» и «reply») (string, optional)
  • get_discussion - Получить обсуждение
  • OAuth Challenge Scopes: repo
  • discussionNumber: Номер обсуждения (number, required)
  • owner: Владелец репозитория (string, required)
  • repo: Имя репозитория (string, required)
  • get_discussion_comments - Получить комментарии к обсуждению
  • OAuth Challenge Scopes: repo
  • after: Курсор для пагинации. Используйте курсор из предыдущего ответа. (string, optional)
  • discussionNumber: Номер обсуждения (number, required)
  • includeReplies: Если true, каждый верхнеуровневый комментарий будет включать свои ответы вложенными (до 100 ответов на комментарий, что является максимумом GitHub API). По умолчанию false. (boolean, optional)
  • owner: Владелец репозитория (string, required)
  • perPage: Количество результатов на странице для пагинации (мин 1, макс 100) (number, optional)
  • repo: Имя репозитория (string, required)
  • list_discussion_categories - Список категорий обсуждений
  • OAuth Challenge Scopes: repo
  • owner: Владелец репозитория (string, required)
  • repo: Имя репозитория. Если не указано, категории обсуждений будут запрошены на уровне организации. (string, optional)
  • list_discussions - Список обсуждений
  • OAuth Challenge Scopes: repo
  • after: Курсор для пагинации. Используйте курсор из предыдущего ответа. (string, optional)
  • category: Необязательный фильтр по идентификатору категории обсуждения. Если указан, будут перечислены только обсуждения с этой категорией. (string, optional)
  • direction: Направление сортировки. (string, optional)
  • orderBy: Поле для сортировки обсуждений. Если указан, также необходимо указать «direction». (string, optional)
  • owner: Владелец репозитория (string, required)
  • perPage: Количество результатов на странице для пагинации (мин 1, макс 100) (number, optional)
  • repo: Имя репозитория. Если не указано, обсуждения будут запрошены на уровне организации. (string, optional)

Gists

  • create_gist - Создать Gist
  • OAuth Challenge Scopes: gist
  • content: Содержимое для создания простого однофайлового gist (string, required)
  • description: Описание gist (string, optional)
  • filename: Имя файла для создания простого однофайлового gist (string, required)
  • public: Указывает, является ли gist публичным (boolean, optional)
  • get_gist - Получить содержимое Gist
  • gist_id: Идентификатор gist (string, required)
  • list_gists - Список gists
  • page: Номер страницы для пагинации (мин 1) (number, optional)
  • perPage: Количество результатов на странице для пагинации (мин 1, макс 100) (number, optional)
  • since: Только gists, обновленные после этого времени (формат ISO 8601) (string, optional)
  • username: Имя пользователя GitHub (пропустите для аутентифицированного пользователя) (string, optional)
  • update_gist - Обновить Gist
  • OAuth Challenge Scopes: gist
  • content: Содержимое файла (string, required)
  • description: Обновленное описание gist (string, optional)
  • filename: Имя файла для обновления или создания (string, required)
  • gist_id: Идентификатор gist для обновления (string, required)

Git

  • get_repository_tree - Получить дерево репозитория
  • OAuth Challenge Scopes: repo
  • owner: Владелец репозитория (имя пользователя или организации) (string, required)
  • path_filter: Необязательный префикс пути для фильтрации результатов дерева (например, 'src/', чтобы показать только файлы в каталоге src) (string, optional)
  • recursive: Установка этого параметра в true возвращает объекты или поддеревья, ссылающиеся на дерево. По умолчанию false (boolean, optional)
  • repo: Название репозитория (строка, обязательный)
  • tree_sha: Значение SHA1 или имя ссылки (ветка или тег) дерева. По умолчанию используется ветка по умолчанию репозитория (строка, необязательный)

Задачи

  • add_issue_comment - Добавить комментарий к задаче или запросу на изменение
  • OAuth Challenge Scopes: repo
  • body: Содержание комментария. Обязательно, если не указана реакция. (строка, необязательный)
  • comment_id: Числовой ID комментария задачи или запроса на изменение, на который нужно ответить. Используйте это для реакций на комментарии; опустите, чтобы ответить на саму задачу или запрос на изменение. Не может использоваться вместе с body. (целое число, необязательный)
  • issue_number: Номер задачи или запроса на изменение, к которому добавляется комментарий или реакция. (число, обязательный)
  • owner: Владелец репозитория (строка, обязательный)
  • reaction: Эмодзи-реакция для добавления. Обязательна, если не указан body. (строка, необязательный)
  • repo: Название репозитория (строка, обязательный)
  • get_label - Получить конкретную метку из репозитория
  • OAuth Challenge Scopes: repo
  • name: Имя метки. (строка, обязательный)
  • owner: Владелец репозитория (имя пользователя или организации) (строка, обязательный)
  • repo: Название репозитория (строка, обязательный)
  • issue_read - Получить детали задачи
  • OAuth Challenge Scopes: repo
  • issue_number: Номер задачи (число, обязательный)
  • method: Операция чтения для выполнения с одной задачей. Варианты:
    1. get - Получить детали задачи. Также возвращает флаги иерархии с возможностью выполнения: (has_parent, has_children); parent и sub_issues_summary — это необязательные сводки о связях, а closed_by_pull_requests подводит итоги запросов на изменение, настроенных для закрытия задачи, как total_count плюс до 5 references.
    2. get_comments - Получить комментарии к задаче.
    3. get_sub_issues - Получить подзадачи (дочерние задачи) задачи.
    4. get_parent - Получить родительскую задачу, если эта задача является дочерней по отношению к другой.
    5. get_labels - Получить метки, назначенные задаче. (строка, обязательный)
  • owner: Владелец репозитория (строка, обязательный)
  • page: Номер страницы для пагинации (минимум 1) (число, необязательный)
  • perPage: Количество результатов на странице для пагинации (минимум 1, максимум 100) (число, необязательный)
  • repo: Название репозитория (строка, обязательный)
  • issue_write - Создать или обновить задачу/запрос на изменение
  • OAuth Challenge Scopes: repo
  • assignees: Имена пользователей для назначения этой задаче (массив строк, необязательный)
  • body: Содержание описания задачи (строка, необязательный)
  • duplicate_of: Номер задачи, дубликатом которой является эта задача. Обязательно при state_reason равном 'duplicate'. (число, необязательный)
  • issue_fields: Значения полей задачи для установки или очистки. Каждый элемент требует field_name и ровно один из value, field_option_name или delete: true. (массив объектов, необязательный)
  • issue_number: Номер задачи для обновления (число, необязательный)
  • labels: Метки для применения к этой задаче (массив строк, необязательный)
  • method: Операция записи для выполнения с одной задачей. Варианты:
    • 'create' - создаёт новую задачу.
    • 'update' - обновляет существующую задачу. (строка, обязательный)
  • milestone: Номер этапа (число, необязательный)
  • owner: Владелец репозитория (строка, обязательный)
  • parent_issue_number: Номер родительской задачи. Используется только при method равном 'create' и не может использоваться вместе с issue_fields. Новая задача создаётся и привязывается к этой родительской задаче в одной операции. (число, необязательный)
  • parent_owner: Владелец репозитория родительской задачи. Должен быть предоставлен вместе с parent_repo. Опустите оба, чтобы использовать owner и repo. Используется только при method равном 'create' и при указанном parent_issue_number. (строка, необязательный)
  • parent_repo: Название репозитория родительской задачи. Должно быть предоставлено вместе с parent_owner. Опустите оба, чтобы использовать owner и repo. Используется только при method равном 'create' и при указанном parent_issue_number. (строка, необязательный)
  • repo: Название репозитория (строка, обязательный)
  • state: Новое состояние (строка, необязательный)
  • state_reason: Причина изменения состояния. Игнорируется, если состояние не изменено. (строка, необязательный)
  • title: Заголовок задачи (строка, необязательный)
  • type: Тип этой задачи. Для обновлений передайте null, чтобы удалить текущий тип. Используйте только если типы задач включены для этого репозитория. Используйте list_issue_types для получения допустимых значений типов для этого репозитория или его организации-владельца. Если репозиторий не поддерживает типы задач, опустите этот параметр. (string | null, optional)
  • list_issue_fields - Список полей задач
  • OAuth Challenge Scopes: repo, read:org
  • owner: Владелец аккаунта репозитория или организации. Имя не чувствительно к регистру. (string, required)
  • repo: Название репозитория. Если указано, возвращает поля для этого конкретного репозитория (унаследованные от его организации). Если опущено, возвращает поля уровня организации напрямую. (string, optional)
  • list_issue_types - Список доступных типов задач
  • OAuth Challenge Scopes: repo, read:org
  • owner: Владелец аккаунта репозитория или организации. (string, required)
  • repo: Название репозитория. Если указано, возвращает типы задач для этого конкретного репозитория. Если опущено, возвращает типы задач уровня организации напрямую. (string, optional)
  • list_issues - Список задач
  • OAuth Challenge Scopes: repo
  • after: Курсор для пагинации. Используйте курсор из предыдущего ответа. (string, optional)
  • direction: Направление сортировки. Если указано, также необходимо указать orderBy. (string, optional)
  • field_filters: Фильтр по значениям пользовательских полей задач. Каждая запись содержит field_name и значение; сервер находит поле и преобразует значение в его тип (название варианта одиночного выбора, текст, число или дата в формате YYYY-MM-DD). (object[], optional)
  • fields: Подмножество полей для возврата для каждой задачи. Если опущено, возвращаются все поля. Используйте это для уменьшения размера ответа, когда вам нужны только определённые поля; в частности, опущение body и field_values значительно уменьшает объём данных в ответе. (string[], optional)
  • labels: Фильтр по меткам (string[], optional)
  • orderBy: Поле для сортировки задач. Если указано, также необходимо указать direction. (string, optional)
  • owner: Владелец репозитория (string, required)
  • perPage: Количество результатов на странице для пагинации (мин 1, макс 100) (number, optional)
  • repo: Название репозитория (string, required)
  • since: Фильтр по дате (временная метка ISO 8601) (string, optional)
  • state: Фильтр по состоянию. По умолчанию возвращаются как открытые, так и закрытые задачи, если не указано. (string, optional)
  • search_issues - Поиск задач
  • OAuth Challenge Scopes: repo
  • fields: Подможество полей для возврата для каждой задачи в результатах поиска. Если опущено, возвращаются все поля. Используйте это для уменьшения размера ответа, когда вам нужны только определённые поля; в частности, опущение body, reactions и labels значительно уменьшает объём данных в ответе. (string[], optional)
  • order: Порядок сортировки (string, optional)
  • owner: Необязательный владелец репозитория. Если указано вместе с repo, отображаются только задачи этого репозитория. (string, optional)
  • page: Номер страницы для пагинации (мин 1) (number, optional)
  • perPage: Количество результатов на странице для пагинации (мин 1, макс 100) (number, optional)
  • query: Поисковый запрос в виде естественного языка. Если пользователь использует альтернативные формулировки, включайте их как отдельные слова, а не соединяйте с помощью OR. (string, required)
  • repo: Необязательное название репозитория. Если указано вместе с owner, отображаются только задачи этого репозитория. (string, optional)
  • sort: Поле сортировки по количеству совпадений категорий, по умолчанию — лучшее совпадение (string, optional)
  • sub_issue_write - Изменить подзадачу
  • OAuth Challenge Scopes: repo
  • after_id: ID подзадачи, после которой нужно изменить приоритет (либо after_id, либо before_id должны быть указаны) (number, optional)
  • before_id: ID подзадачи, перед которой нужно изменить приоритет (либо after_id, либо before_id должны быть указаны) (number, optional)
  • issue_number: Номер родительской задачи (number, required)
  • method: Действие для выполнения с одной подзадачей Варианты:
    • 'add' — добавить подзадачу к родительской задаче в репозитории GitHub.
    • 'remove' — удалить подзадачу из родительской задачи в репозитории GitHub.
    • 'reprioritize' — изменить порядок подзадач внутри родительской задачи в репозитории GitHub. Используйте либо after_id, либо before_id для указания новой позиции. Запись иерархии задач. Чтобы переместить подзадачу к новой родительской задаче, используйте add с replace_parent=true; поле родительской задачи недоступно для записи. (string, required)
  • owner: Владелец репозитория (строка, обязательно)
  • replace_parent: Если true, заменяет текущую родительскую задачу подзадачи. Используется только с методом 'add'. (логическое значение, необязательно)
  • repo: Название репозитория (строка, обязательно)
  • sub_issue_id: Идентификатор подзадачи для добавления. Идентификатор отличается от номера задачи (число, обязательно)

Метки

  • get_label - Получить конкретную метку из репозитория
  • OAuth Challenge Scopes: repo
  • name: Название метки. (строка, обязательно)
  • owner: Владелец репозитория (имя пользователя или название организации) (строка, обязательно)
  • repo: Название репозитория (строка, обязательно)
  • label_write - Операции записи с метками репозитория
  • OAuth Challenge Scopes: repo
  • color: Цвет метки в виде 6-символьного шестнадцатеричного кода без префикса '#' (например, 'f29513'). Обязательно для 'create', необязательно для 'update'. (строка, необязательно)
  • description: Описание метки. Необязательно для 'create' и 'update'. (строка, необязательно)
  • method: Операция для выполнения: 'create', 'update' или 'delete' (строка, обязательно)
  • name: Название метки - обязательно для всех операций (строка, обязательно)
  • new_name: Новое название метки (используется только с методом 'update' для переименования) (строка, необязательно)
  • owner: Владелец репозитория (имя пользователя или название организации) (строка, обязательно)
  • repo: Название репозитория (строка, обязательно)
  • list_label - Список меток из репозитория
  • OAuth Challenge Scopes: repo
  • owner: Владелец репозитория (имя пользователя или название организации) - обязательно для всех операций (строка, обязательно)
  • repo: Название репозитория - обязательно для всех операций (строка, обязательно)

Уведомления

  • dismiss_notification - Отметить уведомление как прочитанное
  • OAuth Challenge Scopes: notifications
  • state: Новое состояние уведомления (read/done) (строка, обязательно)
  • threadID: Идентификатор потока уведомления (строка, обязательно)
  • get_notification_details - Получить детали уведомления
  • OAuth Challenge Scopes: notifications
  • notificationID: Идентификатор уведомления (строка, обязательно)
  • list_notifications - Список уведомлений
  • OAuth Challenge Scopes: notifications
  • before: Показывать только уведомления, обновленные до указанного времени (формат ISO 8601) (строка, необязательно)
  • filter: Фильтр уведомлений. Используйте значение по умолчанию, если не указано. Прочитанные уведомления — это те, которые уже были подтверждены пользователем. Участие в уведомлениях означает, что пользователь непосредственно участвует в них, например, в вопросах или запросах на добавление, в которых он прокомментировал или создал. (строка, необязательно)
  • owner: Необязательный владелец репозитория. Если указан вместе с repo, отображаются только уведомления для этого репозитория. (строка, необязательно)
  • page: Номер страницы для пагинации (минимум 1) (число, необязательно)
  • perPage: Количество результатов на странице для пагинации (минимум 1, максимум 100) (число, необязательно)
  • repo: Необязательное название репозитория. Если указано вместе с owner, отображаются только уведомления для этого репозитория. (строка, необязательно)
  • since: Показывать только уведомления, обновленные после указанного времени (формат ISO 8601) (строка, необязательно)
  • manage_notification_subscription - Управление подпиской на уведомления
  • OAuth Challenge Scopes: notifications
  • action: Действие для выполнения: игнорировать, наблюдать или удалить подписку на уведомление. (строка, обязательно)
  • notificationID: Идентификатор потока уведомления. (строка, обязательно)
  • manage_repository_notification_subscription - Управление подпиской на уведомления репозитория
  • OAuth Challenge Scopes: notifications
  • action: Действие для выполнения: игнорировать, наблюдать или удалить подписку на уведомления репозитория. (строка, обязательно)
  • owner: Владелец учетной записи репозитория. (строка, обязательно)
  • repo: The name of the repository. (string, required)
  • mark_all_notifications_read - Mark all notifications as read
  • OAuth Challenge Scopes: notifications
  • lastReadAt: Describes the last point that notifications were checked (optional). Default: Now (string, optional)
  • owner: Optional repository owner. If provided with repo, only notifications for this repository are marked as read. (string, optional)
  • repo: Optional repository name. If provided with owner, only notifications for this repository are marked as read. (string, optional)

Organizations

  • search_orgs - Search organizations
  • OAuth Challenge Scopes: read:org
  • order: Sort order (string, optional)
  • page: Page number for pagination (min 1) (number, optional)
  • perPage: Results per page for pagination (min 1, max 100) (number, optional)
  • query: Organization search query. Examples: 'microsoft', 'location:california', 'created:>=2025-01-01'. Search is automatically scoped to type:org. (string, required)
  • sort: Sort field by category (string, optional)

Projects

  • projects_get - Get details of GitHub Projects resources
  • OAuth Challenge Scopes: read:project
  • field_id: The field's ID. Required for 'get_project_field' method. (number, optional)
  • field_names: Specific list of field names to include in the response when getting a project item (e.g. ["Status", "Priority"]). Resolved server-side to field IDs — pass this instead of 'fields' when you only know the human-readable names. Mutually exclusive with 'fields' — provide one, not both. Only used for 'get_project_item' method. (string[], optional)
  • fields: Specific list of field IDs to include in the response when getting a project item (e.g. ["102589", "985201", "169875"]). If neither 'fields' nor 'field_names' is provided, only the title field is included. Mutually exclusive with 'field_names' — provide one, not both. Only used for 'get_project_item' method. (string[], optional)
  • item_id: The item's ID. Required for 'get_project_item' method. (number, optional)
  • method: The method to execute (string, required)
  • owner: The owner (user or organization login). The name is not case sensitive. (string, optional)
  • owner_type: Owner type (user or org). If not provided, will be automatically detected. (string, optional)
  • project_number: The project's number. (number, optional)
  • status_update_id: The node ID of the project status update. Required for 'get_project_status_update' method. (string, optional)
  • view_id: The node ID of the project view. Required for 'get_project_view' method. (string, optional)
  • projects_list - List GitHub Projects resources
  • OAuth Challenge Scopes: read:project
  • after: Forward pagination cursor from previous pageInfo.nextCursor. (string, optional)
  • before: Backward pagination cursor from previous pageInfo.prevCursor (rare). (string, optional)
  • field_names: Field names to include when listing project items (e.g. ["Status", "Priority"]). Resolved server-side to field IDs — pass this instead of 'fields' when you only know the human-readable names. Names that fail to resolve return a structured error. Mutually exclusive with 'fields' — provide one, not both. Only used for 'list_project_items' method. (string[], optional)
  • fields: Field IDs to include when listing project items (e.g. ["102589", "985201"]). CRITICAL: Always provide to get field values. Without this (and without 'field_names'), only titles returned. Mutually exclusive with 'field_names' — provide one, not both. Only used for 'list_project_items' method. (string[], optional)
  • method: Действие для выполнения (string, требуется)
  • owner: Владелец (логин пользователя или организации). Имя не чувствительно к регистру. (string, требуется)
  • owner_type: Тип владельца (user или org). Если не указан, автоматически попытается оба варианта. (string, необязательно)
  • per_page: Количество результатов на странице (максимум 50) (number, необязательно)
  • project_number: Номер проекта. Требуется для методов 'list_project_fields', 'list_project_items', 'list_project_views' и 'list_project_status_updates'. (number, необязательно)
  • query: Строка фильтра/запроса. Для list_projects: фильтр по тексту заголовка и состоянию (например, "roadmap is:open"). Для list_project_items: расширенная фильтрация с использованием синтаксиса фильтрации проектов GitHub. (string, необязательно)
  • projects_write - Управление проектами GitHub
  • OAuth Challenge Scopes: project
  • body: Тело обновления статуса (markdown). Используется для метода 'create_project_status_update'. (string, необязательно)
  • field_name: Имя поля итерации (например, 'Sprint'). Требуется для метода 'create_iteration_field'. (string, необязательно)
  • filter: Сохраненный фильтр представления; опустите при обновлении, чтобы сохранить его, или укажите null, чтобы очистить. (string | null, необязательно)
  • issue_number: Номер задачи. Требуется для 'add_project_item', когда item_type равен 'issue'. Также принимается 'update_project_item' для разрешения элемента по номеру задачи (в связке с item_owner и item_repo). (number, необязательно)
  • item_id: ID элемента проекта. Требуется для 'delete_project_item'. Для 'update_project_item' укажите либо item_id, либо (item_owner + item_repo + issue_number) для разрешения элемента по задаче. (number, необязательно)
  • item_owner: Владелец (пользователь или организация) репозитория, содержащего задачу или запрос на изменение. Требуется для метода 'add_project_item'. Также принимается 'update_project_item' при разрешении элемента по номеру задачи. (string, необязательно)
  • item_repo: Имя репозитория, содержащего задачу или запрос на изменение. Требуется для метода 'add_project_item'. Также принимается 'update_project_item' при разрешении элемента по номеру задачи. (string, необязательно)
  • item_type: Тип элемента, либо issue, либо pull_request. Требуется для метода 'add_project_item'. (string, необязательно)
  • items: Элементы для обновления верхнего уровня 'updated_field'. Требуется для 'update_project_items'; предпочтительнее использовать его вместо вызова 'update_project_item' в цикле. Каждая запись должна точно соответствовать одному из вариантов ссылки: 'node_id', числовой 'item_id' или 'item_owner' + 'item_repo' + 'issue_number'. Ограничение: 50 элементов на вызов. (object[], необязательно)
  • iteration_duration: Длительность итераций поля в днях (например, 7 для еженедельных, 14 для двунедельных). Требуется для метода 'create_iteration_field'. (number, необязательно)
  • iterations: Пользовательские итерации для метода 'create_iteration_field'. Устанавливайте это только если вам нужны итерации с разной длительностью, перерывы между ними или определенные названия. В противном случае опустите: GitHub автоматически создаст три итерации с длительностью 'iteration_duration' дней, начиная с 'start_date', что является правильным выбором для большинства случаев. (object[], необязательно)
  • layout: Макет представления; требуется при создании представления. (string, необязательно)
  • method: Метод для выполнения (string, требуется)
  • name: Имя представления; требуется при создании представления. (string, необязательно)
  • owner: Владелец проекта (логин пользователя или организации). Имя не чувствительно к регистру. (string, требуется)
  • owner_type: Тип владельца (user или org). Требуется для метода 'create_project'. Если не указан для других методов, будет автоматически определен. (string, необязательно)
  • project_number: Номер проекта. Требуется для всех методов, кроме 'create_project'. (number, необязательно)
  • pull_request_number: Номер запроса на изменение (используйте, когда item_type равен 'pull_request' для метода 'add_project_item'). Укажите либо issue_number, либо pull_request_number. (number, необязательно)
  • start_date: Дата начала в формате YYYY-MM-DD. Используется для методов 'create_project_status_update' и 'create_iteration_field'. (string, необязательно)
  • status: Статус проекта. Используется для метода 'create_project_status_update'. (string, необязательно)
  • target_date: Целевая дата обновления статуса в формате YYYY-MM-DD. Используется для метода 'create_project_status_update'. (string, необязательно)
  • title: Заголовок проекта. Требуется для метода 'create_project'. (string, необязательно)
  • updated_field: Поле/значение для применения, используя {"id": 123, "value": ...} или {"name": "Status", "value": ...}; null очищает поле. Обязательно для 'update_project_item' и 'update_project_items', где одно верхнее поле/значение применяется к каждому элементу партии. Для 'update_project_item' полей SINGLE_SELECT форма имени принимает имена опций; форма ID ожидает ID опции. (объект, необязательно)
  • view_id: ID узла представления проекта для обновления или удаления; должен принадлежать владельцу/номеру проекта. (строка, необязательно)
  • visible_field_names: Упорядоченные имена полей проекта, отображаемые при создании или замене при обновлении; опустите при обновлении для сохранения, или передайте [] для сброса. Взаимоисключающие с visible_fields. Roadmap принимает только []. (строковый массив, необязательно)
  • visible_fields: Упорядоченные ID полей базы данных проекта, отображаемые при создании или замене при обновлении; опустите при обновлении для сохранения, или передайте [] для сброса. Взаимоисключающие с visible_field_names. Roadmap принимает только []. (строковый массив, необязательно)

Pull Requests

  • add_comment_to_pending_review - Добавить комментарий к актуальному отложенному обзору запроса на pull
  • OAuth Challenge Scopes: repo
  • body: Текст комментария к обзору (строка, обязательно)
  • line: Строка blob в diff запроса на pull, к которой относится комментарий. Для многострочных комментариев — последняя строка диапазона (число, необязательно)
  • owner: Владелец репозитория (строка, обязательно)
  • path: Относительный путь к файлу, требующему комментария (строка, обязательно)
  • pullNumber: Номер pull-запроса (число, обязательно)
  • repo: Название репозитория (строка, обязательно)
  • side: Сторона diff для комментария. LEFT означает предыдущее состояние, RIGHT — новое (строка, необязательно)
  • startLine: Для многострочных комментариев — первая строка диапазона, к которому относится комментарий (число, необязательно)
  • startSide: Для многострочных комментариев — начальная сторона diff, к которой относится комментарий. LEFT означает предыдущее состояние, RIGHT — новое (строка, необязательно)
  • subjectType: Уровень, на котором целится комментарий (строка, обязательно)
  • add_reply_to_pull_request_comment - Добавить ответ на комментарий pull-запроса
  • OAuth Challenge Scopes: repo
  • body: Текст ответа. Обязательно, если не указан reaction. (строка, необязательно)
  • commentId: Числовой ID комментария обзора pull-запроса, на который отвечают или реагируют. Используйте число из якоря #discussion_r..., а не GraphQL thread node ID (PRRT_...). (число, обязательно)
  • owner: Владелец репозитория (строка, обязательно)
  • pullNumber: Номер pull-запроса. Обязательно при предоставлении body. (число, необязательно)
  • reaction: Эмодзи-реакция для добавления. Обязательно, если не указан body. (строка, необязательно)
  • repo: Название репозитория (строка, обязательно)
  • create_pull_request - Открыть новый pull-запрос
  • OAuth Challenge Scopes: repo
  • base: Ветка для слияния (строка, обязательно)
  • body: Описание PR (строка, необязательно)
  • draft: Создать как черновик PR (логическое значение, необязательно)
  • head: Ветка с изменениями (строка, обязательно)
  • maintainer_can_modify: Разрешить изменения поддерживающим (логическое значение, необязательно)
  • owner: Владелец репозитория (строка, обязательно)
  • repo: Название репозитория (строка, обязательно)
  • reviewers: Имена пользователей GitHub или команды ORG/team-slug для запроса обзора (строковый массив, необязательно)
  • title: Заголовок PR (строка, обязательно)
  • list_pull_requests - Список pull-запросов
  • OAuth Challenge Scopes: repo
  • base: Фильтр по базовой ветке (строка, необязательно)
  • direction: Направление сортировки (строка, необязательно)
  • fields: Подмножество полей для возврата для каждого pull-запроса. Если опущено, возвращаются все поля. Используйте это для уменьшения размера ответа, когда вам нужно только определённые поля; в частности, опускание 'body' удаляет самые большие данные на результат. (строковый массив, необязательно)
  • head: Фильтр по пользователю/организации и ветке (строка, необязательно)
  • owner: Владелец репозитория (строка, обязательно)
  • page: Номер страницы для пагинации (мин 1) (число, необязательно)
  • merge_pull_request - Слияние pull-запроса
  • OAuth Challenge Scopes: repo
  • commit_message: Дополнительные детали для коммита слияния (string, optional)
  • commit_title: Заголовок для коммита слияния (string, optional)
  • merge_method: Метод слияния (string, optional)
  • owner: Владелец репозитория (string, required)
  • pullNumber: Номер pull-запроса (number, required)
  • repo: Название репозитория (string, required)
  • pull_request_read - Получить детали конкретного pull-запроса
  • OAuth Challenge Scopes: repo
  • after: Курсор для пагинации, используется только методом get_review_comments. Передайте endCursor из PageInfo предыдущей страницы для загрузки следующей страницы. (string, optional)
  • method: Действие для указания, какие данные pull-запроса нужно получить из GitHub. Возможные варианты:
    1. get - Получить детали конкретного pull-запроса.
    2. get_diff - Получить дифф pull-запроса.
    3. get_status - Получить комбинированный статус коммитов для начального коммита pull-запроса.
    4. get_files - Получить список изменённых файлов в pull-запросе. Используйте с параметрами пагинации для управления количеством возвращаемых результатов.
    5. get_commits - Получить список коммитов в pull-запросе. Используйте с параметрами пагинации для управления количеством возвращаемых результатов.
    6. get_review_comments - Получить потоки комментариев к pull-запросу. Каждый поток содержит логически объединённые комментарии, сделанные в одном и том же месте кода во время обзоров pull-запросов. Возвращает потоки с метаданными (isResolved, isOutdated, isCollapsed) и связанные с ними комментарии. Используйте курсор-пагинацию (perPage, after) для управления результатами.
    7. get_reviews - Получить обзоры pull-запроса. При запросе комментариев к обзору используйте метод get_review_comments. Используйте с параметрами пагинации для управления количеством возвращаемых результатов.
    8. get_comments - Получить комментарии к pull-запросу. Используйте этот метод, если пользователь не хочет специфически получить комментарии к обзору. Используйте с параметрами пагинации для управления количеством возвращаемых результатов.
    9. get_check_runs - Получить проверки для начального коммита pull-запроса. Проверки — это отдельные задачи CI/CD и проверки, выполняемые для PR. (string, required)
  • owner: Владелец репозитория (string, required)
  • page: Номер страницы для пагинации (min 1) (number, optional)
  • perPage: Количество результатов на страницу для пагинации (min 1, max 100) (number, optional)
  • pullNumber: Номер pull-запроса (number, required)
  • repo: Название репозитория (string, required)
  • pull_request_review_write - Операции записи (создание, отправка, удаление) на обзорах pull-запросов
  • OAuth Challenge Scopes: repo
  • body: Текст комментария к обзору (string, optional)
  • commitID: SHA коммита для обзора (string, optional)
  • event: Действие обзора для выполнения. (string, optional)
  • method: Операция записи для выполнения на обзоре pull-запроса. (string, required)
  • owner: Владелец репозитория (string, required)
  • pullNumber: Номер pull-запроса (number, required)
  • repo: Название репозитория (string, required)
  • threadId: Node ID потока обзора (например, PRRT_kwDOxxx). Требуется для методов resolve_thread и unresolve_thread. Получите threadId из pull_request_read с методом get_review_comments. (string, optional)
  • search_pull_requests - Поиск pull-запросов
  • OAuth Challenge Scopes: repo
  • fields: Подмножество полей для возврата для каждого результата pull-запроса. Если опущено, возвращаются все поля. Используйте это для снижения размера ответа, когда вам нужно только определённые поля; в частности, опускание 'body', 'reactions' и 'labels' удаляет наиболее большие данные на результат. (string[], optional)
  • order: Порядок сортировки (string, optional)
  • owner: Необязательный владелец репозитория. Если указан с repo, в списке отображаются только pull-запросы для этого репозитория. (string, optional)
  • page: Номер страницы для пагинации (min 1) (number, optional)
  • perPage: Количество результатов на страницу для пагинации (min 1, max 100) (number, optional)
  • query: Поисковый запрос с использованием синтаксиса поиска pull-запросов GitHub (string, required)
  • repo: Необязательное название репозитория. Если указано с owner, в списке отображаются только pull-запросы для этого репозитория. (string, optional)
  • sort: Сортировать поле по количеству совпадений категорий, по умолчанию — лучшее совпадение (string, optional)
  • update_pull_request - Редактировать pull request
  • OAuth Challenge Scopes: repo
  • base: Новое имя базовой ветки (string, optional)
  • body: Новое описание (string, optional)
  • draft: Пометить pull request как черновик (true) или готовый к проверке (false) (boolean, optional)
  • maintainer_can_modify: Разрешить правки сопровождающим (boolean, optional)
  • owner: Владелец репозитория (string, required)
  • pullNumber: Номер pull request для обновления (number, required)
  • repo: Имя репозитория (string, required)
  • reviewers: Имена пользователей GitHub или команды организации/org-team-slag для запроса проверки (string[], optional)
  • state: Новое состояние (string, optional)
  • title: Новое заглавие (string, optional)
  • update_pull_request_branch - Обновить ветку pull request
  • OAuth Challenge Scopes: repo
  • expectedHeadSha: Ожидаемый SHA ссылки HEAD pull request (string, optional)
  • owner: Владелец репозитория (string, required)
  • pullNumber: Номер pull request (number, required)
  • repo: Имя репозитория (string, required)

Репозитории

  • create_branch - Создать ветку
  • OAuth Challenge Scopes: repo
  • branch: Имя новой ветки (string, required)
  • from_branch: Исходная ветка (по умолчанию — ветка по умолчанию репозитория) (string, optional)
  • owner: Владелец репозитория (string, required)
  • repo: Имя репозитория (string, required)
  • create_or_update_file - Создать или обновить файл
  • OAuth Challenge Scopes: repo, workflow
  • allow_symlink_write: Установите true, чтобы обновить саму символическую ссылку; содержимое должно быть новым путём к файлу-источнику. (boolean, optional)
  • branch: Ветка, в которой создать/обновить файл (string, required)
  • content: Содержимое файла, точно так же, как оно должно появиться после записи. Не кодируйте его в base64; этот сервер делает это перед вызовом REST API. (string, required)
  • message: Сообщение коммита (string, required)
  • owner: Владелец репозитория (имя пользователя или организации) (string, required)
  • path: Путь, по которому создать/обновить файл (string, required)
  • repo: Имя репозитория (string, required)
  • sha: SHA blob-объекта файла, который заменяется. Необходимо, если файл уже существует. (string, optional)
  • create_repository - Создать репозиторий
  • OAuth Challenge Scopes: repo
  • autoInit: Инициализировать с README (boolean, optional)
  • description: Описание репозитория (string, optional)
  • name: Имя репозитория (string, required)
  • organization: Организация, в которую создать репозиторий (опустите, чтобы создать в своём личном аккаунте) (string, optional)
  • private: Должен ли репозиторий быть приватным. По умолчанию true (приватный), если параметр опущен. (boolean, optional)
  • delete_file - Удалить файл
  • OAuth Challenge Scopes: repo, workflow
  • branch: Ветка, из которой удалить файл (string, required)
  • message: Сообщение коммита (string, required)
  • owner: Владелец репозитория (имя пользователя или организации) (string, required)
  • path: Путь к файлу для удаления (string, required)
  • repo: Имя репозитория (string, required)
  • delete_repository - Удалить репозиторий
  • OAuth Challenge Scopes: delete_repo, repo
  • owner: Владелец репозитория (имя пользователя или организации) (string, required)
  • repo: Имя репозитория (string, required)
  • fork_repository - Создать форк репозитория
  • OAuth Challenge Scopes: repo
  • organization: Организация, в которую создать форк (string, optional)
  • owner: Владелец репозитория (string, required)
  • repo: Имя репозитория (string, required)
  • get_commit - Получить детали коммита
  • OAuth Challenge Scopes: repo
  • detail: Уровень детализации для изменённых файлов. "none" полностью опускает статистику и файлы. "stats" (по умолчанию) включает метаданные для каждого файла: имя файла, статус и количество строк кода (добавления, удаления, изменения), без содержимого патча. "full_patch" дополнительно включает объединённый diff-контент для каждого файла и может быть очень большим. (string, optional)
  • owner: Владелец репозитория (string, required)
  • page: Номер страницы для пагинации (минимум 1) (число, необязательно)
  • perPage: Количество результатов на странице для пагинации (минимум 1, максимум 100) (число, необязательно)
  • repo: Имя репозитория (строка, обязательно)
  • sha: SHA коммита, имя ветки или имя тега (строка, обязательно)
  • get_file_contents - Получить содержимое файла или каталога
  • OAuth Challenge Scopes: repo
  • fields: Подмножество полей для возврата для каждой записи при пути являющемся каталогом. Если опущено, возвращаются все поля. Игнорируется, когда путь является одиночным файлом. Используйте это для уменьшения размера ответа при просмотре каталогов, когда вам нужны только определённые поля, например только 'name' и 'type'. (строка[], необязательно)
  • owner: Владелец репозитория (имя пользователя или организации) (строка, обязательно)
  • path: Путь к файлу/каталогу (строка, необязательно)
  • ref: Принимает необязательные ссылки git, такие как refs/tags/{tag}, refs/heads/{branch} или refs/pull/{pr_number}/head (строка, необязательно)
  • repo: Имя репозитория (строка, обязательно)
  • sha: Принимает необязательный SHA коммита. Если указан, будет использоваться вместо ref (строка, необязательно)
  • get_latest_release - Получить последний релиз
  • OAuth Challenge Scopes: repo
  • owner: Владелец репозитория (строка, обязательно)
  • repo: Имя репозитория (строка, обязательно)
  • get_release_by_tag - Получить релиз по имени тега
  • OAuth Challenge Scopes: repo
  • owner: Владелец репозитория (строка, обязательно)
  • repo: Имя репозитория (строка, обязательно)
  • tag: Имя тега (например, 'v1.0.0') (строка, обязательно)
  • get_tag - Получить детали тега
  • OAuth Challenge Scopes: repo
  • owner: Владелец репозитория (строка, обязательно)
  • repo: Имя репозитория (строка, обязательно)
  • tag: Имя тега (строка, обязательно)
  • list_branches - Список веток
  • OAuth Challenge Scopes: repo
  • owner: Владелец репозитория (строка, обязательно)
  • page: Номер страницы для пагинации (минимум 1) (число, необязательно)
  • perPage: Количество результатов на странице для пагинации (минимум 1, максимум 100) (число, необязательно)
  • repo: Имя репозитория (строка, обязательно)
  • list_commits - Список коммитов
  • OAuth Challenge Scopes: repo
  • author: Имя пользователя или адрес электронной почты автора для фильтрации коммитов (строка, необязательно)
  • fields: Подмножество полей для возврата для каждого коммита. Если опущено, возвращаются все поля. Используйте это для уменьшения размера ответа, когда вам нужны только определённые поля, например только 'sha' и 'html_url'. (строка[], необязательно)
  • owner: Владелец репозитория (строка, обязательно)
  • page: Номер страницы для пагинации (минимум 1) (число, необязательно)
  • path: Будут возвращены только коммиты, содержащие этот путь к файлу (строка, необязательно)
  • perPage: Количество результатов на странице для пагинации (минимум 1, максимум 100) (число, необязательно)
  • repo: Имя репозитория (строка, обязательно)
  • sha: SHA коммита, имя ветки или тега для списка коммитов. Если не указан, используется ветка по умолчанию репозитория. Если указан SHA коммита, будет выведен список коммитов до этого SHA. (строка, необязательно)
  • since: Будут возвращены только коммиты после этой даты (формат ISO 8601: YYYY-MM-DDTHH:MM:SSZ или YYYY-MM-DD) (строка, необязательно)
  • until: Будут возвращены только коммиты до этой даты (формат ISO 8601: YYYY-MM-DDTHH:MM:SSZ или YYYY-MM-DD) (строка, необязательно)
  • list_releases - Список релизов
  • OAuth Challenge Scopes: repo
  • fields: Подмножество полей для возврата для каждого релиза. Если опущено, возвращаются все поля. Используйте это для уменьшения размера ответа, когда вам нужны только определённые поля; в частности, опускание 'body' удаляет самые большие данные на релиз. (строка[], необязательно)
  • owner: Владелец репозитория (строка, обязательно)
  • page: Номер страницы для пагинации (минимум 1) (число, необязательно)
  • perPage: Количество результатов на странице для пагинации (минимум 1, максимум 100) (число, необязательно)
  • repo: Имя репозитория (строка, обязательно)
  • list_repository_collaborators - Список участников репозитория
  • OAuth Challenge Scopes: repo
  • affiliation: Фильтр по принадлежности. Может быть одним из: 'outside' (внешние участники), 'direct' (все с разрешениями независимо от членства в организации), 'all' (все участники). По умолчанию: 'all' (строка, необязательно)
  • owner: Владелец репозитория (строка,обязательно)
  • page: Номер страницы для пагинации (по умолчанию 1, минимум 1) (число, необязательно)
  • perPage: Количество результатов на странице для пагинации (по умолчанию 30, минимум 1, максимум 100) (число, необязательно)
  • repo: Имя репозитория (строка, обязательно)
  • list_tags - Список тегов
  • OAuth Challenge Scopes: repo
  • owner: Владелец репозитория (строка, обязательно)
  • page: Номер страницы для пагинации (минимум 1) (число, необязательно)
  • perPage: Количество результатов на странице для пагинации (минимум 1, максимум 100) (число, необязательно)
  • repo: Название репозитория (строка, обязательно)
  • push_files - Отправить файлы в репозиторий
  • OAuth Challenge Scopes: repo, workflow
  • branch: Ветка для отправки (строка, обязательно)
  • files: Массив объектов файлов для отправки, каждый объект с path (строка) и content (строка) (массив объектов, обязательно)
  • message: Сообщение коммита (строка, обязательно)
  • owner: Владелец репозитория (строка, обязательно)
  • repo: Название репозитория (строка, обязательно)
  • search_code - Поиск кода
  • OAuth Challenge Scopes: repo
  • fields: Подмножество полей для возврата для каждого результата поиска кода. Если опущено, возвращаются все поля. Используйте это для уменьшения размера ответа, когда вам нужно только определённые поля; в частности, опускание 'repository' и 'text_matches' удаляет самые большие данные на результат. (массив строк, необязательно)
  • order: Порядок сортировки результатов (строка, необязательно)
  • page: Номер страницы для пагинации (минимум 1) (число, необязательно)
  • perPage: Количество результатов на странице для пагинации (минимум 1, максимум 100) (число, необязательно)
  • query: Запрос поиска (REST API поиска кода GitHub). Неявный AND между терминами; поддерживает OR, NOT, и "цитируемая фраза" для точного совпадения. Квалификаторы: repo:owner/repo, org:, user:, language:, path:dir (префиксное совпадение), filename:exact.ext, extension:, in:file, in:path, size:, is:archived, is:fork. Максимум 256 символов. Примеры: WithContext language:go org:github; "package main" repo:o/r; func extension:go path:cmd repo:o/r; NOT TODO language:go repo:o/r. (строка, обязательно)
  • sort: Поле сортировки ('indexed' только) (строка, необязательно)
  • search_commits - Поиск коммитов
  • OAuth Challenge Scopes: repo
  • order: Порядок сортировки (строка, необязательно)
  • page: Номер страницы для пагинации (минимум 1) (число, необязательно)
  • perPage: Количество результатов на странице для пагинации (минимум 1, максимум 100) (число, необязательно)
  • query: Запрос поиска коммитов (REST API поиска коммитов GitHub). Ищет сообщения коммитов только на ветке по умолчанию. Ограничьте поиск с помощью repo:owner/repo, org:, или user: (запросы без квалификатора области действия соответствуют во всём GitHub и обычно не являются тем, что вы хотите). Другие квалификаторы: author:, committer:, author-name:, committer-name:, author-email:, committer-email:, author-date:, committer-date: (поддерживает >, <, >=, <=, и YYYY-MM-DD..YYYY-MM-DD диапазоны), merge:true|false, hash:, tree:, parent:, is:public. Примеры: repo:owner/repo fix panic; org:github author:defunkt committer-date:>=2024-01-01; "refactor cache" repo:o/r; hash:abc1234 repo:o/r. (строка, обязательно)
  • sort: Сортировать по дате автора или коммитера (по умолчанию: лучшее совпадение) (строка, необязательно)
  • search_repositories - Поиск репозиториев
  • OAuth Challenge Scopes: repo
  • minimal_output: Возвращать минимальную информацию о репозитории (по умолчанию: true). При false возвращает полные объекты репозиториев GitHub API. (логическое значение, необязательно)
  • order: Порядок сортировки (строка, необязательно)
  • page: Номер страницы для пагинации (минимум 1) (число, необязательно)
  • perPage: Количество результатов на странице для пагинации (минимум 1, максимум 100) (число, необязательно)
  • query: Запрос поиска репозиториев. Примеры: 'machine learning in:name stars:>1000 language:python', 'topic:react', 'user:facebook'. Поддерживает расширенный синтаксис поиска для точной фильтрации. (строка, обязательно)
  • sort: Сортировать репозитории по полю, по умолчанию: лучшее совпадение (строка, необязательно)

Защита секретов

  • get_secret_scanning_alert - Получить оповещение о сканировании секретов
  • OAuth Challenge Scopes: security_events
  • alertNumber: Номер оповещения. (число, обязательно)
  • owner: Владелец репозитория. (строка, обязательно)
  • repo: Название репозитория. (строка, обязательно)
  • list_secret_scanning_alerts - Список оповещений о сканировании секретов
  • OAuth Challenge Scopes: security_events
  • owner: Владелец репозитория. (строка, обязательно)
  • page: Номер страницы для пагинации (минимум 1) (число, необязательно)
  • perPage: Количество результатов на странице для пагинации (минимум 1, максимум 100) (число, необязательно)
  • repo: Название репозитория. (строка, обязательно)
  • resolution: Фильтр по типу разрешения (строка, необязательно)
  • secret_type: Список типов секретов, разделенных запятыми. Возвращаются все типы секретов по умолчанию. Для возврата общих шаблонов передайте имя (имена) токена(ов) в параметре. (строка, необязательно)
  • state: Фильтр по состоянию (строка, необязательно)

Уведомления о безопасности

  • get_global_security_advisory - Получить глобальное уведомление о безопасности
  • OAuth Challenge Scopes: security_events
  • ghsaId: Идентификатор уведомления о безопасности GitHub (формат: GHSA-xxxx-xxxx-xxxx). (строка, обязательно)
  • list_global_security_advisories - Список глобальных уведомлений о безопасности
  • OAuth Challenge Scopes: security_events
  • affects: Фильтр уведомлений по затронутому пакету или версии (например, "package1,package2@1.0.0"). (строка, необязательно)
  • cveId: Фильтр по идентификатору CVE. (строка, необязательно)
  • cwes: Фильтр по идентификаторам общих слабостей (например, ["79", "284", "22"]). (массив строк, необязательно)
  • ecosystem: Фильтр по экосистеме пакетов. (строка, необязательно)
  • ghsaId: Фильтр по идентификатору уведомления о безопасности GitHub (формат: GHSA-xxxx-xxxx-xxxx). (строка, необязательно)
  • isWithdrawn: Ограничить ли возвращение только отозванных уведомлений. (логическое значение, необязательно)
  • modified: Фильтр по дате публикации или обновления или диапазону дат (ISO 8601 дата или диапазон). (строка, необязательно)
  • published: Фильтр по дате публикации или диапазону дат (ISO 8601 дата или диапазон). (строка, необязательно)
  • severity: Фильтр по уровню тяжести. (строка, необязательно)
  • type: Тип уведомления. (строка, необязательно)
  • updated: Фильтр по дате обновления или диапазону дат (ISO 8601 дата или диапазон). (строка, необязательно)
  • list_org_repository_security_advisories - Список уведомлений о безопасности репозиториев организации
  • OAuth Challenge Scopes: security_events
  • direction: Направление сортировки. (строка, необязательно)
  • org: Логин организации. (строка, обязательно)
  • sort: Поле сортировки. (строка, необязательно)
  • state: Фильтр по состоянию уведомления. (строка, необязательно)
  • list_repository_security_advisories - Список уведомлений о безопасности репозитория
  • OAuth Challenge Scopes: security_events
  • direction: Направление сортировки. (строка, необязательно)
  • owner: Владелец репозитория. (строка, обязательно)
  • repo: Название репозитория. (строка, обязательно)
  • sort: Поле сортировки. (строка, необязательно)
  • state: Фильтр по состоянию уведомления. (строка, необязательно)

Подписчики

  • list_starred_repositories - Список звездных репозиториев
  • OAuth Challenge Scopes: repo
  • direction: Направление сортировки результатов. (строка, необязательно)
  • page: Номер страницы для пагинации (минимум 1) (число, необязательно)
  • perPage: Количество результатов на странице для пагинации (минимум 1, максимум 100) (число, необязательно)
  • sort: Как сортировать результаты. Может быть либо 'created' (когда репозиторий был отмечен звездой), либо 'updated' (когда репозиторий в последний раз был обновлен). (строка, необязательно)
  • username: Имя пользователя для списка звездных репозиториев. По умолчанию используется аутентифицированный пользователь. (строка, необязательно)
  • star_repository - Отметить репозиторий звездой
  • OAuth Challenge Scopes: repo
  • owner: Владелец репозитория (строка, обязательно)
  • repo: Название репозитория (строка, обязательно)
  • unstar_repository - Убрать отметку звезды с репозитория
  • OAuth Challenge Scopes: repo
  • owner: Владелец репозитория (строка, обязательно)
  • repo: Название репозитория (строка, обязательно)

Users

  • search_users - Search users
  • OAuth Challenge Scopes: repo
  • order: Sort order (string, optional)
  • page: Page number for pagination (min 1) (number, optional)
  • perPage: Results per page for pagination (min 1, max 100) (number, optional)
  • query: User search query. Examples: 'john smith', 'location:seattle', 'followers:>100'. Search is automatically scoped to type:user. (string, required)
  • sort: Sort users by number of followers or repositories, or when the person joined GitHub. (string, optional)

Additional Tools in Remote GitHub MCP Server

Copilot

  • create_pull_request_with_copilot - Perform task with GitHub Copilot coding agent
  • owner: Repository owner. You can guess the owner, but confirm it with the user before proceeding. (string, required)
  • repo: Repository name. You can guess the repository name, but confirm it with the user before proceeding. (string, required)
  • problem_statement: Detailed description of the task to be performed (e.g., 'Implement a feature that does X', 'Fix bug Y', etc.) (string, required)
  • title: Title for the pull request that will be created (string, required)
  • base_ref: Git reference (e.g., branch) that the agent will start its work from. If not specified, defaults to the repository's default branch (string, optional)

Copilot Spaces

  • Authentication note
  • Fine-grained PATs are not hidden by classic PAT scope filtering, so these tools may still appear even when the token cannot use them.
  • For org-owned spaces, fine-grained PATs must be installed on the owning organization and include organization_copilot_spaces: read.
  • If an org-owned space contains repository-backed resources, the token must also have access to every referenced repository or the space may be treated as not found.
  • get_copilot_space - Get Copilot Space
  • owner: The owner of the space. (string, required)
  • name: The name of the space. (string, required)
  • list_copilot_spaces - List Copilot Spaces

GitHub Support Docs Search

  • github_support_docs_search - Retrieve documentation relevant to answer GitHub product and support questions. Support topics include: GitHub Actions Workflows, Authentication, GitHub Support Inquiries, Pull Request Practices, Repository Maintenance, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces
  • query: Input from the user about the question they need answered. This is the latest raw unedited user message. You should ALWAYS leave the user message as it is, you should never modify it. (string, required)

Read-Only Mode

To run the server in read-only mode, you can use the --read-only flag. This will only offer read-only tools, preventing any modifications to repositories, issues, pull requests, etc.

./github-mcp-server --read-only

When using Docker, you can pass the read-only mode as an environment variable:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_READ_ONLY=1 \
  ghcr.io/github/github-mcp-server

Lockdown Mode

Lockdown mode limits the content that the server will surface from public repositories. When enabled, the server checks whether the author of each item has push access to the repository. Private repositories are unaffected, and collaborators keep full access to their own content.

Lockdown mode is a best-effort content filter intended to reduce the risk of prompt injection from untrusted repository content (issues, pull requests, comments, commits, etc.). It is not an authorization boundary: it does not change what the underlying GitHub credential can read or write, and content withheld from a filtered tool response may still be reachable through other tools or direct GitHub API access with the same credential.

В качестве намеренного исключения содержимое, созданное небольшим набором доверенных аккаунтов-ботов (в настоящее время github-actions[bot] и copilot), всегда считается безопасным, независимо от прав доступа на запись. Это позволяет избежать фильтрации рутинного вывода автоматизации (например, коммитов или комментариев, созданных CI), которые в противном случае были бы скрыты в режиме блокировки.

./github-mcp-server --lockdown-mode

При запуске с использованием Docker установите соответствующую переменную окружения:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_LOCKDOWN_MODE=1 \
  ghcr.io/github/github-mcp-server

В режиме HTTP этот флаг (или GITHUB_LOCKDOWN_MODE) является верхней границей: заголовок запроса X-MCP-Lockdown может включить режим блокировки, если оператор этого не сделал, но не может отключить режим блокировки, который уже был включен оператором. Подробности см. в Руководстве по настройке сервера.

Поведение режима блокировки зависит от вызываемого инструмента.

Следующие инструменты вернут ошибку, если автор не имеет прав доступа на запись:

  • issue_read:get
  • pull_request_read:get
  • pull_request_read:get_diff
  • pull_request_read:get_files
  • pull_request_read:get_commits

Следующие инструменты отфильтруют содержимое от пользователей, не имеющих прав доступа на запись:

  • issue_read:get_comments
  • issue_read:get_sub_issues
  • pull_request_read:get_comments
  • pull_request_read:get_review_comments
  • pull_request_read:get_reviews

i18n / Переопределение описаний

Описания инструментов можно переопределить, создав файл github-mcp-server-config.json в том же каталоге, где находится исполняемый файл.

Файл должен содержать объект JSON с именами инструментов в качестве ключей и новыми описаниями в качестве значений. Например:

{
  "TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
  "TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}

Вы можете создать экспорт текущих переводов, запустив исполняемый файл с флагом --export-translations.

Этот флаг сохранит любые переводы/переопределения, которые вы внесли, и добавит новые переводы, которые были добавлены в исполняемый файл с момента последнего экспорта.

./github-mcp-server --export-translations
cat github-mcp-server-config.json

Вы также можете использовать переменные окружения для переопределения описаний. Имена переменных окружения совпадают с ключами в файле JSON, но имеют префикс GITHUB_MCP_ и написаны в верхнем регистре.

Например, чтобы переопределить TOOL_ADD_ISSUE_COMMENT_DESCRIPTION, вы можете установить следующую переменную окружения:

export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"

Переопределение имени и заголовка сервера

Тот же механизм переопределения можно использовать для настройки полей name и title ответа при инициализации сервера MCP. Это полезно при запуске нескольких экземпляров GitHub MCP Server (например, одного для github.com и одного для GitHub Enterprise Server), чтобы агенты могли различать их.

Ключ Переменная окружения Значение по умолчанию
SERVER_NAME GITHUB_MCP_SERVER_NAME github-mcp-server
SERVER_TITLE GITHUB_MCP_SERVER_TITLE GitHub MCP Server

Например, чтобы настроить экземпляр сервера для GitHub Enterprise Server:

{
  "SERVER_NAME": "ghes-mcp-server",
  "SERVER_TITLE": "GHES MCP Server"
}

Или с использованием переменных окружения:

export GITHUB_MCP_SERVER_NAME="ghes-mcp-server"
export GITHUB_MCP_SERVER_TITLE="GHES MCP Server"

Использование библиотеки

Экспортируемое Go API этого модуля в настоящее время следует считать нестабильным и подверженным разрушительным изменениям. В будущем мы можем обеспечить стабильность; пожалуйста, создайте проблему, если есть случай использования, где это окажется полезным.

Участие в разработке

Вклады приветствуются. Перед открытием запроса на извлечение, пожалуйста, прочитайте руководство по участию в разработке для получения инструкций по настройке, тестированию, проверке и генерации документации.

Поддержка

Для получения помощи при использовании GitHub MCP Server см. руководство по поддержке. Если вы обнаружили ошибку или хотите запросить функцию, пожалуйста, поискать существующие проблемы перед открытием новой.

Безопасность

Пожалуйста, не сообщайте о уязвимостях безопасности через публичные проблемы. Следуйте инструкциям в политике безопасности для ответственного сообщения о уязвимостях.

Лицензия

Этот проект лицензирован на условиях открытой лицензии MIT. Пожалуйста, обратитесь к MIT для получения полных условий.

Войдите, чтобы оставить комментарий