github-mcp

github-mcp

3.3

The GitHub MCP Server is a Model Context Protocol server designed to facilitate integration with GitHub, allowing users to create repositories, push content, and retrieve user information using GitHub's API. The project emphasizes TypeScript type safety and includes an automatic installation script for ease of use.

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

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