GitHub MCP Server
README.md
# GitHub MCP Server
A Model Context Protocol (MCP) server that provides GitHub API integration.
## Features
- 🔍 Search repositories
- 📁 Get repository details and contents
- 🐛 Create and list issues
- 🏷️ Manage labels and states
## Setup
1. **Install dependencies:**
```bash
npm install
```
2. **Create a GitHub Personal Access Token:**
- Go to https://github.com/settings/tokens
- Click "Generate new token (classic)"
- Select scopes: `repo`, `read:user`
- Copy the token
3. **Configure environment:**
```bash
cp .env.example .env
# Edit .env and add your GitHub token
```
4. **Run the server:**
```bash
npm start
```
## Available Tools
### search_repositories
Search for GitHub repositories.
**Parameters:**
- `query` (required): Search query
- `sort`: Sort field (stars, forks, updated)
- `order`: Sort order (asc, desc)
- `per_page`: Results per page (max 100)
### get_repository
Get details about a specific repository.
**Parameters:**
- `owner` (required): Repository owner
- `repo` (required): Repository name
### get_repository_contents
Get contents of a file or directory in a repository.
**Parameters:**
- `owner` (required): Repository owner
- `repo` (required): Repository name
- `path` (required): Path to file or directory
- `ref`: Branch, tag, or commit SHA
### create_issue
Create a new issue in a repository.
**Parameters:**
- `owner` (required): Repository owner
- `repo` (required): Repository name
- `title` (required): Issue title
- `body`: Issue body
- `labels`: Array of label names
### list_issues
List issues in a repository.
**Parameters:**
- `owner` (required): Repository owner
- `repo` (required): Repository name
- `state`: Issue state (open, closed, all)
- `labels`: Comma-separated list of labels
- `per_page`: Results per page (max 100)
## Integration with SplitCosts
This GitHub MCP server can be used alongside your SplitCosts project to:
- Track issues related to cost splitting features
- Search for similar open-source projects
- Manage project documentation and collaboration
- Automate GitHub workflows related to your project
## Usage Examples
### With Claude Desktop
Add this to your Claude Desktop configuration:
```json
{
"mcpServers": {
"github": {
"command": "node",
"args": ["/path/to/github-mcp-server/index.js"]
}
}
}
```
### Standalone Testing
```bash
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node index.js
```
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues