Skip to main content
Glama
khangte

github-mcp-server

by khangte
README.md
# github-mcp-server

GitHub API를 조회하는 MCP 서버. FastMCP 기반으로 구현되었으며 `uvx`로 바로 실행할 수 있다.

이 저장소의 FastMCP 구현 패턴은 [.claude/skills/fastmcp-server.md](.claude/skills/fastmcp-server.md)에 정리되어 있다.

## 도구

| 도구 | 설명 |
|------|------|
| `get_repo_info` | 저장소 기본 정보 (이름, 설명, 스타, 포크, 이슈 수) |
| `list_open_prs` | 열린 Pull Request 목록 (최대 20개) |
| `get_latest_release` | 최신 릴리즈 정보 (태그, 이름, 본문, 날짜) |

## 설치 및 실행

### uvx (권장)

```bash
GITHUB_TOKEN=your_token uvx github-mcp-server
```

### 로컬 개발

```bash
uv sync
GITHUB_TOKEN=your_token uv run python server.py
```

## 환경변수

| 변수 | 필수 | 설명 |
|------|------|------|
| `GITHUB_TOKEN` | 권장 | GitHub Personal Access Token. 없으면 공개 저장소만 조회 가능하며 API 요청 제한이 낮아짐 |

`.env` 파일에 작성하면 자동으로 로드된다:

```
GITHUB_TOKEN=ghp_xxxxxxxxxxxx
```

## MCP 클라이언트 연결

### 팀원용 (GitHub 저장소에서 직접 설치)

`.mcp.json.team`에 정의되어 있다. 사용하려면 프로젝트 루트에 복사하고 `GITHUB_TOKEN`을 설정한다:

```bash
cp .mcp.json.team .mcp.json
export GITHUB_TOKEN=your_token
```

```json
{
  "mcpServers": {
    "github-tools": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/myorg/github-mcp-server",
        "github-mcp-server"
      ],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}
```

### 로컬 개발용 (이 저장소를 직접 수정하는 경우)

프로젝트 루트 `.mcp.json`에 아래처럼 로컬 소스를 직접 실행하도록 설정한다. `.mcp.json`은 Claude Code가 프로젝트 루트에서만 자동으로 인식하므로 다른 경로(`.claude/` 등)에 두면 로드되지 않는다.

```json
{
  "mcpServers": {
    "github-tools": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "python", "server.py"],
      "cwd": "/absolute/path/to/github-mcp-server"
    }
  }
}
```

TDQS

B3.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct resource: release, repo info, and pull requests. There is no overlap in functionality.

Naming Consistency5/5

All tools follow a consistent snake_case pattern with verbs 'get' and 'list', maintaining clear and predictable naming.

Tool Count2/5

Only 3 tools for a server named 'github-mcp-server' is far too few. A typical GitHub integration would have many more tools covering various operations.

Completeness2/5

The tool surface only covers read operations on releases, repo info, and open PRs, missing critical write operations and other common resources like issues, commits, and branches.

Maintenance

ActivityStale
ResponsivenessNo issues