Skip to main content
Glama
eemredemirci

github-mcp-server

by eemredemirci
README.md
# GitHub MCP Server

[Model Context Protocol](https://modelcontextprotocol.io/) (MCP) sunucusu: **Cursor** ve benzeri istemcilerden GitHub **REST API**’ye (Octokit) güvenli köprü. Tek bir depo (`GITHUB_OWNER` / `GITHUB_REPO`) için issue, milestone, proje ve label işlemlerini MCP **tool** olarak sunar.

## Özellikler

- Issue: listele, getir, oluştur, güncelle
- Milestone: listele, oluştur, güncelle
- Project ve label listeleri
- **stdio** transport — Cursor MCP yapılandırması ile yerel `node dist/index.js` çalıştırılır

## Gereksinimler

- **Node.js** 18+ (TypeScript 5.x ile derleme)
- GitHub **Personal Access Token** (klasik veya fine-grained; repo/issue/project izinleri ihtiyaca göre)

## Kurulum

```powershell
git clone https://github.com/eemredemirci/github-mcp-server.git
cd github-mcp-server
npm install
npm run build
```

## Ortam değişkenleri

Proje kökünde `.env`:

```
GITHUB_TOKEN=ghp_xxxxxxxx
GITHUB_OWNER=eemredemirci
GITHUB_REPO=your-repo-name
```

`GITHUB_TOKEN` asla depoya commit edilmemelidir.

## Çalıştırma

```powershell
npm start
```

Bu komut `dist/index.js` dosyasını çalıştırır (`package.json` → `"start": "node dist/index.js"`).

## Cursor’a ekleme

1. Cursor → Settings → MCP (veya proje `.cursor/mcp.json`)
2. **stdio** sunucusu: `node` + tam yol `...\github-mcp-server\dist\index.js`
3. Ortam değişkenlerini Cursor MCP tanımında veya `.env` ile sağlayın (Cursor sürümüne göre değişir).

## Sunulan araçlar (tools)

| Tool | Açıklama |
|------|-----------|
| `github_list_issues` | Filtrelerle issue listesi |
| `github_get_issue` | Tek issue detayı |
| `github_create_issue` | Yeni issue |
| `github_update_issue` | Issue güncelle |
| `github_list_milestones` | Milestone listesi |
| `github_create_milestone` | Milestone oluştur |
| `github_update_milestone` | Milestone güncelle |
| `github_list_projects` | Repodaki projeler |
| `github_create_project` | Proje oluştur |
| `github_list_labels` | Etiket listesi |

## Teknik yığın

- TypeScript, **ES modules**
- **Octokit** (GitHub REST)
- **@modelcontextprotocol/sdk**
- **Zod** şema doğrulama
- **dotenv**

## Örnek `.cursor/mcp.json`

```json
{
  "mcpServers": {
    "github": {
      "command": "node",
      "args": ["${workspaceFolder}/dist/index.js"],
      "env": {
        "GITHUB_TOKEN": "${env:GITHUB_TOKEN}",
        "GITHUB_OWNER": "your-org-or-user",
        "GITHUB_REPO": "your-repo"
      }
    }
  }
}
```

Yolları kendi makinenize göre düzenleyin.

## Lisans

ISC — `package.json` ile uyumlu.

## İletişim

- GitHub: [@eemredemirci](https://github.com/eemredemirci)