Production-ready MCP server for enforcing git/PR/Jira workflows with atomic, composable tools.
npm install
cp .aurearc.example.json .aurearc.json
cp .env.example .env
npm run build && npm startAdd to your Claude Code or Cursor MCP configuration:
{
"mcpServers": {
"aurea-orchestrator": {
"command": "node",
"args": ["/path/to/aurea-orchestrator-mcp/dist/index.js"]
}
}
}.aurearc.json- Project rules (branch naming, ticket patterns, protected branches)GITHUB_TOKEN- GitHub personal access token (required)JIRA_*- Jira credentials (optional, only if using Jira tools)
Owner/repo are auto-detected from git remote origin.
create_branch- Create branch with enforced naming and duplicate detectioncommit- Conventional commits in English with ticket referencesreview_changes- Diff summary with hotspots (package.json, migrations, etc.)push- Push with protected branch guardrails
compose- Generate standardized PR title and bodycreate- Create PR with auto-detection of owner/repoopen- ONE-CALL: compose + push + create
get_ticket- Fetch ticket details (summary, status, assignee)create_ticket- Create new Jira tickettransition- Move ticket to different statusensure_ticket- Legacy: validate or create (prefer get_ticket + create_ticket)
Branches: feature/NT-1234-short-title or hotfix/NT-5678-fix-bug
Commits: feat(scope): message [NT-1234] (English, imperative mood)
PRs: Auto-generated with template (summary, risks, checklist)
┌─────────────────────────────┐
│ HOST (Claude Code/Cursor) │
│ - Reads user prompts │
│ - Orchestrates workflow │
│ - Asks for approval │
└──────────┬──────────────────┘
│ calls tools
↓
┌─────────────────────────────┐
│ Aurea MCP (this pkg) │
│ - Atomic git operations │
│ - PR creation with template│
│ - Jira integration │
│ - Naming enforcement │
│ - Safety guardrails │
└─────────────────────────────┘
The MCP provides tools. The HOST orchestrates.
User: "Implement webhook retry for NT-1234"
↓
Host (using Aurea tools):
1. aurea.jira.get_ticket({ ticket: "NT-1234" })
✓ "Add webhook retry mechanism"
2. aurea.git.create_branch({ type: "feature", ticket: "NT-1234", title: "webhook retry" })
✓ feature/NT-1234-webhook-retry
3. [Implements code]
4. aurea.git.commit({ ticket, message: "add retry logic" })
5. aurea.git.commit({ ticket, message: "add tests" })
6. aurea.git.review_changes()
7. [Asks user approval]
8. aurea.git.push()
9. aurea.pr.open({ type, ticket, title, summary })
10. aurea.jira.transition({ ticket, status: "In Code Review" })
✓ PR: https://github.com/org/repo/pull/123
See docs/WORKFLOW_EXAMPLE.md for:
- Claude Code slash command setup
- Cursor
.cursorrulesconfiguration - Complete workflow examples
- Best practices
✅ Production-ready: Comprehensive error handling, retry logic, token sanitization ✅ Type-safe: Full TypeScript with Zod validation ✅ Atomic tools: Composable operations for flexible workflows ✅ Safety guardrails: Protected branch checks, working tree validation ✅ Auto-detection: Owner/repo from git remote, upstream branch handling ✅ Structured logging: Clear visibility into operations ✅ Duplicate detection: Warns about existing branches for same ticket
npm run dev # Run in dev mode
npm run build # Build TypeScript
npm run check # Type checking
npm run lint # Lint code
npm run format # Format with PrettierMIT