The GitHub MCP Server allows you to manage GitHub repositories through natural language commands.
Create repositories: Auto-generate repository names from descriptions, add topics/tags, set website URLs, and initialize with README files.
Update repositories: Modify descriptions, tags/topics, and website URLs for existing repositories.
Natural language support: Understands various command patterns like creating or updating repositories with specific attributes.
Seamless integration: Works directly with GitHub's API using a personal access token.
Provides tools for interacting with GitHub's API, allowing users to create repositories with auto-generated names from descriptions, add topics/tags to repositories, set repository homepages, and initialize repositories with README files.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GitHub MCP ServerCreate a repository for my new React dashboard with tags react typescript ui website https://myapp.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: GitHub MCP Bridge
Installation
Clone the repository
Install dependencies:
npm installBuild the server:
npm run buildConfiguration
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:
Create a repository named "my-machine-learning-image-classifier"
Set the description as "my machine learning image classifier"
Add "python", "tensorflow", and "computer-vision" as repository topics
Set the website to "https://example.com/docs"
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:
Make changes to
src/index.tsRebuild the server:
npm run buildLicense
MIT