본문으로 건너뛰기
cccskills
무료GitHub에 공개

github-mcp

GitHub MCP Server ile GitHub API erisimi. Repo, issue, PR, code search, release yonetimi.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구GitHub
설치 방법 보기

포함된 파일(1)

  • SKILL.md9.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

GitHub MCP Server

GitHub MCP vs gh CLI

OzellikGitHub MCPgh CLI
KurulumMCP server configbrew install gh
AuthPAT token (MCP env)gh auth login (interactive)
KullanimTool call (agent icinden)Bash komutu
Rate limitREST API limit (5000/h)Ayni
AvantajAgent workflow icinde seamlessTerminal scripting
DezavantajMCP server calisir olmaliAgent context'ten cikmak lazim

Ne Zaman Hangisi

GitHub MCP kullan:
  - Agent workflow icinde GitHub islemleri gerektiginde
  - Birden fazla API call zincirlenecekse
  - Structured data response lazimsa

gh CLI kullan:
  - Tek seferlik terminal islemleri
  - PR olusturma/merge (interaktif)
  - Git hook'lari icinde
  - Script/otomasyon icinde

MCP Server Kurulumu

1. GitHub PAT Token Olustur

GitHub Settings > Developer Settings > Personal Access Tokens > Fine-grained
Gerekli permission'lar:
  - Repository: Read/Write
  - Issues: Read/Write
  - Pull Requests: Read/Write
  - Actions: Read/Write (workflow tetikleme)
  - Webhooks: Read/Write (webhook yonetimi)
  - Organization: Read (org API)

2. MCP Config (~/.mcp.json)

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<PAT_TOKEN>"
      }
    }
  }
}

3. Alternatif: Docker ile

{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<PAT_TOKEN>"
      }
    }
  }
}

Repository Yonetimi

Repo Olusturma

mcp_github.create_repository({
  name: "my-project",
  description: "Proje aciklamasi",
  private: true,
  auto_init: true  // README ile baslat
})

Repo Bilgisi

mcp_github.get_repository({
  owner: "username",
  repo: "repo-name"
})
// Response: stars, forks, open_issues, default_branch, language

Fork

mcp_github.fork_repository({
  owner: "original-owner",
  repo: "original-repo"
})

Branch Yonetimi

// Branch olustur
mcp_github.create_branch({
  owner: "username",
  repo: "repo-name",
  branch: "feature/new-feature",
  from_branch: "main"
})

// Branch listele
mcp_github.list_branches({
  owner: "username",
  repo: "repo-name"
})

Issue Yonetimi

Issue Olusturma

mcp_github.create_issue({
  owner: "username",
  repo: "repo-name",
  title: "Bug: Login form broken",
  body: "## Steps to reproduce\n1. Go to /login\n2. Enter credentials\n3. Click submit\n\n## Expected\nRedirect to dashboard\n\n## Actual\n500 error",
  labels: ["bug", "P1"],
  assignees: ["developer-username"]
})

Issue Listeleme / Filtreleme

mcp_github.list_issues({
  owner: "username",
  repo: "repo-name",
  state: "open",
  labels: "bug",
  sort: "created",
  direction: "desc"
})

Issue Guncelleme

mcp_github.update_issue({
  owner: "username",
  repo: "repo-name",
  issue_number: 42,
  state: "closed",
  labels: ["bug", "resolved"]
})

Issue Yorum

mcp_github.add_issue_comment({
  owner: "username",
  repo: "repo-name",
  issue_number: 42,
  body: "Fixed in PR #45"
})

Pull Request Yonetimi

PR Olusturma

mcp_github.create_pull_request({
  owner: "username",
  repo: "repo-name",
  title: "feat: Add user authentication",
  body: "## Summary\n- JWT auth implementation\n- Login/register endpoints\n\n## Test plan\n- [ ] Unit tests pass\n- [ ] Integration tests pass",
  head: "feature/auth",
  base: "main",
  draft: false
})

PR Review

// Review olustur
mcp_github.create_review({
  owner: "username",
  repo: "repo-name",
  pull_number: 45,
  event: "APPROVE",  // APPROVE | REQUEST_CHANGES | COMMENT
  body: "LGTM! Clean implementation."
})

PR Merge

mcp_github.merge_pull_request({
  owner: "username",
  repo: "repo-name",
  pull_number: 45,
  merge_method: "squash"  // merge | squash | rebase
})

PR Dosya Degisiklikleri

mcp_github.get_pull_request_files({
  owner: "username",
  repo: "repo-name",
  pull_number: 45
})
// Response: filename, status (added/modified/removed), additions, deletions

Code Search

Repository Icinde Arama

mcp_github.search_code({
  query: "useEffect cleanup repo:username/repo-name",
  per_page: 10
})

Global Arama

// Dil filtreyle
mcp_github.search_code({
  query: "rate limiter language:typescript stars:>100"
})

// Organizasyon icinde
mcp_github.search_code({
  query: "database migration org:my-org"
})

Arama Operatorleri

repo:owner/name       # Spesifik repo
org:organization      # Organizasyon icinde
path:src/utils        # Path filtresi
filename:config.ts    # Dosya adi
extension:py          # Uzanti
language:typescript   # Dil
stars:>100            # Minimum star
size:>1000            # Minimum byte

Actions Workflow

Workflow Tetikleme

