This MCP server works with both Claude Desktop (desktop app) and Claude Code (VS Code extension).
If you're using Claude Code, use the CLI for one-command installation using npx:
Option A: Personal Access Token
# 1. Get GitHub token from https://github.com/settings/tokens/new
# Scopes needed: repo, project
# 2. Add to Claude Code using npx (no local installation required)
claude mcp add github-projects \
--env GITHUB_TOKEN=ghp_your_token_here \
-- npx -y @joaodotwork/plantas-github-projects-mcpOption B: OAuth Device Flow (auto-refreshing tokens)
# 1. Register a GitHub OAuth App at https://github.com/settings/developers
# Enable "Device Flow" in the app settings
# 2. Add to Claude Code with OAuth credentials
claude mcp add github-projects \
--env GITHUB_CLIENT_ID=your_client_id \
--env GITHUB_CLIENT_SECRET=your_client_secret \
-- npx -y @joaodotwork/plantas-github-projects-mcp
# 3. On first tool call, follow the device flow prompt to authenticate in your browser# Verify
claude mcp list
# Reload VS Code (Cmd+Shift+P → "Developer: Reload Window")Done! Skip to verification below.
- Go to https://github.com/settings/tokens/new
- Select scopes:
- ✅
repo(Full control of private repositories) - ✅
project(Full control of projects)
- ✅
- Generate token (format:
ghp_...) - Save it securely - you won't see it again!
Choose your installation based on which Claude client you're using. We recommend using npx to run the server without manually managing files.
Edit your Claude Desktop config file:
macOS:
code ~/Library/Application\ Support/Claude/claude_desktop_config.jsonWindows:
code %APPDATA%\Claude\claude_desktop_config.jsonAdd the MCP server configuration:
{
"mcpServers": {
"github-projects": {
"command": "npx",
"args": ["-y", "@joaodotwork/plantas-github-projects-mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Replace:
ghp_your_token_herewith your GitHub token
Restart Claude Desktop:
Completely quit and reopen Claude Desktop for the MCP server to load.
Verify Installation:
In Claude Desktop, start a new conversation and ask:
"What MCP tools do you have available for GitHub Projects?"
You should see 17 tools:
create_projectcreate_milestonecreate_issueadd_issue_to_projectcreate_iteration_fieldassign_issue_to_iterationadd_iterationupdate_iterationadd_subissueremove_subissuereprioritize_subissueupdate_item_statusupdate_project_settingscreate_project_status_updateget_project_status_updatesget_repository_infoget_project_info
Claude Code uses a different configuration file than Claude Desktop.
Use the Claude Code CLI to install the MCP server automatically:
claude mcp add github-projects \
--env GITHUB_TOKEN=ghp_your_token_here \
-- npx -y @joaodotwork/plantas-github-projects-mcpOr set token via environment variable:
# Set token in your shell config first
export GITHUB_TOKEN=ghp_your_token_here
# Then add without hardcoding token
claude mcp add github-projects \
--env GITHUB_TOKEN=${GITHUB_TOKEN} \
-- npx -y @joaodotwork/plantas-github-projects-mcpVerify installation:
claude mcp listRemove if needed:
claude mcp remove github-projectsIf you prefer to edit the config file manually:
macOS/Linux:
code ~/.config/claude/code_config.jsonWindows:
code %APPDATA%\Code\User\globalStorage\anthropics.claude-code\code_config.jsonOr use the command palette:
- Press
Cmd+Shift+P(macOS) orCtrl+Shift+P(Windows/Linux) - Type "Claude Code: Open MCP Settings"
- Select the command
If using manual configuration, add the server to the mcpServers section:
{
"mcpServers": {
"github-projects": {
"command": "npx",
"args": ["-y", "@joaodotwork/plantas-github-projects-mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Option 1: Command Palette
- Press
Cmd+Shift+P(macOS) orCtrl+Shift+P(Windows/Linux) - Type "Developer: Reload Window"
- Select the command
Option 2: Quit and Reopen
- Completely quit VS Code (
Cmd+Qon macOS) - Reopen VS Code
In Claude Code chat panel, ask:
"What MCP tools do you have available for GitHub Projects?"
You should see 17 tools listed.
Instead of hardcoding the token in config, you can use an environment variable:
In your shell config (~/.zshrc or ~/.bashrc):
export GITHUB_TOKEN=ghp_your_token_hereIn Claude Code config:
{
"mcpServers": {
"github-projects": {
"command": "npx",
"args": ["-y", "@joaodotwork/plantas-github-projects-mcp"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}Note: After adding the environment variable, restart your terminal and VS Code for it to take effect.
Check logs:
For Claude Desktop:
tail -f ~/Library/Logs/Claude/mcp*.logFor Claude Code:
- Open VS Code Developer Tools:
Help→Toggle Developer Tools - Check Console tab for MCP-related errors
- Look for messages about MCP server startup
Common issues:
- Invalid JSON in config - Use a JSON validator
- Token not set - Verify
GITHUB_TOKENin config - Node.js not available - Ensure
npxis in your path
- PAT: Token is invalid or expired — generate a new one with
repoandprojectscopes - OAuth: Restart the MCP server to trigger automatic token refresh or re-authentication
- The server validates tokens on first tool call and shows actionable error messages
- If using local path: Check the absolute path in config
- If using npx: Ensure you have internet connection to download the package
MCP tools not appearing:
- Check that Claude Code extension is up to date
- Verify config file path is correct for your OS
- Try using Command Palette: "Claude Code: Restart MCP Servers"
- Check VS Code Output panel (View → Output → Claude Code)
Environment variable not working:
- Make sure you restarted VS Code after setting the variable
- Launch VS Code from terminal to inherit environment:
code . - On macOS, you may need to restart your entire session
For development (running from source):
# 1. Clone and install
git clone https://github.com/joaodotwork/plantas-github-projects-mcp.git
cd plants-github-projects-mcp
npm install
# 2. Build
npm run build
# 3. Register locally
claude mcp add github-projects-dev \
--command "node" \
--arg "$(pwd)/dist/index.js" \
--env GITHUB_TOKEN=ghp_your_token_here