README.md•1.87 kB
# GitHub MCP Server
A Model Context Protocol (MCP) server for interacting with GitHub. This tool allows AI assistants to perform various GitHub operations including repository management, file operations, issue tracking, and more.
## Features
- **Repository Operations**: Create repositories, fork repositories
- **File Operations**: Create, update, and read files, push multiple files in a single commit
- **Issue Management**: Create, update, list, and comment on issues
- **Pull Requests**: Create pull requests
- **Branch Management**: Create branches
- **Search Capabilities**: Search code, repositories, issues, and users
- **Commit History**: List commits
## Setup
### Prerequisites
- Node.js 18 or higher
- A GitHub Personal Access Token with appropriate permissions
### Installation
1. Clone this repository
2. Install dependencies:
```
npm install
```
3. Build the project:
```
npm run build
```
### Configuration
This MCP server requires a GitHub Personal Access Token to authenticate with the GitHub API. The token should be provided as an environment variable:
```
GITHUB_PERSONAL_ACCESS_TOKEN=your_token_here
```
When deploying with Smithery, the token is configured through the `githubPersonalAccessToken` configuration option.
## Usage
### Running Locally
To run the server locally:
```
GITHUB_PERSONAL_ACCESS_TOKEN=your_token_here node dist/index.js
```
### Deploying with Smithery
This repository includes the necessary configuration files for deploying with Smithery:
- `Dockerfile`: Defines how to build the Docker image for the MCP server
- `smithery.yaml`: Configures how Smithery should start the MCP server
Refer to the [Smithery documentation](https://smithery.ai/docs) for deployment instructions.
## Development
### Building
```
npm run build
```
### Linting
```
npm run lint
```
## License
MIT