github-repo-mcp
GitHub 리포 MCP
목차
Related MCP server: UIThub MCP Server
✨ 주요 특징
💻
stdio프로토콜을 지원하는 Cursor, Windsurf, Claude Desktop 및 기타 MCP 클라이언트와 호환됩니다.🔎 모든 공개 GitHub 저장소의 콘텐츠를 탐색하세요
📂 저장소 디렉토리 및 하위 디렉토리 탐색
📝 코드 및 텍스트 파일의 내용 보기
📦 패키지 관리자를 통한 간편한 설치
시작하기
필수 조건
서버를 설치하려면 시스템에 다음이 필요합니다.
노드.js 18+
npm 또는 yarn
1단계. 설치
Smithery, NPX를 사용하거나 IDE의 mcp.json을 설정하여 GitHub Repo MCP를 설치하고 실행할 수 있습니다.
맥OS
지엑스피1
윈도우 NPX
cmd /c npx -y github-repo-mcp.cursor/mcp.json을 통한 Windows NPX
{
"mcpServers": {
"github-repo-mcp": {
"command": "wsl",
"args": [
"bash",
"-c",
"cmd /c npx -y github-repo-mcp"
],
"enabled": true
}
}
}.cursor/mcp.json을 통한 Windows NPX(경로가 설정되지 않은 경우)
# Find the full path to npx first
which npx{
"mcpServers": {
"github-repo-mcp": {
"command": "wsl",
"args": [
"bash",
"-c",
"'/home/[username]/.nvm/versions/node/v20.18.0/bin/npx github-repo-mcp'"
],
"enabled": true
}
}
}Smithery를 통해 설치
Smithery를 통해 Claude Desktop용 GitHub Repo MCP를 자동으로 설치하려면:
npx -y @smithery/cli install @Ryan0204/github-repo-mcp --client claude몇 초 정도 기다리거나, 등록되지 않으면 새로 고침 버튼을 몇 번 클릭하세요. 그래도 등록되지 않으면 명령어를 제대로 입력했는지 확인하세요.
2단계. 구성
GitHub Repo MCP 서버는 GitHub API에 액세스할 때 더 높은 속도 제한을 위해 GitHub 토큰을 사용할 수 있습니다.
환경 변수
변하기 쉬운 | 필수의 | 기본 | 설명 |
| 아니요 | 없음 | 더 높은 요금 제한을 위한 GitHub 개인 액세스 토큰 |
GitHub 토큰 설정(선택 사항)
서버는 인증 없이 작동하지만, GitHub API는 인증되지 않은 요청에 대해 훨씬 낮은 속도 제한을 적용합니다. 속도 제한을 높이려면:
https://github.com/settings/tokens 에서 개인 액세스 토큰을 생성하세요.
mcp.json에서 토큰을 환경 변수로 설정합니다.
{
"mcpServers": {
"github-repo-mcp": {
"command": "...",
"args": [
...
],
"env": {
"GITHUB_TOKEN": "Your_Github_Token"
}
"enabled": true,
}
}
}기능 개요
저장소 탐색 도구
이 서버는 GitHub 저장소와 상호 작용하기 위한 세 가지 주요 도구를 제공합니다.
1. getRepoAllDirectories
GitHub 저장소 루트에 있는 모든 파일과 디렉토리를 나열합니다.
매개변수 :
repoUrl: GitHub 저장소의 URL(예: " https://github.com/owner/repo ")
2. getRepoDirectories
GitHub 저장소의 특정 디렉토리의 내용을 나열합니다.
매개변수 :
repoUrl: GitHub 저장소의 URLpath: 가져올 디렉토리 경로(예: "src")
3. getRepoFile
GitHub 저장소에서 특정 파일의 내용을 검색하여 표시합니다.
매개변수 :
repoUrl: GitHub 저장소의 URLpath: 가져올 파일 경로(예: "src/index.js")
사용 예
다음은 AI 도우미와 함께 이러한 도구를 사용하는 방법에 대한 몇 가지 예입니다.
저장소 루트 탐색 : AI 비서에게 " https://github.com/Ryan0204/github-repo-mcp 에 있는 저장소의 내용을 보여주세요"라고 요청하세요.
특정 디렉토리 탐색 : " https://github.com/Ryan0204/github-repo-mcp 의 src 디렉토리에 어떤 파일이 있나요?"라고 질문해 보세요.
파일 보기 : " https://github.com/Ryan0204/github-repo-mcp 에서 README.md 파일을 보여주세요"라고 요청합니다.
제한 사항
속도 제한 : 인증 없이 GitHub API는 엄격한 속도 제한(시간당 60개 요청)을 갖습니다.
개인 저장소 : 적절한 권한이 있는 토큰이 제공되지 않는 한 공개 저장소에만 액세스할 수 있습니다.
바이너리 파일 : 서버는 일반적인 바이너리 파일 확장자를 감지하고 해당 내용을 표시하지 않습니다.
대용량 파일 : GitHub API에는 검색할 수 있는 파일 크기에 제한이 있습니다.
문제 해결
흔히 발생하는 문제와 해결 방법은 다음과 같습니다.
속도 제한 초과 : 구성 섹션에 설명된 대로 GitHub 토큰을 설정하세요.
명령을 찾을 수 없습니다 : 패키지가 전역적으로 설치되었는지 확인하세요.
연결 오류 : 인터넷 연결 및 GitHub API 상태를 확인하세요
문제가 발생하면 오류 메시지 출력을 확인하거나 GitHub 저장소에 문제를 생성하세요.
즐겨보세요! ☺️
Available Tools
3 toolsgetRepoAllDirectoriesD
| Name | Required | Description | Default |
|---|---|---|---|
| repoUrl | Yes | The URL of the Github repo |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getRepoDirectoriesD
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The directory path to fetch | |
| repoUrl | Yes | The URL of the Github repo |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getRepoFileD
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The file path to fetch | |
| repoUrl | Yes | The URL of the Github repo |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
getRepoAllDirectories - First observed
getRepoDirectories - First observed
getRepoFile
TDQS
Scored across 3 tools
The tools have overlapping purposes with unclear boundaries: getRepoAllDirectories and getRepoDirectories appear to serve similar directory-related functions without descriptions to clarify their differences, while getRepoFile is distinct but the directory tools are ambiguous. This overlap will likely cause misselection between the two directory tools.
The naming follows a consistent camelCase pattern (getRepoAllDirectories, getRepoDirectories, getRepoFile) with a clear verb_noun structure, though the lack of descriptions makes it harder to assess intent. There are no deviations in style, but the similarity in names for the directory tools slightly reduces clarity.
With only 3 tools, this server feels thin for a GitHub repository domain, as it lacks essential operations like create, update, delete, or search. The limited scope suggests incomplete coverage, making it difficult for agents to perform comprehensive repository management tasks.
The tool surface is severely incomplete for a GitHub repository server: it only includes retrieval tools for directories and files, missing core CRUD operations (e.g., create repo, update files, delete items), search functionality, and lifecycle management. This will cause significant agent failures in handling typical repository workflows.
Maintenance
Related MCP Connectors
Model Context Protocol server for Studex tools, notifications, and profile integrations
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
A Model Context Protocol server for Wix AI tools
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA server that allows AI assistants to browse and read files from specified GitHub repositories, providing access to repository contents via the Model Context Protocol.6MIT
- AlicenseNot gradedqualityDmaintenanceModel Context Protocol server that enables Claude to retrieve and analyze code from GitHub repositories through the uithub API.4 npm21MIT
- FlicenseNot gradedqualityDmaintenanceA server-side implementation that handles context processing between GitHub repositories and AI models, enabling seamless integration of AI capabilities with codebases through the Model Context Protocol.1-
- FlicenseNot gradedqualityNot gradedmaintenanceModel Context Protocol server that enables interaction with GitHub repositories, issues, pull requests, and search functionality through natural language.1-