Skip to main content
Glama
nasimcoderex

Universal GitHub MCP Server

by nasimcoderex

Universal GitHub MCP Server

A configurable Model Context Protocol (MCP) server that provides GitHub API integration for any repositories you specify.

πŸš€ Features

  • Pure GitHub API Operations - No local file dependencies

  • Multi-Repository Support - Work with multiple GitHub repositories

  • Configurable - Easily configure for your own repositories

  • Branch Management - Create, list, and manage branches

  • Pull Request Operations - Create and manage PRs

  • File Operations - Read and update files via GitHub API

  • πŸ†• Company Documentation Integration - Enforces company rules and best practices

  • πŸ†• Automatic Validation - Validates branch names, PR formats according to your guidelines

  • πŸ†• Smart Documentation Search - Find specific rules and guidelines quickly

Related MCP server: Git MCP Server

πŸ“‹ Available Actions

GitHub Actions

Action

Description

list_repos

Show all configured repositories

list_branches

List branches in a repository

create_branch

Create a new branch (with validation)

list_prs

List open pull requests

create_pr

Create a pull request (with template)

get_file

Get file content from repository

update_file

Update file content in repository

Documentation Actions

Action

Description

list

Show all available company documentation

get

Get specific documentation (git, coding, review, pr)

search

Search through documentation for specific terms

rules

Get company rules for specific categories

guidelines

Get action-specific guidelines

βš™οΈ Configuration

Set the GITHUB_REPOS environment variable with your repository configuration:

export GITHUB_REPOS='[
  {
    "name": "my-frontend",
    "repo": "myusername/frontend-app",
    "defaultBranch": "main"
  },
  {
    "name": "my-backend",
    "repo": "myusername/backend-api", 
    "defaultBranch": "develop"
  }
]'

Method 2: Configuration File

Edit config/repos.json:

{
  "repositories": [
    {
      "name": "my-project",
      "repo": "owner/repository-name",
      "defaultBranch": "main"
    },
    {
      "name": "another-project",
      "repo": "owner/another-repo",
      "defaultBranch": "develop"
    }
  ]
}

πŸ”‘ GitHub Token Setup

  1. Generate a Personal Access Token:

    • Go to GitHub β†’ Settings β†’ Developer settings β†’ Personal access tokens

    • Generate new token with repo permissions

  2. Set the token as environment variable:

export GITHUB_TOKEN="your_github_token_here"

πŸƒβ€β™‚οΈ Running the Server

# Install dependencies
npm install

# Set your GitHub token
export GITHUB_TOKEN="your_token_here"

# Optional: Set custom repositories
export GITHUB_REPOS='[{"name":"my-repo","repo":"owner/repo","defaultBranch":"main"}]'

# Start the MCP server
npm start
# or
node index.js

πŸ”§ Claude Desktop Integration

Add to your Claude Desktop config.json:

{
  "mcpServers": {
    "github-mcp": {
      "command": "node",
      "args": ["/path/to/your/github-mcp/index.js"],
      "env": {
        "GITHUB_TOKEN": "your_github_token_here",
        "GITHUB_REPOS": "[{\"name\":\"my-repo\",\"repo\":\"owner/repo\",\"defaultBranch\":\"main\"}]"
      }
    }
  }
}

πŸ“ Usage Examples

List Configured Repositories

{
  "repoName": "any-repo-name",
  "action": "list_repos"
}

Create a New Branch

{
  "repoName": "my-frontend",
  "action": "create_branch",
  "taskBranch": "feature/new-component",
  "taskDescription": "Add new React component"
}

Get File Content

{
  "repoName": "my-backend",
  "action": "get_file", 
  "taskDescription": "src/server.js"
}

List Pull Requests

{
  "repoName": "my-frontend",
  "action": "list_prs"
}

πŸ”’ Security Notes

  • Never commit your GitHub token to version control

  • Use environment variables for sensitive configuration

  • The server only requires repo permissions for private repositories

  • For public repositories, you can use a token with minimal permissions

πŸ›  Development

# Clone the repository
git clone <your-repo-url>
cd github-mcp

# Install dependencies  
npm install

# Create your configuration
cp config/repos.json.example config/repos.json
# Edit config/repos.json with your repositories

# Set environment variables
export GITHUB_TOKEN="your_token"

# Run the server
npm start

πŸ“„ Example Configuration Files

For Open Source Projects

{
  "repositories": [
    {
      "name": "react",
      "repo": "facebook/react",
      "defaultBranch": "main"
    },
    {
      "name": "vue",
      "repo": "vuejs/vue",
      "defaultBranch": "dev"
    }
  ]
}

For Company Projects

{
  "repositories": [
    {
      "name": "web-app",
      "repo": "company/web-application", 
      "defaultBranch": "develop"
    },
    {
      "name": "mobile-app",
      "repo": "company/mobile-app",
      "defaultBranch": "main"
    },
    {
      "name": "api-service",
      "repo": "company/api-service",
      "defaultBranch": "master"
    }
  ]
}

🎯 Default Behavior

If no configuration is found, the server will use example configuration and show helpful error messages to guide you through setup.

πŸ“ž Support

  • Check the server logs for configuration loading messages

  • Use the list_repos action to verify your configuration

  • Ensure your GitHub token has the necessary permissions


Ready to use with your own repositories! πŸš€

F
license - not found
-
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.

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    An MCP server that enables Git repository operations and GitHub PR workflows, allowing users to manage repositories, create branches, commit changes, and create pull requests through natural language.
    2
  • A
    license
    B
    quality
    D
    maintenance
    A modular MCP server that provides a unified interface for interacting with GitHub and GitLab, including enterprise and self-hosted instances. It enables comprehensive management of repositories, issues, pull requests, and CI/CD pipelines through natural language.
    23
    50
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Standalone MCP server for GitHub that enables repository management, branch operations, pull request handling, and commit retrieval via tools listed in the README.
    1
  • A
    license
    C
    quality
    B
    maintenance
    A production-ready MCP server for GitHub operations, providing tools for repository management, issues, pull requests, and more via both MCP stdio and REST API.
    27
    MIT

View all related MCP servers

Related MCP Connectors

  • A MCP server built for developers enabling Git based project management with project and personal…

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.

View all MCP Connectors

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/nasimcoderex/tasker-mcp'

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