1.0.2 • Published 2 years ago
@richardtheuws/server-github-extended v1.0.2
MCP GitHub Extended Server
Extended GitHub server implementation for Model Context Protocol with improved API support.
Features
- Full repository management (create, update, delete)
- Improved file handling with content encoding
- Release and tag management
- Pull request and issue handling
- Multi-file commits
- Branch management
Installation
npm install @modelcontextprotocol/server-github-extendedConfiguration
Add to your MCP config:
{
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github-extended"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-token-here"
},
"autoApproveScope": [
"create_repository",
"create_or_update_file",
"create_release",
"create_branch",
"create_pull_request",
"push_files"
]
}
}Usage
Create Repository
await create_repository({
name: "my-repo",
description: "My repository",
autoInit: true
});Create or Update File
await create_or_update_file({
owner: "username",
repo: "repo-name",
path: "path/to/file",
content: "file content",
message: "commit message"
});Create Release
await create_release({
owner: "username",
repo: "repo-name",
tagName: "v1.0.0",
name: "Release 1.0.0",
body: "Release description"
});Create Branch
await create_branch({
owner: "username",
repo: "repo-name",
branch: "feature/new-branch"
});Create Pull Request
await create_pull_request({
owner: "username",
repo: "repo-name",
title: "My PR",
head: "feature/branch",
base: "main"
});Push Multiple Files
await push_files({
owner: "username",
repo: "repo-name",
branch: "main",
files: [
{ path: "file1.txt", content: "content 1" },
{ path: "file2.txt", content: "content 2" }
],
message: "Add multiple files"
});Development
# Install dependencies
npm install
# Build
npm run build
# Test
npm test
# Lint
npm run lint
# Format
npm run formatLicense
MIT