github meta mcp server

Local 2025-09-01 00:24:36 0

A Model Context Protocol server that enables AI models to interact with GitHub's API, allowing for repository creation and management with descriptions, topics, and website URLs through natural language commands.


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