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
- Clone the repository
- Run
npm install
- Add
.env
file looking at the sample provided in .env.example
file
- To build the TypeScript files to Javascript, run
npx tsc
- 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
- Simply run
npx @modelcontextprotocol/inspector node build/index.js
in the terminal
- Go to http://localhost:5173
- You can now see the MCP inspector and test.
Test using Claude Desktop
Download and install Claude Desktop from here
Go to File > Settings... > Developer > Edit Config
It should open up the location of claude_desktop_config.json file.
Open that file in your code editor and add the following:
{
"mcpServers": {
"gh": {
"command": "node",
"args": ["absolute\path\to\your\index.js\file"],
"env": {
"GITHUB_TOKEN": "your-github-personal-access-token"
}
}
}
}
- 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