Skip to main content
Glama
README.md
# 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

TDQS

B3.1/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: create-issue handles issue creation, get-repo-info retrieves repository details, list-issues lists existing issues, and search-repos searches for repositories. There is no overlap or ambiguity in functionality.

Naming Consistency4/5

The naming follows a consistent verb-noun pattern (create-issue, get-repo-info, list-issues, search-repos), with all tools using hyphen-separated lowercase. The minor deviation is that 'get-repo-info' includes an extra 'info' suffix, but overall the pattern is predictable and readable.

Tool Count3/5

With only 4 tools, the set feels thin for a GitHub server, lacking common operations like updating/deleting issues, managing pull requests, or accessing repository contents. While the tools are well-scoped, the count is borderline low for the domain's typical scope.

Completeness2/5

The tool surface has significant gaps for a GitHub server. It covers basic issue and repository operations but misses critical CRUD/lifecycle coverage (e.g., no update/delete for issues, no pull request tools, no repository modification). This will likely cause agent failures in common workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues