π Build AI agents that seamlessly combine LLM reasoning with real-world actions via MCP tools β in just a few lines of TypeScript.
undefinedThe TypeScript SDK for Multi-Provider AI Agentsundefined
Build agents that chain LLM reasoning with MCP tools. Mix OpenAI, Claude, Mistral in one workflow. Parallel execution, branching, loops. Native retries, streaming, and typed errors.
π Read the full documentation at volcano.dev βundefined
β‘οΈ Chainable APIChain steps with |
β¨ Automatic Tool SelectionLLM automatically selects and calls appropriate MCP tools based on the prompt. No manual routing required. |
π§ 100s of ModelsOpenAI, Anthropic, Mistral, Llama, Bedrock, Vertex, Azure. Switch providers per-step or use globally. |
π‘οΈ TypeScript-FirstFull TypeScript support with type inference and IntelliSense for all APIs. |
π Advanced PatternsParallel execution, conditional branching, loops, and sub-agent composition for complex workflows. |
β±οΈ Retries & TimeoutsThree retry strategies: immediate, delayed, and exponential backoff. Per-step timeout configuration. |
π‘ Streaming WorkflowsStream step results as they complete using async generators. Perfect for real-time UIs and long-running tasks. |
π― MCP IntegrationNative Model Context Protocol support with connection pooling, tool discovery, and authentication. |
π§© Sub-Agent CompositionBuild reusable agent components and compose them into larger workflows. Modular and testable. |
π OpenTelemetry ObservabilityProduction-ready distributed tracing and metrics. Monitor performance, debug failures. Export to Jaeger, Prometheus, DataDog, NewRelic. |
π MCP OAuth AuthenticationOAuth 2.1 and Bearer token authentication per MCP specification. Agent-level or handle-level configuration with automatic token refresh. |
β‘ Performance OptimizedIntelligent connection pooling for MCP servers, tool discovery caching with TTL, and JSON schema validation for reliability. |
undefinedExplore all features βundefined
npm install volcano-sdk
Thatβs it! Includes MCP support and all common LLM providers (OpenAI, Anthropic, Mistral, Llama, Vertex).
undefinedView installation guide βundefined
import { agent, llmOpenAI, mcp } from "volcano-sdk";
const llm = llmOpenAI({
apiKey: process.env.OPENAI_API_KEY!,
model: "gpt-4o-mini"
});
const astro = mcp("http://localhost:3211/mcp");
const results = await agent({ llm })
.then({
prompt: "Find the astrological sign for birthdate 1993-07-11",
mcps: [astro] // Automatic tool selection
})
.then({
prompt: "Write a one-line fortune for that sign"
})
.run();
console.log(results[1].llmOutput);
// Output: "Fortune based on the astrological sign"
import { agent, llmOpenAI, mcp } from "volcano-sdk";
import { agent, llmOpenAI, llmAnthropic, llmMistral } from "volcano-sdk";
const gpt = llmOpenAI({ apiKey: process.env.OPENAI_API_KEY! });
const claude = llmAnthropic({ apiKey: process.env.ANTHROPIC_API_KEY! });
const mistral = llmMistral({ apiKey: process.env.MISTRAL_API_KEY! });
// Use different LLMs for different steps
await agent()
.then({ llm: gpt, prompt: "Extract data from report" })
.then({ llm: claude, prompt: "Analyze for patterns" })
.then({ llm: mistral, prompt: "Write creative summary" })
.run();
undefinedView more examples βundefined
We welcome contributions! Please see our Contributing Guide for details.
Apache 2.0 - see LICENSE file for details.