Skip to main content
Glama
Abdessamad-Y

mcp-github-agent

by Abdessamad-Y

mcp-agent

Многосервисный MCP-сервер (Model Context Protocol), который предоставляет AI-агенту доступ к 34 инструментам на 9 платформах — GitHub, Jira, Azure DevOps, Slack, PagerDuty, Linear, Notion, HuggingFace и OpenWeather.

Вместо переключения между вкладками и панелями управления вы общаетесь со своим AI-ассистентом на простом английском, и он напрямую запрашивает или выполняет действия в этих системах.

Работает с Claude, GPT-4o, Azure OpenAI и любым MCP-совместимым клиентом.


Что такое MCP?

Model Context Protocol — это открытый стандарт от Anthropic, который позволяет моделям ИИ взаимодействовать с внешними инструментами и API структурированным и безопасным способом. ИИ остаётся в диалоге, но может обращаться к реальным системам для получения данных или выполнения действий — самостоятельно решая, какие инструменты вызывать и в каком порядке.

→ Подробнее о том, как это работает


Related MCP server: GitHub MCP Server

Сервисы и инструменты

GitHub

Инструмент

Тип

Что делает

get_user_profile

чтение

Био, местоположение, подписчики и количество публичных репозиториев

get_user_repos

чтение

Публичные репозитории, отсортированные по активности, звёздам или дате

get_repo_info

чтение

Звёзды, форки, открытые issues, темы, лицензия, последний push

get_repo_issues

чтение

Открытые или закрытые issues

get_pull_requests

чтение

Открытые или объединённые pull request'ы

get_file_content

чтение

Содержимое любого файла в репозитории

get_repo_contributors

чтение

Топ-контрибьюторы по количеству коммитов

get_repo_releases

чтение

Последние релизы и журналы изменений

get_trending

чтение

Трендовые репозитории по языку и периоду (ежедневно/еженедельно/ежемесячно)

search_repos

чтение

Поиск по ключевому слову, теме или языку

create_issue

запись

Создать новый issue (требуется область токена repo)

Jira

Инструмент

Тип

Что делает

jira_search_issues

чтение

Поиск issues с помощью JQL

jira_get_issue

чтение

Полные детали issue по ключу

jira_get_project_issues

чтение

Issues проекта, отфильтрованные по статусу

jira_create_issue

запись

Создать Task, Bug, Story или Epic

Azure DevOps

Инструмент

Тип

Что делает

ado_list_pipelines

чтение

Список CI/CD пайплайнов в проекте

ado_get_pipeline_runs

чтение

Последние запуски пайплайна

ado_search_work_items

чтение

Поиск рабочих элементов по ключевому слову

ado_create_work_item

запись

Создать Task, Bug, User Story или Epic

Slack

Инструмент

Тип

Что делает

slack_get_channels

чтение

Список публичных каналов в рабочем пространстве

slack_get_messages

чтение

Чтение последних сообщений из канала

slack_send_message

запись

Отправить сообщение в канал или пользователю

PagerDuty

Инструмент

Тип

Что делает

pagerduty_get_incidents

чтение

Список инцидентов по статусу

pagerduty_get_services

чтение

Список настроенных сервисов

pagerduty_create_incident

запись

Создать новый инцидент

Linear

Инструмент

Тип

Что делает

linear_get_teams

чтение

Список команд в рабочем пространстве

linear_get_issues

чтение

Issues команды, отфильтрованные по статусу

linear_create_issue

запись

Создать issue в команде

Notion

Инструмент

Тип

Что делает

notion_search

чтение

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

notion_get_page

чтение

Получить содержимое страницы

notion_create_page

запись

Создать новую страницу под родительской

HuggingFace

Инструмент

Тип

Что делает

hf_search_models

чтение

Поиск моделей по ключевому слову и задаче

hf_get_model

чтение

Подробная информация о модели (загрузки, лайки, теги)

hf_search_datasets

чтение

Поиск датасетов по ключевому слову

OpenWeather

Инструмент

Тип

Что делает

weather_current

чтение

Текущая погода для города

weather_forecast

чтение

Многодневный прогноз для города


Примеры использования

Межсервисные рассуждения

"Проверь, есть ли открытые баги в Jira, связанные с сбоями нашего Azure DevOps пайплайна на этой неделе, затем создай issue в GitHub с их сводкой."

Агент вызывает jira_search_issues → ado_get_pipeline_runs → create_issue автономно.


Реагирование на инциденты

"Есть активный инцидент в PagerDuty на платёжном сервисе. Найди последний PR, объединённый в этот репозиторий, и уведоми канал #incidents в Slack."

Агент вызывает pagerduty_get_incidents → get_pull_requests → slack_send_message.


AI-исследования

"Найди самые скачиваемые модели генерации текста на HuggingFace, затем поищи на GitHub проекты, использующие лучшую из них."

Агент вызывает hf_search_models → search_repos.


Онбординг разработчиков

"Кто топ-5 контрибьюторов этого репозитория? Получи их профили GitHub и создай страницу в Notion с описанием команды."

Агент вызывает get_repo_contributors → get_user_profile (×5) → notion_create_page.

→ Больше примеров использования


Настройка

1. Клонируйте и установите

git clone https://github.com/Abdessamad-Y/mcp-github-agent.git
cd mcp-github-agent
pip install -r requirements.txt

2. Настройте свои сервисы

cp .env.example .env
# Add tokens only for the services you want to use
# Unused services are safely ignored

3. Подключите свой AI-клиент

→ См. docs/integrations.md для руководств по настройке:

  • Claude Desktop — нативный MCP, код не требуется

  • Claude API — Python-скрипт с агентским циклом

  • OpenAI (GPT-4o) — через SDK openai-agents

  • Azure OpenAI — через OpenAI SDK + Azure endpoint

  • Cursor / VS Code Copilot


Запуск демо

GITHUB_TOKEN=your_token python demo.py

Запускает 4 живых сценария с форматированным выводом в терминале. Ключ AI API не требуется.


Запуск примеров

# With Claude API
GITHUB_TOKEN=your_token ANTHROPIC_API_KEY=your_key python examples/with_claude.py

# With OpenAI
GITHUB_TOKEN=your_token OPENAI_API_KEY=your_key python examples/with_openai.py

# With Azure OpenAI
GITHUB_TOKEN=your_token \
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com \
AZURE_OPENAI_KEY=your_key \
AZURE_OPENAI_DEPLOYMENT=gpt-4o \
python examples/with_azure_openai.py

Структура проекта

mcp-github-agent/
├── server.py              # Entry point — registers all tools
├── mcp_instance.py        # Shared FastMCP instance
├── tools/
│   ├── github.py          # 11 GitHub tools
│   ├── jira.py            # 4 Jira tools
│   ├── azure_devops.py    # 4 Azure DevOps tools
│   ├── slack.py           # 3 Slack tools
│   ├── pagerduty.py       # 3 PagerDuty tools
│   ├── linear.py          # 3 Linear tools
│   ├── notion.py          # 3 Notion tools
│   ├── huggingface.py     # 3 HuggingFace tools
│   └── weather.py         # 2 OpenWeather tools
├── examples/
│   ├── with_claude.py
│   ├── with_openai.py
│   └── with_azure_openai.py
├── docs/
│   ├── how-it-works.md
│   ├── use-cases.md
│   └── integrations.md
├── demo.py
├── requirements.txt
└── .env.example

Стек

Язык

Python 3.10+

MCP SDK

mcp[cli] — официальный Python SDK от Anthropic

HTTP-клиент

httpx

Вывод в терминал

rich


Документация

Как это работает

Архитектура, протокол MCP, транспорт

Примеры использования

Реальные промпты и поведение агента

Интеграции

Настройка для Claude, OpenAI, Azure OpenAI, Cursor, VS Code


Лицензия

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to access and analyze GitHub profile data, providing insights on repositories, commit history, coding patterns, and generating portfolio summaries for developers and recruiters.
    8
    2
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to answer natural-language GitHub queries by listing repositories, issues, pull requests, branches, commits, and files, as well as performing writes with dry-run and confirmation safeguards.
    -