Enables interaction with GitHub's API, providing tools for creating issues, retrieving repository information, listing repository issues, and searching repositories.
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 installAdd
.envfile looking at the sample provided in.env.examplefileTo build the TypeScript files to Javascript, run
npx tscTo finally run the project, run
node build/index.js
Related MCP server: GitHub MCP Server Plus
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.jsin the terminalGo 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 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