Tracker plugins
Trackers complement SCM plugins: the runner only proxies the three hottest verbs (tracker_get_issue, tracker_transition_issue, tracker_comment_issue) while deeper CRUD belongs to provider MCP namespaces (mcp__jira__*, mcp__linear__*, mcp__github-issues__*, …).
TrackerPluginBase contract
| Method | MCP-first behaviour |
|---|---|
init | Required — validates credentials from plugins.installed.<id>.config |
mcpServer() | Preferred — stdio/http/sse descriptor for the vendor MCP |
getIssue | Optional native path |
commentIssue | Optional native path |
transitionIssue | Optional native path |
normalizeInbound | Optional — map incoming webhooks to NormalizedEvent |
Rule of thumb
- Ship
mcpServer()whenever the vendor publishes a maintained MCP bridge. - Provide native
getIssue/commentIssue/transitionIssueonly if you intentionally bypass MCP (rare).
The generic handlers try native methods first; if undefined, they instruct the model to call the mapped upstream tool so workflow Markdown stays provider-agnostic.