open-index/open-npm huggingface dataset:
npm package: @richardtheuws/server-github-extended
Description: Extended GitHub server implementation for Model Context Protocol with improved API support
Author: Richard Theuws
Latest version: 1.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

```bash
npm install @modelcontextprotocol/server-github-extended
```

## Configuration

Add to your MCP config:

```json
{
  "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

```typescript
await create_repository({
  name: "my-repo",
  description: "My repository",
  autoInit: true
});
```

### Create or Update File

```typescript
await create_or_update_file({
  owner: "username",
  repo: "repo-name",
  path: "path/to/file",
  content: "file content",
  message: "commit message"
});
```

### Create Release

```typescript
await create_release({
  owner: "username",
  repo: "repo-name",
  tagName: "v1.0.0",
  name: "Release 1.0.0",
  body: "Release description"
});
```

### Create Branch

```typescript
await create_branch({
  owner: "username",
  repo: "repo-name",
  branch: "feature/new-branch"
});
```

### Create Pull Request

```typescript
await create_pull_request({
  owner: "username",
  repo: "repo-name",
  title: "My PR",
  head: "feature/branch",
  base: "main"
});
```

### Push Multiple Files

```typescript
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

```bash
# Install dependencies
npm install

# Build
npm run build

# Test
npm test

# Lint
npm run lint

# Format
npm run format
```

## License

MIT