GitHub MCP (Model Context Protocol) server
Hi! This is my first GitHub MCP server that allows MCP compatible LLMs like Claude to interact with my MCP server and hence with 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:Copy
- Exit and reopen Claude desktop
Functionalities
The MCP supports mainly two features:
- Tools (4)
create-issue
: create a new issue in a GitHub repositoryget-repo-info
: get information about a specific GitHub repositorylist-issues
: list issues in a GitHub repositorysearch-repos
: Search for GitHub repositories
- Prompts (5)
create-issue-description
: generate a description for a GitHub issuecreate-pull-request-description
: generate a description for a GitHub pull requestsearch-repos-prompt
: generate a query for searching GitHub repositoriescreate-issue-prompt
: generate parameters for creating a GitHub issueenhance-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
This server cannot be installed
An 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.