Feather Code MCP Server
A comprehensive GitHub integration for Claude Desktop using the Model Context Protocol (MCP). Access all GitHub features directly from Claude with 15 powerful tools.
Features
- ๐ 15 GitHub Tools - Complete GitHub API coverage
- ๐ Auto-detection - Automatically detects repository from git
- ๐ Flexible Auth - PAT, GitHub App, and file-based tokens
- ๐ฆ Zero Config - Works out of the box in any git repository
- โ MCP Compliant - Built with official MCP SDK
Installation
Quick Install (Recommended)
Linux/macOS:
curl -fsSL https://raw.githubusercontent.com/yourusername/feather-code/main/install.sh | bash
Windows:
Invoke-WebRequest -Uri https://raw.githubusercontent.com/yourusername/feather-code/main/install.bat -OutFile install.bat
.\install.bat
Manual Installation
Clone the repository:
git clone https://github.com/yourusername/feather-code.git cd feather-code
Install dependencies:
pip install -r requirements.txt
Set up authentication:
export GITHUB_PAT=your_github_personal_access_token
Usage
With Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"feather-code": {
"command": "python3",
"args": ["/path/to/feather-code/feather_code.py"]
}
}
}
Standalone
Run from any git repository:
cd /your/github/repo
python3 /path/to/feather_code.py
Tools Available
Repository Management
get_repository_info
- Get comprehensive repository detailsget_repository_languages
- Get language breakdownget_repository_topics
- Get repository topics/tags
Issues
list_issues
- List and filter repository issuescreate_issue
- Create new issues with labelsupdate_issue
- Update existing issuesget_issue
- Get detailed issue informationadd_issue_comment
- Add comments to issues
Pull Requests
get_pull_requests
- List and filter pull requestscreate_pull_request
- Create new pull requestsget_pull_request
- Get detailed PR information
Code & Repository
list_branches
- List repository branchesget_commits
- Get commit history with filtersget_file_content
- Read file contents from repositorysearch_code
- Search code within repository
Authentication
Personal Access Token (Recommended)
- Create a token at https://github.com/settings/tokens/new
- Select scopes:
repo
,read:org
(for private repos) - Set the token:
export GITHUB_PAT=ghp_your_token_here
Token File
echo "ghp_your_token_here" > ~/.github_token
export GITHUB_PAT_FILE=~/.github_token
GitHub App (Advanced)
export GITHUB_APP_ID=123456
export GITHUB_INSTALLATION_ID=789012
export GITHUB_PRIVATE_KEY_PATH=/path/to/private-key.pem
Configuration
All configuration is done through environment variables:
Variable | Description | Default |
---|---|---|
GITHUB_OWNER |
Repository owner | Auto-detected from git |
GITHUB_REPO |
Repository name | Auto-detected from git |
GITHUB_PAT |
Personal access token | - |
GITHUB_PAT_FILE |
Path to token file | - |
GITHUB_APP_ID |
GitHub App ID | - |
GITHUB_INSTALLATION_ID |
App installation ID | - |
GITHUB_PRIVATE_KEY_PATH |
App private key path | - |
GITHUB_API_URL |
GitHub API URL | https://api.github.com |
Examples
Create an issue from Claude
User: Create a new issue titled "Bug: Login not working" with the bug label
Claude: I'll create that issue for you.
[Uses create_issue tool]
Created issue #123: "Bug: Login not working"
Search for code
User: Find all files that contain "authentication"
Claude: I'll search for files containing "authentication".
[Uses search_code tool]
Found 5 files containing "authentication":
- src/auth/login.py
- src/auth/middleware.py
...
Development
Running Tests
python3 test_comprehensive.py
python3 validate_production_ready.py
Building from Source
pip install -e .
Troubleshooting
"Repository not detected"
- Ensure you're in a git repository with a GitHub remote
- Or set
GITHUB_OWNER
andGITHUB_REPO
environment variables
"Authentication failed"
- Check your GitHub token has the required scopes
- Ensure the token is not expired
- Try using a PAT instead of GitHub App auth
"Tool not found"
- Update to the latest version
- Check Claude Desktop has reloaded the MCP configuration
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
Support
- ๐ Documentation
- ๐ Report Issues
- ๐ฌ Discussions