Skip to main content
Glama

GitHub MCP Server

A Model Context Protocol (MCP) server implementation for GitHub integration. This server provides tools for interacting with GitHub's API through the MCP protocol.

Features

  • Create GitHub repositories

  • Push content to repositories

  • Get user information

  • Proper error handling and TypeScript type safety

  • Automatic installation script

Related MCP server: github-mcp-tool

Prerequisites

  • Node.js (v18 or higher)

  • npm (v8 or higher)

  • PowerShell (for Windows installation)

  • GitHub Personal Access Token with repo scope

Installation

Windows

  1. Clone this repository:

git clone https://github.com/oghenetejiriorukpegmail/github-mcp.git
  1. Run the installation script:

.\install.ps1

The script will:

  • Create the necessary directories

  • Install dependencies

  • Build the TypeScript code

  • Configure the MCP settings

Manual Installation

  1. Create the MCP directory:

mkdir -p "$env:APPDATA\Roo-Code\MCP\github-mcp"
  1. Clone this repository into that directory:

git clone https://github.com/oghenetejiriorukpegmail/github-mcp.git "$env:APPDATA\Roo-Code\MCP\github-mcp"
  1. Install dependencies:

cd "$env:APPDATA\Roo-Code\MCP\github-mcp"
npm install
  1. Build the TypeScript code:

npm run build
  1. Add the server configuration to your MCP settings file at: %APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json

{
  "mcpServers": {
    "github": {
      "command": "node",
      "args": [
        "%APPDATA%\Roo-Code\MCP\github-mcp\build\index.js"
      ],
      "env": {
        "GITHUB_TOKEN": "your-github-token-here"
      },
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

Available Tools

get_user

Get GitHub user information.

{
  "username": "octocat"
}

create_repo

Create a new GitHub repository.

{
  "repo_name": "my-new-repo",
  "description": "A new repository",
  "private": false
}

push_to_repo

Push content to a GitHub repository.

{
  "repo_name": "my-repo",
  "file_path": "docs/README.md",
  "content": "# My Project\nThis is a test file.",
  "message": "Add README file"
}

Development

  1. Clone the repository

  2. Install dependencies: npm install

  3. Make changes to src/index.ts

  4. Build: npm run build

  5. Test your changes

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Commit your changes

  4. Push to the branch

  5. Create a Pull Request

License

MIT

Available Tools

3 tools
create_repoC

Create a new GitHub repository

Inputs: repo_name (required), description, private.

get_userC

Get GitHub user information

Inputs: username (required).

push_to_repoC

Push content to a GitHub repository

Inputs: repo_name (required), file_path (required), content (required), message.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: create_repo handles repository creation, get_user retrieves user information, and push_to_repo manages content pushes to repositories. There is no overlap in functionality, making it easy for an agent to select the correct tool for each task.

    Naming Consistency4/5

    The tools follow a consistent verb_noun pattern (create_repo, get_user, push_to_repo), which is predictable and readable. The minor deviation is that 'push_to_repo' includes a preposition, but this does not significantly impact consistency or clarity.

    Tool Count3/5

    With only 3 tools, the server feels thin for a GitHub domain, which typically involves more operations like listing repositories, managing issues, or handling pull requests. While the tools are well-scoped, the count is borderline low for comprehensive GitHub functionality.

    Completeness2/5

    The tool surface has significant gaps for a GitHub server. It lacks core operations such as listing repositories, updating or deleting repositories, managing issues or pull requests, and searching code. This incomplete coverage will likely cause agent failures when trying to perform common GitHub workflows.

    Related MCP Connectors

    Related MCP Servers