Sync GitHub Issues to Linear
Push every new GitHub issue into a Linear team as a task. Edits flow in both directions.
Prerequisites
Section titled “Prerequisites”- GitHub personal access token with
reposcope - Linear API key (Settings → API)
- WCP running
1. Register Connections
Section titled “1. Register Connections”# GitHubcurl -X POST http://localhost:8000/api/connections \ -H "Content-Type: application/json" \ -d '{ "name": "github", "command": "npx", "args": ["-y", "@anthropic/mcp-server-github"], "env": { "GITHUB_TOKEN": "ghp_..." } }'
# Linearcurl -X POST http://localhost:8000/api/connections \ -H "Content-Type: application/json" \ -d '{ "name": "linear", "command": "npx", "args": ["-y", "@anthropic/mcp-server-linear"], "env": { "LINEAR_API_KEY": "lin_api_..." } }'2. Scan & Sync
Section titled “2. Scan & Sync”# Discover capabilitiescurl -X POST http://localhost:8000/api/capabilities/scan
# Verify they share a capability (e.g., "issues" or "tasks")curl http://localhost:8000/api/capabilities/syncable-pairs
# Run synccurl -X POST http://localhost:8000/api/sync/run/await3. Automate
Section titled “3. Automate”Set up a cron job or GitHub webhook to trigger syncs:
# Every 10 minutes*/10 * * * * curl -s -X POST http://localhost:8000/api/sync/runConflict Strategy
Section titled “Conflict Strategy”For issue trackers, source_wins with GitHub as the source usually works best — edits originate in GitHub and flow to Linear.
curl -X PUT http://localhost:8000/api/conflicts/strategy \ -H "Content-Type: application/json" \ -d '{"strategy": "source_wins"}'