mcp_github.create_workflow_dispatch({
  owner: "username",
  repo: "repo-name",
  workflow_id: "deploy.yml",
  ref: "main",
  inputs: {
    environment: "production",
    version: "v1.2.3"
  }
})

Workflow Runs Listeleme

mcp_github.list_workflow_runs({
  owner: "username",
  repo: "repo-name",
  workflow_id: "ci.yml",
  status: "completed",
  per_page: 5
})

Workflow Run Loglari

mcp_github.get_workflow_run_logs({
  owner: "username",
  repo: "repo-name",
  run_id: 12345
})

Release Management

Release Olusturma

mcp_github.create_release({
  owner: "username",
  repo: "repo-name",
  tag_name: "v1.2.3",
  name: "Release v1.2.3",
  body: "## What's Changed\n- feat: User auth (#42)\n- fix: Login redirect (#45)\n\n## Breaking Changes\nNone",
  draft: false,
  prerelease: false
})

Release Listeleme

mcp_github.list_releases({
  owner: "username",
  repo: "repo-name",
  per_page: 10
})

Latest Release

mcp_github.get_latest_release({
  owner: "username",
  repo: "repo-name"
})

Webhook Yonetimi

Webhook Olusturma

mcp_github.create_webhook({
  owner: "username",
  repo: "repo-name",
  config: {
    url: "https://my-server.com/webhook",
    content_type: "json",
    secret: "webhook-secret-123"
  },
  events: ["push", "pull_request", "issues"],
  active: true
})

Webhook Events

EventNe ZamanKullanim
pushCommit pushCI/CD tetikle
pull_requestPR acildi/kapandiReview notify
issuesIssue degistiTriage bot
releaseRelease yayinlandiDeploy tetikle
workflow_runAction tamamlandiStatus notify
starRepo star'landiAnalytics

Organization & Team API

Org Bilgisi

mcp_github.get_organization({
  org: "my-organization"
})

Team Listeleme

mcp_github.list_teams({
  org: "my-organization"
})

Team Members

mcp_github.list_team_members({
  org: "my-organization",
  team_slug: "backend-team"
})

Org Repo'lari

mcp_github.list_org_repos({
  org: "my-organization",
  type: "all",
  sort: "updated"
})

Rate Limiting

Limitler

Auth TipiLimitReset
PAT (authenticated)5000 req/h1 saat
Unauthenticated60 req/h1 saat
Search API30 req/min1 dakika
GraphQL5000 points/h1 saat

Rate Limit Kontrol

mcp_github.get_rate_limit()
// Response: { limit, remaining, reset_at }

Best Practices

1. Conditional requests (If-None-Match header) kullan
2. Pagination ile kucuk sayfalarda cek (per_page: 30)
3. Search API'yi 30 req/min altinda tut
4. 403 + "rate limit exceeded" alirsan reset_at kadar bekle
5. Webhook kullan (polling yerine event-driven)
6. GraphQL kullan (birden fazla REST call yerine tek query)

Workflow Ornekleri

Yeni Feature Workflow

1. Issue olustur (task tanimla)
2. Branch olustur (feature/X)
3. Kod yaz, commit et
4. PR olustur (issue'ya referans ver)
5. Review iste
6. Merge et (squash)
7. Release olustur (tag ile)

Bug Fix Workflow

1. Issue olustur (bug raporu)
2. Branch olustur (fix/X)
3. Fix yaz, test ekle
4. PR olustur (Fixes #issue-number)
5. CI gectigini dogrula
6. Merge et
7. Issue otomatik kapanir

CI/CD Tetikleme

1. Push event -> CI workflow calisir
2. PR event -> Test + lint + security scan
3. Release event -> Deploy workflow calisir
4. Workflow dispatch -> Manuel deploy

Anti-Patterns

Anti-PatternDogru Yol
PAT'i koda gomme.env veya MCP config env
Tum permission'lari verMinimum gerekli scope
Polling ile status kontrolWebhook kullan
Buyuk sayfa boyutu (100+)per_page: 30, pagination
Rate limit'i yoksayget_rate_limit ile kontrol
Force push main'eBranch protection + PR

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

WCAG 2.2 AA compliance, ARIA patterns, keyboard navigation, screen reader optimization

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vibeeval/vibecosystem5382026년 8월 9일 업데이트

axe-core integration, WCAG 2.2 AA checklist, keyboard navigation testing, screen reader testing, and ARIA pattern validation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vibeeval/vibecosystem5382026년 8월 9일 업데이트

Steam-style achievement system with XP, levels, streaks, and skill trees. Gamifies the development workflow. 25 achievements across 5 categories.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vibeeval/vibecosystem5382026년 8월 9일 업데이트

Framework for measuring and tracking agent response quality over time. Detects regressions before they reach production. Use when evaluating agent changes, auditing quality, or establishing performance baselines.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vibeeval/vibecosystem5382026년 8월 9일 업데이트

Agent Context Isolation

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vibeeval/vibecosystem5382026년 8월 9일 업데이트

Agent ve skill dosyalarinin yapisal dogrulamasi. Frontmatter kontrol, naming convention, zorunlu bolum kontrolu, tutarlilik denetimi. Yeni agent/skill eklendiginde veya mevcut dosyalar duzenlediginde otomatik calistirilir.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vibeeval/vibecosystem5382026년 8월 9일 업데이트

vibeeval의 스킬 모두 보기

이 스킬의 문제 신고