Skip to main content
Glama

GitHub MCP Server

npm version License: MIT

A Model Context Protocol (MCP) server for GitHub operations. This server enables AI assistants to interact with GitHub repositories through a standardized interface.

Features

  • 🔍 List & View Pull Requests - Browse PRs with filtering options

  • 📋 List & View Issues - Access issues with labels, assignees, and comments

  • 📊 Repository Info - Get repository statistics and metadata

  • 🔎 Code Search - Search code across GitHub repositories

Related MCP server: GitHub MCP Server

Installation

npm install -g @bountyclaw/mcp-github-server

Configuration

Set your GitHub token as an environment variable:

export GITHUB_TOKEN=your_github_token_here

Or pass it when creating the client programmatically.

Usage with Claude Code

Add to your Claude Code MCP settings:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@bountyclaw/mcp-github-server"],
      "env": {
        "GITHUB_TOKEN": "your_github_token_here"
      }
    }
  }
}

Available Tools

1. github_pr_list

List pull requests for a repository.

Input:

  • owner (string, required): Repository owner

  • repo (string, required): Repository name

  • state (enum, optional): Filter by state (open, closed, all)

  • head (string, optional): Filter by head branch

  • base (string, optional): Filter by base branch

  • sort (enum, optional): Sort field

  • direction (enum, optional): Sort direction

  • per_page (number, optional): Results per page (max 100)

  • page (number, optional): Page number

2. github_pr_view

View details of a specific pull request.

Input:

  • owner (string, required): Repository owner

  • repo (string, required): Repository name

  • pull_number (number, required): PR number

  • include_diff (boolean, optional): Include diff content

3. github_issue_list

List issues for a repository.

Input:

  • owner (string, required): Repository owner

  • repo (string, required): Repository name

  • state (enum, optional): Filter by state

  • labels (string, optional): Comma-separated label names

  • assignee (string, optional): Filter by assignee

  • creator (string, optional): Filter by creator

  • sort (enum, optional): Sort field

  • direction (enum, optional): Sort direction

  • per_page (number, optional): Results per page

  • page (number, optional): Page number

4. github_issue_view

View details of a specific issue.

Input:

  • owner (string, required): Repository owner

  • repo (string, required): Repository name

  • issue_number (number, required): Issue number

  • include_comments (boolean, optional): Include comments

5. github_repo_info

Get repository information and statistics.

Input:

  • owner (string, required): Repository owner

  • repo (string, required): Repository name

6. github_search_code

Search code across GitHub.

Input:

  • query (string, required): Search query (GitHub code search syntax)

  • sort (enum, optional): Sort field (indexed, best-match)

  • order (enum, optional): Sort order

  • per_page (number, optional): Results per page

  • page (number, optional): Page number

Example Queries

"List open PRs in facebook/react"
"Show me issue #123 in microsoft/vscode"
"Get info about the kubernetes/kubernetes repo"
"Search for 'useEffect' in TypeScript files"

Development

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Lint
npm run lint

# Format
npm run format

Testing

The project includes comprehensive unit tests with 90%+ coverage:

  • GitHub API client tests

  • Tool handler tests for all 6 tools

  • Error handling tests

  • Input validation tests

npm test

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


Built with 🦞 by BountyClaw

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidweb3-ctrl/mcp-github-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server