Skip to main content
Glama
Abdessamad-Y

mcp-github-agent

by Abdessamad-Y

mcp-agent

AI 에이전트가 GitHub, Jira, Azure DevOps, Slack, PagerDuty, Linear, Notion, HuggingFace, OpenWeather 등 9개 플랫폼의 34개 도구에 접근할 수 있게 해주는 멀티 서비스 MCP(Model Context Protocol) 서버입니다.

탭과 대시보드를 오가는 대신, 일상적인 영어로 AI 어시스턴트에게 말하면 AI가 이러한 시스템을 직접 조회하거나 작업을 수행합니다.

Claude, GPT-4o, Azure OpenAI 및 모든 MCP 호환 클라이언트에서 작동합니다.


MCP란 무엇인가요?

Model Context Protocol은 Anthropic이 제정한 개방형 표준으로, AI 모델이 외부 도구 및 API와 구조적이고 안전한 방식으로 통신할 수 있게 해줍니다. AI는 대화에 머물면서도 실제 시스템에 접근하여 데이터를 가져오거나 작업을 수행할 수 있으며, 어떤 도구를 어떤 순서로 호출할지 자율적으로 결정합니다.

→ 상세 작동 방식


Related MCP server: GitHub MCP Server

서비스 및 도구

GitHub

도구

유형

기능

get_user_profile

읽기

소개, 위치, 팔로워, 공개 저장소 수

get_user_repos

읽기

활동, 스타 또는 날짜별로 정렬된 공개 저장소

get_repo_info

읽기

스타, 포크, 오픈 이슈, 토픽, 라이선스, 마지막 푸시

get_repo_issues

읽기

열려 있거나 닫힌 이슈

get_pull_requests

읽기

열려 있거나 병합된 풀 리퀘스트

get_file_content

읽기

저장소에 있는 모든 파일의 콘텐츠

get_repo_contributors

읽기

커밋 수 기준 상위 기여자

get_repo_releases

읽기

최신 릴리스 및 변경 로그

get_trending

읽기

언어 및 기간별 트렌드 저장소 (일간/주간/월간)

search_repos

읽기

키워드, 토픽 또는 언어로 검색

create_issue

쓰기

새 이슈 생성 (repo 토큰 범위 필요)

Jira

도구

유형

기능

jira_search_issues

읽기

JQL로 이슈 검색

jira_get_issue

읽기

키로 이슈의 전체 세부 정보 확인

jira_get_project_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

읽기

상태로 필터링된 팀의 이슈

linear_create_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

읽기

도시의 여러 날 예보


사용 사례 예시

크로스 서비스 추론

"이번 주 Azure DevOps 파이프라인 실패와 관련된 열린 Jira 버그가 있는지 확인한 후, 이를 요약하는 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에서 가장 많이 다운로드된 텍스트 생성 모델을 찾은 다음, 1위 모델을 사용하는 프로젝트를 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) — openai-agents SDK를 통해

  • Azure OpenAI — OpenAI SDK + Azure 엔드포인트를 통해

  • 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] — Anthropic 공식 Python SDK

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.
    -