GitHub MCP Server

by MCP-Mirror

287 downloads
Not rated
GitHub

About

The GitHub MCP Server is a Model Context Protocol server that provides tools for interacting with the GitHub API. It currently supports creating and updating repositories with descriptions, topics, and website URLs, and is designed for developers using MCP-compatible clients.

Details

Author
MCP-Mirror
Downloads
287
Categories
Developer Tools

- Create GitHub repositories with auto-generated names from descriptions
- Add topics/tags and set repository homepages
- Auto-initialize repositories with README files
- Update repository descriptions, tags, and website via natural language
- Supports updating existing repositories by owner/repo or repo-name

Install by cloning the repository, running npm install and npm run build. Configure by adding a GitHub personal access token with repository creation permissions to your MCP settings file as the GITHUB_TOKEN environment variable. Then invoke the create_repo tool with natural language commands to create or update repositories.

GitHub MCP Server

A Model Context Protocol (MCP) server that provides tools for interacting with GitHub's API. Currently supports creating repositories with descriptions, topics, and website URLs.

Features

- Create GitHub repositories with auto-generated names from descriptions
- Add topics/tags to repositories
- Set repository homepages
- Auto-initialize repositories with README files

Installation

1. Clone the repository
2. Install dependencies:

npm install

3. Build the server:
npm run build

Configuration

The server requires a GitHub personal access token with repository creation permissions. Add the following to your MCP settings file:

{
  "mcpServers": {
    "github": {
      "command": "node",
      "args": ["path/to/github-server/build/index.js"],
      "env": {
        "GITHUB_TOKEN": "your-github-token"
      }
    }
  }
}

Available Tools

create_repo

Create or update GitHub repositories using natural language commands.

Command Format

The tool accepts natural language commands for different operations:

Creating repositories:

Create a repository for [description] with tags [tag1 tag2 tag3] website [url]

or
Make a new repository called [description] tagged with [tag1, tag2, tag3]

Updating repository description:

Update [owner/repo] description to [new description]

or
Change [repo-name] description as [new description]

Updating repository tags:

Update [owner/repo] tags to [tag1 tag2 tag3]

or
Set [repo-name] topics as [tag1, tag2, tag3]

Updating repository website:

Update [owner/repo] website to [url]

or
Set [repo-name] homepage as [url]

Example Usage

Creating a new repository:

const result = await use_mcp_tool({
server_name: "github",
tool_name: "create_repo",
arguments: {
command: "Create a repository for my machine learning image classifier with tags python tensorflow computer-vision website https://example.com/docs"
}
});

This will:
1. Create a repository named "my-machine-learning-image-classifier"
2. Set the description as "my machine learning image classifier"
3. Add "python", "tensorflow", and "computer-vision" as repository topics
4. Set the website to "https://example.com/docs"
5. Initialize with a README file

Updating repository description:

const result = await use_mcp_tool({
server_name: "github",
tool_name: "create_repo",
arguments: {
command: "Update username/existing-repo description to Updated ML project for image classification"
}
});

Updating repository tags:

const result = await use_mcp_tool({
server_name: "github",
tool_name: "create_repo",
arguments: {
command: "Update username/existing-repo tags to machine-learning python updated"
}
});

Updating repository website:

const result = await use_mcp_tool({
server_name: "github",
tool_name: "create_repo",
arguments: {
command: "Update username/existing-repo website to https://example.com/new-docs"
}
});

The tool understands various natural language patterns and keywords:
- Create/make/new for creating repositories
- Update/change/set/modify for updating repositories
- "description to/as" for updating descriptions
- "tags/topics to/as" for updating tags
- "website/homepage/url to/as" for updating websites

Development

To modify or extend the server:

1. Make changes to src/index.ts
2. Rebuild the server:

npm run build

License

MIT

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.