About MCP GitHub Server
MCP GitHub Server provides an interface to GitHub API for users managing GitHub content through an API. It supports reading and creating repositories, files, branches, and commits.
Key features
- 01List user repositories
- 02Read repository details and files
- 03Create repositories and files
- 04List and create branches
- 05Query and create commits
Use cases
- 01Browse a user's GitHub repositories
- 02Read or add repository files
- 03Create branches and commit multiple file changes
MCP support
Although named MCP GitHub Server, the README does not describe its MCP interface or capabilities exposed to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP GitHub Server
Сервер для работы с GitHub API, предоставляющий удобный интерфейс для взаимодействия с репозиториями GitHub.
Установка
- Клонируйте репозиторий:
git clone https://github.com/fills/mcp-github-server.git
cd mcp-github-server
- Установите зависимости:
npm install
- Создайте файл
.envв корне проекта и добавьте следующие переменные:
PORT=3000
GITHUB_TOKEN=your_github_token_here
Для получения GitHub токена:
- Перейдите в настройки вашего аккаунта GitHub
- Выберите "Developer settings" -> "Personal access tokens" -> "Tokens (classic)"
- Нажмите "Generate new token"
- Выберите необходимые разрешения (рекомендуется: repo, user)
- Скопируйте токен и вставьте его в файл .env
Запуск
Для запуска в режиме разработки:
npm run dev
Для запуска в продакшн режиме:
npm start
API Endpoints
Базовый маршрут
GET /- Проверка работоспособности сервера
Репозитории
GET /api/repos/:username- Получение списка репозиториев пользователяGET /api/repos/:username/:repo- Получение информации о конкретном репозиторииPOST /api/repos- Создание нового репозитория- Тело запроса:
{ "name": "repo-name", "description": "description", "private": false }
- Тело запроса:
Файлы
GET /api/repos/:username/:repo/contents/:path- Получение содержимого файла из репозиторияPOST /api/repos/:username/:repo/contents/:path- Создание нового файла в репозитории- Тело запроса:
{ "content": "file content", "message": "commit message" }
- Тело запроса:
Ветки
GET /api/repos/:username/:repo/branches- Получение списка веток репозиторияPOST /api/repos/:username/:repo/branches- Создание новой ветки в репозитории- Тело запроса:
{ "name": "branch-name", "sha": "commit-sha" }
- Тело запроса:
Коммиты
GET /api/repos/:username/:repo/commits- Получение списка коммитов репозитория- Параметры запроса:
sha,path,author,since,until,per_page,page
- Параметры запроса:
POST /api/repos/:username/:repo/commits- Создание нового коммита- Тело запроса:
{ "message": "commit message", "branch": "branch-name", "changes": { "path/to/file1.txt": "content of file1", "path/to/file2.txt": "content of file2" } }
Примеры использования
Получение списка репозиториев пользователя
GET http://localhost:3000/api/repos/octocat
Создание нового репозитория
POST http://localhost:3000/api/repos
Content-Type: application/json
{
"name": "test-repo",
"description": "Тестовый репозиторий",
"private": true
}
Создание файла в репозитории
POST http://localhost:3000/api/repos/username/repo-name/contents/path/to/file.txt
Content-Type: application/json
{
"content": "Содержимое файла",
"message": "Добавлен новый файл"
}
Создание новой ветки
POST http://localhost:3000/api/repos/username/repo-name/branches
Content-Type: application/json
{
"name": "feature-branch",
"sha": "optional-commit-sha"
}
Создание коммита с несколькими файлами
POST http://localhost:3000/api/repos/username/repo-name/commits
Content-Type: application/json
{
"message": "Добавлены новые файлы",
"branch": "feature-branch",
"changes": {
"file1.txt": "Содержимое файла 1",
"dir/file2.txt": "Содержимое файла 2"
}
}
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.