MCP server: One MCP server.

GitHub

@davidweb3-ctrlMCP server ยท External

GitHub MCP Server - List PRs, issues, repo info, and search code

Version controlv1.0.0MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted โ€” your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npm@davidweb3-ctrl/mcp-github-serverv1.0.0

Run

npx -y @davidweb3-ctrl/mcp-github-server

MCP client config

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@davidweb3-ctrl/mcp-github-server"
      ]
    }
  }
}
README3 min read

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

Installation

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

Configuration

Set your GitHub token as an environment variable:

bash
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:

json
{
  "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

bash
# 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
bash
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

Similar modules

Browse Version control