Multi-model agentic AI orchestrator for automated security and code quality pipelines.
Octopus coordinates Claude, GPT, and Gemini through MCP tool integrations to autonomously scan, triage, patch, review, and ship code — from Jira ticket to merged PR.
Jira ticket
↓
Claude (builds & decides)
↓
GPT (generates tests)
↓
Gemini (reviews implementation)
↓
MCP tools → GitHub PR → Jenkins CI → Deploy
Each model has a defined role. The orchestrator drives the loop until merge.
agents/ Model-specific intelligence and routing
mcp/ Thin wrappers over GitHub, Jira, Jenkins, git, security APIs
context/ Shared mission and product context injected into prompts
orchestrator/ Pipeline control flow and scheduler
server/ Express API
ui/ React dashboard (Vite)
slides/ Slidev presentation deck
infrastructure/ AWS Lambda deploy tooling
skyroute-security-demo/ Target app used in demos
| Command | What it does |
|---|---|
npm start |
Run the full pipeline |
npm run demo:security |
Security scan flow |
npm run demo:refactor |
Refactor flow |
npm run demo:agent |
LLM orchestrator |
npm run demo:agent:mock |
Orchestrator with mock LLM |
npm run dev |
API + UI dev server |
npm run slides |
Slidev presentation on port 3030 |
cp .env.example .env
# Fill in API keys and service URLs
npm install| Variable | Description |
|---|---|
CLAUDE_API_KEY |
Anthropic API key |
OPENAI_API_KEY |
OpenAI API key |
GEMINI_API_KEY |
Google Gemini API key |
GITHUB_TOKEN |
GitHub personal access token |
JIRA_BASE_URL |
Jira instance URL |
JIRA_EMAIL |
Jira account email |
JIRA_API_TOKEN |
Jira API token |
JENKINS_URL |
Jenkins server URL |
JENKINS_USER |
Jenkins username |
JENKINS_API_TOKEN |
Jenkins API token |
See .env.example for the full list.
- GitHub — PRs, branches, commits
- Jira — ticket creation, status updates
- Jenkins — CI job triggers and status polling
- Security —
mcp-security-audit+npm audit - Git — local branch and merge operations
LLM = brain that decides
MCP servers = body that executes
Orchestrator = nervous system that carries signals
Skills constrain what each model can do and when to escalate to a human.