github-mcp-server
Provides tools to query GitHub repositories, including retrieving repository info, listing open pull requests, and getting latest release information.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@github-mcp-serverget details on the repo facebook/react"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
github-mcp-server
GitHub API를 조회하는 MCP 서버. FastMCP 기반으로 구현되었으며 uvx로 바로 실행할 수 있다.
이 저장소의 FastMCP 구현 패턴은 .claude/skills/fastmcp-server.md에 정리되어 있다.
도구
도구 | 설명 |
| 저장소 기본 정보 (이름, 설명, 스타, 포크, 이슈 수) |
| 열린 Pull Request 목록 (최대 20개) |
| 최신 릴리즈 정보 (태그, 이름, 본문, 날짜) |
Related MCP server: GitHub MCP Server
설치 및 실행
uvx (권장)
GITHUB_TOKEN=your_token uvx github-mcp-server로컬 개발
uv sync
GITHUB_TOKEN=your_token uv run python server.py환경변수
변수 | 필수 | 설명 |
| 권장 | GitHub Personal Access Token. 없으면 공개 저장소만 조회 가능하며 API 요청 제한이 낮아짐 |
.env 파일에 작성하면 자동으로 로드된다:
GITHUB_TOKEN=ghp_xxxxxxxxxxxxMCP 클라이언트 연결
팀원용 (GitHub 저장소에서 직접 설치)
.mcp.json.team에 정의되어 있다. 사용하려면 프로젝트 루트에 복사하고 GITHUB_TOKEN을 설정한다:
cp .mcp.json.team .mcp.json
export GITHUB_TOKEN=your_token{
"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/ 등)에 두면 로드되지 않는다.
{
"mcpServers": {
"github-tools": {
"type": "stdio",
"command": "uv",
"args": ["run", "python", "server.py"],
"cwd": "/absolute/path/to/github-mcp-server"
}
}
}Available Tools
3 toolsget_latest_releaseB
저장소의 최신 릴리즈 정보를 반환합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | 저장소 이름. | |
| owner | Yes | 저장소 소유자(사용자 또는 조직) 이름. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| body | Yes | |
| name | Yes | |
| tag_name | Yes | |
| published_at | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose any behavioral traits such as error handling, rate limits, or safety considerations. It only states the basic function.
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?
Single sentence that is concise and front-loaded, no wasted words.
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?
Given the presence of an output schema, return values are covered. However, the description lacks mention of edge cases (e.g., no releases) and any prerequisites, leaving some gaps.
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?
Schema coverage is 100% with both parameters described. The description adds no additional meaning beyond the schema, so a baseline of 3 is appropriate.
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?
Description clearly states the tool returns the latest release info of a repository, using a specific verb and resource. It distinguishes from sibling tools which handle repo info and PRs.
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?
No guidance on when to use this tool vs alternatives like get_repo_info or list_open_prs. The description only states what it does, not when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_repo_infoC
GitHub 저장소의 기본 정보를 반환합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | 저장소 이름. | |
| owner | Yes | 저장소 소유자(사용자 또는 조직) 이름. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| name | Yes | |
| forks | Yes | |
| stars | Yes | |
| language | Yes | |
| description | Yes | |
| open_issues | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, authentication needs, rate limits, or side effects. The implied read operation is not explicitly confirmed.
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?
The description is a single concise sentence. It is front-loaded and efficient, though it could include more useful information without being verbose.
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?
Given the presence of an output schema, the description does not need to explain return values. However, it could specify what 'basic information' entails (e.g., metadata fields). The description is adequate but lacks detail.
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?
Schema coverage is 100% with both parameters described. The description adds no additional meaning beyond the schema, so baseline score of 3 applies.
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?
The description clearly states it returns basic information of a GitHub repository. While it doesn't explicitly differentiate from sibling tools, the context of siblings (get_latest_release, list_open_prs) makes the purpose distinct enough.
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?
No usage guidelines are provided. There's no mention of when to use this tool versus alternatives, nor any prerequisites or conditions. The description simply states what it does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_open_prsA
저장소의 열린 Pull Request 목록을 최대 20개 반환합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | 저장소 이름. | |
| owner | Yes | 저장소 소유자(사용자 또는 조직) 이름. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially covers behavioral traits by mentioning the 20-item limit. However, it omits details about pagination, ordering, or read-only nature, leaving gaps for an AI agent.
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?
A single, efficient sentence with no redundancy. Every word serves a purpose, making it easy to parse quickly.
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?
Given the tool's simplicity, the presence of an output schema, and no nested objects, the description is adequately complete. No further context is necessary.
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?
Both parameters are fully described in the schema (100% coverage), so baseline is 3. The description does not add any additional meaning beyond the schema's property descriptions.
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?
The description clearly states the verb 'returns', the resource 'open Pull Requests', and a specific limit of 20. It effectively distinguishes itself from sibling tools like get_latest_release and get_repo_info.
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?
No guidance is provided on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description lacks any directive for appropriate usage.
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. Dates show when Glama detected each change.
3 tool updates
v0.1.0- First observed
get_latest_release - First observed
get_repo_info - First observed
list_open_prs
TDQS
Each tool targets a distinct resource: release, repo info, and pull requests. There is no overlap in functionality.
All tools follow a consistent snake_case pattern with verbs 'get' and 'list', maintaining clear and predictable naming.
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.
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
GitHub MCP — wraps the GitHub public REST API (no auth required for public endpoints)
Manage repositories, users, releases, and automate GitHub workflows
GitHub Private MCP Pack — access private repos, org data via OAuth.
Access the GitHub API, enabling file operations, repository management, search functionality, and…
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides tools for interacting with GitHub's API through the MCP protocol, allowing users to create repositories, push content, and retrieve user information.3118MIT
- FlicenseNot gradedqualityDmaintenanceEnables interaction with GitHub repositories through the GitHub API using fastMCP. Supports repository information retrieval and management with secure token-based authentication.-
- AlicenseNot gradedqualityDmaintenanceEnables GitHub API integration via MCP, allowing search, repository details, file contents, and issue management.467ISC
- FlicenseNot gradedqualityDmaintenanceProvides access to GitHub v3 REST API functionality through STDIO mode with FastMCP, enabling users to interact with GitHub resources.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/khangte/github-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server