npm versionnpm downloadsGitHub starsTwitter follow

Multi-Agent AI
with JSON Config

Define agent crews in config. Share state. Connect MCP servers. Track costs.
No boilerplate. Production-ready.

15+ LLM ProvidersStreamingMCP SupportTypeScript
npm install @amitdeshmukh/ax-crew @ax-llm/ax

The Problem

Building multi-agent systems is complex. You need to manage providers, handle state, coordinate agents, track costs, and wire up tools. That's a lot of boilerplate before you can focus on your actual logic.

The Solution

Define your crew in JSON config. AxCrew handles provider setup, shared state, agent composition, streaming, MCP connections, and cost tracking. Just config and go.

crew.ts
1import { AxCrew } from '@amitdeshmukh/ax-crew';
2
3const config = {
4 crew: [{
5 name: "Planner",
6 description: "Creates execution plans",
7 signature: "task:string -> plan:string",
8 provider: "openai",
9 providerKeyName: "OPENAI_API_KEY",
10 ai: { model: "gpt-4", temperature: 0 }
11 }, {
12 name: "Executor",
13 description: "Executes plans with tools",
14 signature: "task:string, plan:string -> result:string",
15 provider: "anthropic",
16 providerKeyName: "ANTHROPIC_API_KEY",
17 ai: { model: "claude-3-sonnet" },
18 agents: ["Planner"], // Sub-agent
19 functions: ["WebSearch"] // Tools
20 }]
21};
22
23const crew = new AxCrew(config, myFunctions);
24await crew.addAllAgents();
25
26// Execute with shared state and streaming
27const executor = crew.agents.get("Executor");
28const { result } = await executor.forward(
29 { task: "Research AI trends" },
30 { onStream: (chunk) => process.stdout.write(chunk) }
31);
32
33// Track costs across the crew
34console.log(crew.getCrewMetrics());
That's it. Your crew is ready.