n8n
The n8n-nodes-wcp package adds two native n8n nodes that let you trigger workflows on sync events and control WCP from any n8n automation.
Installation
Section titled “Installation”In your n8n instance, go to Settings → Community nodes → Install and enter:
n8n-nodes-wcpOr if you run n8n via Docker, add the package to your environment:
docker run -it --rm \ -e N8N_COMMUNITY_PACKAGES_ENABLED=true \ -e N8N_COMMUNITY_PACKAGES_INSTALL_MISSING=true \ -v n8n_data:/home/node/.n8n \ n8nio/n8nCredentials
Section titled “Credentials”Before using any WCP node, create a WCP API credential:
- In n8n, go to Credentials → New credential → WCP API
- Set Base URL to your WCP instance (e.g.,
https://workflowcontextprotocol.infoorhttp://localhost:8000) - Save
WCP Trigger Node
Section titled “WCP Trigger Node”Listens for real-time WCP events via WebSocket. Triggers a workflow every time the selected event fires.
Events
Section titled “Events”| Event | When it fires |
|---|---|
sync_complete | A sync run finished successfully |
sync_error | A sync run failed |
conflict_resolved | A conflict was resolved (manual or auto) |
conflict_dismissed | A conflict was dismissed |
scan_complete | A capability scan finished |
link_deleted | A sync link was deleted |
All Events | Every event from WCP |
Output
Section titled “Output”The node outputs the raw event JSON. For sync_complete:
{ "type": "sync_complete", "summary": { "synced": 12, "errors": 0, "conflicts": 1, "duration_ms": 3420 }}Example: Notify on sync error
Section titled “Example: Notify on sync error”[WCP Trigger: sync_error] → [Slack: send message "WCP sync failed: {{$json.error}}"]WCP Action Node
Section titled “WCP Action Node”Executes operations against your WCP instance. Connect it to any trigger in n8n.
Operations
Section titled “Operations”| Operation | Description |
|---|---|
| Run Sync | Trigger a sync and wait for the result |
| Run Sync (Background) | Trigger a sync without waiting |
| Get Status | Get current sync engine status |
| List Connections | List all registered MCP connections |
| Scan Capabilities | Scan all MCP servers for capabilities |
| List Conflicts | List pending conflicts |
| Resolve Conflict | Resolve a conflict by choosing a winning app |
| List Links | List all sync links |
| List Logs | List recent sync logs |
Example: Scheduled sync every 5 minutes
Section titled “Example: Scheduled sync every 5 minutes”[Schedule Trigger: */5 * * * *] → [WCP: Run Sync] → [IF: errors > 0] → [Email: alert]Example: Auto-resolve conflicts on a schedule
Section titled “Example: Auto-resolve conflicts on a schedule”[Schedule Trigger: hourly] → [WCP: List Conflicts] → [Split In Batches] → [WCP: Resolve Conflict (winning_app = "notion")]Example: Sync on GitHub push
Section titled “Example: Sync on GitHub push”[Webhook: GitHub push event] → [WCP: Run Sync] → [Slack: "Synced {{$json.summary.synced}} items after push to main"]Building the Package Locally
Section titled “Building the Package Locally”If you want to modify the nodes or test before publishing:
cd n8n-nodes-wcpnpm installnpm run buildThe compiled files end up in dist/. Link to your local n8n:
npm linkcd ~/.n8n/customnpm link n8n-nodes-wcpRestart n8n for the nodes to appear.