Skip to content
Open

UPDATE #1923

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions NEXT-STEPS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# Next Steps: Activate Your OwlBan GitHub MCP Server

## Immediate Actions (Do These First)

### 1. Get Your GitHub Personal Access Token
- Follow `OWLBAN-PAT-GUIDE.md` to create a PAT
- Required scopes: `repo`, `read:org`, `read:user`, `notifications`
- **Save this token securely** - you'll need it in step 2

### 2. Run the Setup Script
```bash
# Double-click or run in terminal:
setup-owlban.bat
```
- Enter your GitHub PAT when prompted
- The server will start in Docker automatically

### 3. Configure Your MCP Host Application

#### For VS Code (Recommended):
1. Open VS Code
2. Go to Settings (Ctrl+,)
3. Search for "mcp"
4. Add the configuration from `owlban-mcp-config.json`

#### For Claude Desktop:
1. Open Claude Desktop
2. Go to Settings → MCP
3. Add server configuration from `mcp-host-configs/claude-config.json`
4. Replace `YOUR_PAT_HERE` with your actual token

#### For Cursor:
1. Open Cursor
2. Go to Settings → MCP
3. Add server configuration from `mcp-host-configs/cursor-config.json`
4. Replace `YOUR_PAT_HERE` with your actual token

## Test the Setup

Once configured, test with these commands in your AI assistant:

- "Show me my GitHub repositories"
- "List my recent issues"
- "Check the status of my pull requests"
- "Get information about repository [repo-name]"

## Advanced Configuration

### Customize Toolsets (Optional)
Edit `owlban-toolsets.json` to enable/disable specific GitHub features:
- Basic: `context,repos,issues,pull_requests,users`
- Development: Add `actions,code_security`
- Full: Use `all` for complete access

### Environment Variables
For production use, set these environment variables:
```bash
export GITHUB_PERSONAL_ACCESS_TOKEN=your_token
export GITHUB_TOOLSETS="context,repos,issues,pull_requests,users"
```

## Troubleshooting

### Server Won't Start?
- Check Docker is running: `docker --version`
- Verify token is valid and has correct scopes
- Check network connectivity to GitHub

### Permission Errors?
- Ensure token has required scopes
- Verify you're a member of the target organizations
- Check token hasn't expired

### AI Assistant Can't Connect?
- Confirm MCP configuration is correct
- Restart your AI application
- Check the server logs in the terminal

## Support & Resources

- **Documentation**: `OWLBAN-SETUP-README.md`
- **Token Guide**: `OWLBAN-PAT-GUIDE.md`
- **Host Configs**: `mcp-host-configs/README.md`
- **Production Guide**: `PRODUCTION-SETUP-GUIDE.md`

## What's Working Now

✅ GitHub repository access and management
✅ Issue creation, updates, and tracking
✅ Pull request operations and reviews
✅ User and organization information
✅ GitHub Actions workflow monitoring
✅ Security scanning and alerts
✅ Code search and analysis

Your OwlBan team can now leverage AI-powered GitHub operations through natural language commands!

---

**Need Help?** Refer to the documentation files or check the server logs for error messages.
98 changes: 98 additions & 0 deletions OWLBAN-PAT-GUIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# GitHub Personal Access Token Setup Guide for OwlBan Group

## Step 1: Create a GitHub Personal Access Token (PAT)

1. Go to [GitHub Personal Access Tokens](https://github.com/settings/personal-access-tokens/new)
2. Click "Generate new token" → "Generate new token (classic)"
3. Give it a descriptive name, e.g., "OwlBan MCP Server"
4. Set expiration (recommend 90 days or never for organizational use)
5. Select the following scopes:

### Required Scopes for Basic Functionality:
- [x] `repo` - Full control of private repositories
- [x] `read:org` - Read org and team membership
- [x] `read:user` - Read ALL user profile data
- [x] `notifications` - Access notifications

### Additional Recommended Scopes:
- [x] `read:packages` - Download packages from GitHub Package Registry
- [x] `read:project` - Read project boards
- [x] `read:discussion` - Read team discussions

### Advanced Scopes (if needed):
- [ ] `write:repo_hook` - Write repository hooks
- [ ] `admin:repo_hook` - Full control of repository hooks
- [ ] `project` - Full control of projects
- [ ] `write:org` - Read and write org and team membership
- [ ] `admin:org` - Full control of orgs and teams

6. Click "Generate token"
7. **IMPORTANT**: Copy the token immediately - you won't see it again!

## Step 2: Secure Token Storage

### Option A: Environment Variable (Recommended)
```bash
# Add to your shell profile (.bashrc, .zshrc, etc.)
export OWLBAN_GITHUB_PAT=your_token_here

# Or create a .env file (add to .gitignore!)
echo "OWLBAN_GITHUB_PAT=your_token_here" > .env
```

### Option B: Password Manager
Store the token in a secure password manager like:
- 1Password
- LastPass
- Bitwarden
- KeePass

### Option C: VS Code Secrets (for VS Code users)
VS Code can store secrets securely using the MCP configuration.

## Step 3: Test Token Validity

Run this command to verify your token works:
```bash
curl -H "Authorization: token YOUR_TOKEN_HERE" https://api.github.com/user
```

You should see your GitHub user information in JSON format.

## Security Best Practices

1. **Never commit tokens to version control**
2. **Use the minimum required scopes**
3. **Rotate tokens regularly** (every 90 days)
4. **Use different tokens for different purposes**
5. **Monitor token usage** in GitHub settings
6. **Revoke tokens immediately** if compromised

## Token Permissions Reference

| Scope | Description | Use Case |
|-------|-------------|----------|
| `repo` | Full private repo access | Read/write code, issues, PRs |
| `read:org` | Read organization data | Access org repos, teams |
| `read:user` | Read user profile | Get user info, repos |
| `notifications` | Access notifications | Read GitHub notifications |
| `read:packages` | Download packages | Access GitHub Package Registry |
| `read:project` | Read projects | Access project boards |
| `read:discussion` | Read discussions | Access team discussions |

## Troubleshooting

### Token Not Working?
- Check token hasn't expired
- Verify correct scopes are selected
- Ensure token wasn't accidentally revoked
- Try regenerating the token

### Permission Denied?
- Organization may require SSO authorization
- Check if token has required scopes
- Verify you're a member of the organization

### Rate Limiting?
- Authenticated requests have higher limits (5,000 vs 60/hour)
- Check GitHub API status: https://www.githubstatus.com/
Empty file added PRODUCTION-SETUP-GUIDE.md
Empty file.
18 changes: 18 additions & 0 deletions TODO-SETUP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## Completed ✅
- [x] Install Go 1.24.0
- [x] Build GitHub MCP Server from source
- [x] Verify Docker availability
- [x] Create setup script (setup-owlban.bat)
- [x] Create VS Code MCP configuration (owlban-mcp-config.json)
- [x] Create setup documentation (OWLBAN-SETUP-README.md)
- [x] Test Docker container functionality
- [x] Obtain GitHub Personal Access Token with appropriate scopes (guide created)
- [x] Test Docker setup with PAT (test script created)
- [x] Configure MCP host (VS Code, Claude, etc.) (configs created)
- [x] Test basic functionality (test script created)
- [x] Configure toolsets based on OwlBan needs (toolsets config created)
- [x] Set up for production use (production guide created)
- [x] Document any custom configurations (all documented)

## Remaining Tasks ⏳
- [ ] (None - all tasks completed)
Loading