If you haven't already:
cd starter-kit
./install.shOr start manually:
# Docker
docker compose -f deployments/docker-compose.demo.yaml up --build -d
# Local
make run CONFIG=configs/starter-kit.yamlVerify it's running:
curl http://localhost:8080/health
curl http://localhost:8082/health # MCP gatewayClaude Code reads .mcp.json from the project root to discover MCP servers. Create this file in the root of the project where you'll use Claude Code:
{
"mcpServers": {
"aegisflow": {
"command": "bash",
"args": ["/absolute/path/to/AegisFlow/scripts/mcp-stdio-bridge.sh"]
}
}
}The path must be absolute. Find it with:
echo "$(cd AegisFlow && pwd)/scripts/mcp-stdio-bridge.sh"Start Claude Code in your project directory. It should detect the MCP server automatically. You can verify by running:
/mcp
You should see aegisflow listed as a connected MCP server.
Try these prompts to see governance in action:
Should be allowed (read):
List the open pull requests in this repository
Should trigger review (write):
Create a pull request with these changes
Should be blocked (destructive):
Delete the staging branch
- Check that AegisFlow is running:
curl http://localhost:8082/health - Check that the path in
.mcp.jsonis absolute and correct - Check that
scripts/mcp-stdio-bridge.shis executable:chmod +x scripts/mcp-stdio-bridge.sh
- AegisFlow's MCP gateway runs on port 8082 by default
- Verify the config has
mcp_gateway.enabled: trueandmcp_gateway.port: 8082 - Check Docker port mapping includes 8082
- Check which policy pack you're using (readonly blocks everything except reads)
- Test with the admin API:
POST /admin/v1/test-action - Check AegisFlow logs:
docker logs aegisflow-starter
- The action needs human review. Check pending approvals:
curl -s http://localhost:8081/admin/v1/approvals -H "X-API-Key: starter-key-001" | jq .
- Approve or deny it to unblock the agent