github-mcp-server
Provides tools for interacting with GitHub's API, enabling management of repositories, issues, pull requests, and code search.
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-serverlist my recent pull requests"
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 (Local)
A local MCP server that gives Claude Desktop direct access to your GitHub account via a personal access token. Runs entirely on your machine — your token never leaves your computer except to talk to GitHub's API directly.
Tools included
github_whoami— get the authenticated user's profilegithub_list_repos— list your reposgithub_get_repo— get details on a specific repogithub_search_repos— search repositoriesgithub_get_file— read a file's contents from a repogithub_list_issues— list issues in a repogithub_create_issue— create an issuegithub_list_pull_requests— list PRs in a repogithub_search_code— search code across GitHubgithub_list_commits— list commits in a repo (filter by branch, path, or author)github_get_commit— get a single commit with changed files and diff statsgithub_list_branches— list branches in a repogithub_get_issue— get full details of a single issuegithub_get_pull_request— get full details of a single PRgithub_list_pr_files— list files changed in a PRgithub_add_issue_comment— comment on an issue or PRgithub_search_issues— search issues and PRs across GitHub
Related MCP server: GitHub MCP Server
1. Prerequisites
Node.js 18+ installed on your computer
A GitHub Personal Access Token (PAT)
Create a GitHub token
Click Generate new token → Fine-grained token (recommended) or classic token
Give it a name, an expiration, and scopes:
Fine-grained: grant access to the repos you want, with Contents (read), Issues (read/write), Pull requests (read) permissions
Classic: the
reposcope covers everything above
Copy the token (starts with
github_pat_orghp_) — you won't see it again
Keep this token secret. Anyone with it can act as you on GitHub within its scopes.
2. Install
Unzip this project anywhere on your computer, then in a terminal:
cd github-mcp-server
npm install
npm run buildThis produces a dist/index.js file — that's what Claude Desktop will run.
3. Configure Claude Desktop
Open your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add an entry under mcpServers (create the file/section if it doesn't exist),
using the absolute path to dist/index.js:
{
"mcpServers": {
"github": {
"command": "node",
"args": ["/absolute/path/to/github-mcp-server/dist/index.js"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Replace the path and token with your own values.
4. Restart Claude Desktop
Fully quit and reopen the app. You should see a small tools/plug icon indicating the "github" MCP server is connected, and its tools will be available in chat.
Notes
This server only runs while Claude Desktop is open — it starts/stops the process for you.
To revoke access at any time, delete the token at https://github.com/settings/tokens.
To add more capabilities (e.g. creating PRs, managing branches), extend
src/index.tswith additionalserver.tool(...)calls using the Octokit REST API.
Available Tools
9 toolsgithub_create_issueC
Create a new issue in a repository.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| repo | Yes | ||
| owner | Yes | ||
| title | Yes | ||
| labels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It doesn't mention that creating an issue is a permanent mutation, requires authentication, or what the API response looks like. The description only restates the action and offers zero transparency beyond the literal operation.
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, direct sentence with no redundant words. It is front-loaded with the action verb and is appropriately concise for a simple create operation, making it easy to read and parse.
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?
For a mutation tool with no annotations and no output schema, the description is far too sparse. It lacks essential context such as return values, authentication requirements, error conditions, and parameter details, making it inadequate for an agent to confidently invoke the tool without further information.
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 description coverage is 0%, and the description does not compensate by explaining what owner, repo, title, body, or labels mean or how they interact. Even though the parameter names are somewhat self-explanatory in a GitHub context, the description adds no value beyond the schema's type and required fields.
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 action with a specific verb ('Create') and resource ('new issue') in a repository context. While it doesn't explicitly mention alternative tools, the 'create' verb effectively distinguishes it from sibling list/search tools like github_list_issues, so it's clear but lacks explicit differentiation.
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?
The description provides no guidance on when to use this tool versus alternatives, no mention of required permissions, repository ownership, or any expected flow. It simply states what it does without contextualizing the use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_get_fileB
Get the contents of a file from a GitHub repository.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Branch, tag, or commit SHA (defaults to default branch) | |
| path | Yes | File path within the repo, e.g. 'src/index.ts' | |
| repo | Yes | ||
| owner | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only restates the purpose ('Get the contents') and omits important details such as base64-encoded content, response format, or authentication requirements.
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 sentence, front-loaded with the action verb 'Get', and contains no unnecessary words. It is highly concise while still conveying the core purpose.
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?
There is no output schema, so the description should explain what the response contains. It does not mention the return format, file encoding, or any edge cases, making it incomplete for an agent to fully understand the tool's behavior.
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?
The schema describes ref and path, but not owner and repo; the description adds no parameter semantics at all. With 50% schema coverage, the description does not compensate for the undocumented parameters, leaving the agent with minimal guidance beyond parameter names.
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 uses the specific verb 'Get' with the resource 'contents of a file from a GitHub repository', clearly stating the tool's function and distinguishing it from sibling tools like github_search_code or github_get_repo.
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. It simply states the function without any contextual clues, exclusions, or references to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_get_repoB
Get details about a specific repository.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repository name | |
| owner | Yes | Repository owner (user or org) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention authentication requirements, rate limits, or what the response contains. For a read operation, it omits any detail about the return payload, making the behavior opaque.
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 that is front-loaded with the action and subject. Every word earns its place, with no redundant or filler content.
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?
As a simple 2-parameter tool with no output schema, the description is adequate but not complete. It does not explain what 'details' are returned, nor does it address authentication or error conditions. It is minimally viable but leaves the agent with questions about the response structure.
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?
The schema fully documents both parameters (owner and repo) with descriptions, achieving 100% schema_description_coverage. The tool description adds no additional meaning beyond the schema, so the baseline score 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?
The description clearly states the tool's function: 'Get details about a specific repository.' It uses a specific verb ('Get') and resource ('repository'), and the phrase 'specific' distinguishes it from sibling tools like github_list_repos and github_search_repos. However, it does not explicitly name the alternative tools or elaborate on what 'details' includes.
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?
The description implies its use when a known, specific repository is required, but it provides no explicit guidance on when to use this tool versus alternatives like github_search_repos or github_get_file. No exclusions or conditional advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_list_issuesC
List issues in a repository.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| state | No | open | |
| per_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'List issues,' implying a read-only operation, but does not disclose default state filtering, pagination, response format, or rate limits. The description adds no behavioral context beyond what the name implies.
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, front-loaded sentence with no filler. It is concise, though extremely minimal; it could include brief parameter hints without losing conciseness, but this is not a major flaw.
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?
For a tool with 4 parameters and no annotations or output schema, the description is insufficient. It does not mention the default state ('open'), pagination limits, or what fields are returned. An agent would need to guess essential behavior.
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?
The schema has 4 parameters with 0% description coverage. The description does not mention owner/repo requirements, the state enum, or per_page bounds. Since coverage is low and there is no parameter information, the description fails to compensate for the schema gap.
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 tool's function: 'List issues in a repository' with a specific verb (list), resource (issues), and scope (repository). This distinguishes it from siblings like github_create_issue and github_list_pull_requests.
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?
The description provides no guidance on when to use this tool versus alternatives such as github_list_pull_requests. There is no mention of prerequisites, intended use cases, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_list_pull_requestsC
List pull requests in a repository.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| state | No | open | |
| per_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry behavioral burden, but it only states the basic function. It does not disclose defaults (like state=open), pagination, or other behaviors, leaving the agent under-informed.
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 short sentence with no fluff, but it is under-specified and almost paraphrases the tool name. It is concise but does not earn its place with added value.
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?
For a tool with 4 parameters, no output schema, and no annotations, this description is highly incomplete. It omits default behaviors, scope limitations, and expected response shape, making it inadequate for reliable invocation.
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 0% and the description adds no meaning to any parameter. It does not explain state options, per_page limits, or the roles of owner/repo, failing to compensate for the bare schema.
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 tool lists pull requests in a repository, using a specific verb and resource. However, it does not distinguish from sibling tools like list_issues or provide scope details, so it misses the top score.
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?
Usage is implied—when you need to list pull requests—but no explicit guidance is given about when to choose this over alternatives, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_list_reposA
List repositories owned by or accessible to the authenticated user.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | updated | |
| type | No | Filter by repo relationship to the user | owner |
| per_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It mentions the authentication context ('authenticated user') and the scope ('owned by or accessible'), which is useful. However, it does not disclose pagination behavior, sorting defaults, or explicitly state that it is a read-only operation. Minimal but non-contradictory disclosure.
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 sentence of about 10 words, direct and free of redundancy. It is front-loaded with the core action and scope, earning a high score for conciseness and structure.
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?
The tool is simple with only three optional parameters and no output schema. The description captures the core action and scope, but it omits details about return format and pagination behavior. Given the lack of annotations and output schema, it is adequate but not fully complete.
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 description coverage is only 33% (only 'type' has a description). The description does not mention any parameters (sort, type, per_page) or add meaning beyond the schema. It fails to compensate for the low coverage, leaving parameter semantics largely unexplained.
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 tool's purpose: 'List repositories owned by or accessible to the authenticated user.' It uses a specific verb ('List') and resource ('repositories'), and the scope ('owned by or accessible to the authenticated user') distinguishes it from sibling tools like github_search_repos and github_get_repo.
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?
The description implies when to use this tool (when you need the authenticated user's repositories), but it does not explicitly mention alternatives or when not to use it. No exclusion criteria or comparison with sibling tools is provided, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_search_codeA
Search code across GitHub (or within a specific repo using repo:owner/name in the query).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query, e.g. 'repo:facebook/react useState' | |
| per_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It reveals that repo scoping is possible via `repo:owner/name` and provides an example, but it does not mention any rate limits, authentication needs, or return format. Since it is a search tool, read-only behavior is implied, but not explicitly stated.
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 clear sentence that is front-loaded with the core purpose and includes a useful example. It is concise, well-structured, and every word contributes meaning.
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 simple two-parameter schema and no output schema or annotations, the description covers the primary use case and the repo-scoping feature. However, it omits the optional `per_page` parameter details and does not explicitly contrast with repo search, so it is not fully complete but sufficient for a straightforward search tool.
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 only 50% (query has a description, per_page does not). The description repeats the schema's example for `query` but adds no new meaning for `per_page`, which remains undocumented. Thus the description adds little value beyond what the schema already provides and fails to compensate for the coverage gap.
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 action ('Search code') and the resource ('across GitHub'), with a specific scoping option (`repo:owner/name`). It unambiguously distinguishes itself from the sibling `github_search_repos` by focusing on code rather than repositories.
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?
The description gives clear context on when to use the tool (searching code globally or within a specific repo) but does not explicitly mention when not to use it or name alternatives. However, the sibling tool names provide implicit differentiation, so the guidance is adequate but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_search_reposB
Search GitHub repositories by keyword/query.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query, e.g. 'language:python stars:>100 machine learning' | |
| per_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure, but it only restates the tool's basic action. It does not mention read-only nature, pagination behavior, authentication requirements, or any potential side effects, offering negligible transparency beyond the tool's name.
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 clear sentence with no redundant words. It is concise and front-loaded, effectively communicating the core function in minimal space.
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?
The description is too sparse for a tool with no output schema, no annotations, and multiple siblings. It does not mention return value structure, pagination options, or how results are ordered, leaving critical contextual information missing for an agent to fully understand the tool's behavior.
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?
The schema covers 50% of parameters (query has a helpful example, but per_page has no description). The tool description itself adds no parameter semantics, merely referencing 'keyword/query' without elaboration. The per_page parameter remains minimally explained, relying on its type and range to convey meaning.
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 'Search GitHub repositories by keyword/query' clearly states the verb (search) and resource (repositories), distinguishing it from github_search_code which searches code. It unambiguously conveys the tool's purpose.
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?
The description implies the tool is for searching repositories by query but provides no explicit guidance on when to use it over alternatives like github_list_repos or github_search_code. No exclusions or alternative comparisons are given, leaving usage context largely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_whoamiA
Get the authenticated GitHub user's profile (login, name, email, etc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It mentions the output fields but does not explicitly state authentication requirements or potential errors. However, the term 'authenticated' implies that an auth token is required, and for a simple read operation this is adequate.
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 that is front-loaded with the verb and resource. It includes a parenthetical list of example return fields, adding value without extra 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 tool's simplicity (no parameters, no output schema), the description is sufficiently complete. It lists the key return fields and indicates the scope ('authenticated user'). It could mention edge cases like no token or rate limits, but the context signals show this is a basic tool.
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?
The tool has zero parameters, so the schema provides no semantics. The baseline is 4 per the rubric. The description adds no parameter info because none are needed.
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 tool gets the authenticated GitHub user's profile, listing specific details like login, name, and email. This is a specific verb+resource that distinguishes it from sibling tools (e.g., github_get_repo, github_list_repos).
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?
The context is clear: this is for retrieving the current user's own profile. It implies when to use it (when you need authenticated user info) and no alternatives among siblings serve the same purpose. However, it doesn't explicitly state exclusions or alternatives, so a 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct resource and action: user identity, code search, repo listing/detail/search, file retrieval, issue listing/creation, and pull request listing. There is no overlap or ambiguity between tools.
All tools follow a consistent `github_` prefix with snake_case naming and a verb_noun pattern (search_code, list_repos, get_repo, create_issue). The `whoami` tool slightly deviates from the noun structure but remains a recognizable verb, so the overall pattern is highly predictable.
With 9 tools, the server is well-scoped for a GitHub integration, covering common read operations (user, search, repos, files, issues, PRs) and a couple of write operations (create issue). The count feels intentional and not bloated.
The server covers the core GitHub browsing and searching workflow, including user identity, repository list/search/detail, file content, and issue list/create. Minor gaps exist such as lacking PR creation/update, issue update/delete, and repository creation, but these are not critical for a read-oriented utility.
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
An MCP server that gives your AI access to the source code and docs of all public github repos
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Create, deploy, and operate MCP servers directly from your GitHub repositories.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- FlicenseBqualityDmaintenanceAn MCP server that enables Claude and other compatible LLMs to interact with the GitHub API, supporting features like creating issues, retrieving repository information, listing issues, and searching repositories.4
- FlicenseBqualityDmaintenanceAn MCP server that allows Claude and other MCP-compatible LLMs to interact with the GitHub API, supporting features like creating issues, getting repository information, listing issues, and searching repositories.4
- FlicenseNot gradedqualityDmaintenanceA working MCP server that connects to the real GitHub API, enabling users to manage repositories, issues, pull requests, and more through natural language in Claude Desktop.
- AlicenseAqualityCmaintenanceAn MCP server that gives Claude live access to your GitHub workspace — PR reviews, issue triaging, repo search, and weekly digest reports through natural language.7MIT
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/hampannagouda/github-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server