GitHub MCP Server
by ualUsham
Verified
# GitHub MCP (Model Context Protocol) server
Hello! This is a GitHub MCP server designed to enable MCP-compatible LLMs, such as Claude, to communicate with my MCP server and interact with the GitHub API.
# Requirements
- TypeScript (programming language)
- Octokit (for making API requests to GitHub)
- Model Context Protocol SDK
## Setup the project locally
1. Clone the repository
2. Run `npm install`
3. Add `.env` file looking at the sample provided in `.env.example` file
4. To build the TypeScript files to Javascript, run `npx tsc`
5. To finally run the project, run `node build/index.js`
## Ways to test
You can test your MCP server in 2 ways:
- MCP inspector
- Claude Desktop
## Test using MCP inspector
1. Simply run `npx @modelcontextprotocol/inspector node build/index.js` in the terminal
2. Go to http://localhost:5173
3. You can now see the **MCP inspector** and test.
## Test using Claude Desktop
1. Download and install Claude Desktop from [here](https://claude.ai/download)
2. Go to File > Settings... > Developer > Edit Config
3. It should open up the location of claude_desktop_config.json file.
4. Open that file in your code editor and add the following:
```json
{
"mcpServers": {
"gh": {
"command": "node",
"args": ["absolute\\path\\to\\your\\index.js\\file"],
"env": {
"GITHUB_TOKEN": "your-github-personal-access-token"
}
}
}
}
```
5. Exit and reopen Claude desktop
## Functionalities
The **MCP** supports mainly *two* features:
- Tools (4)
- `create-issue`: create a new issue in a GitHub repository
- `get-repo-info`: get information about a specific GitHub repository
- `list-issues`: list issues in a GitHub repository
- `search-repos`: Search for GitHub repositories
- Prompts (5)
- `create-issue-description`: generate a description for a GitHub issue
- `create-pull-request-description`: generate a description for a GitHub pull request
- `search-repos-prompt`: generate a query for searching GitHub repositories
- `create-issue-prompt`: generate parameters for creating a GitHub issue
- `enhance-github-response`: format and enhance raw GitHub API response data
> You can write your own prompts or select a suitable prompt from the dropdown in the "Choose an integration" option for MCP in Claude desktop