freshcrate
Skin:/
Home > MCP Servers > voltagent

voltagent

AI Agent Engineering Platform built on an Open Source TypeScript AI Agent Framework

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

AI Agent Engineering Platform built on an Open Source TypeScript AI Agent Framework

README


VoltAgent is an end-to-end AI Agent Engineering Platform that consists of two main parts:

Build agents with full code control and ship them with production-ready visibility and operations.

Core TypeScript Framework

With the open-source framework, you can build intelligent agents with memory, tools, and multi-step workflows while connecting to any AI provider. Create sophisticated multi-agent systems where specialized agents work together under supervisor coordination.

  • Core Runtime (@voltagent/core): Define agents with typed roles, tools, memory, and model providers in one place so everything stays organized.
  • Workflow Engine: Describe multi-step automations declaratively rather than stitching together custom control flow.
  • Supervisors & Sub-Agents: Run teams of specialized agents under a supervisor runtime that routes tasks and keeps them in sync.
  • Tool Registry & MCP: Ship Zod-typed tools with lifecycle hooks and cancellation, and connect to Model Context Protocol servers without extra glue code.
  • LLM Compatibility: Swap between OpenAI, Anthropic, Google, or other providers by changing config, not rewriting agent logic.
  • Memory: Attach durable memory adapters so agents remember important context across runs.
  • Resumable Streaming: Let clients reconnect to in-flight streams after refresh and continue receiving the same response.
  • Retrieval & RAG: Plug in retriever agents to pull facts from your data sources and ground responses (RAG) before the model answers.
  • VoltAgent Knowledge Base: Use the managed RAG service for document ingestion, chunking, embeddings, and search.
  • Voice: Add text-to-speech and speech-to-text capabilities with OpenAI, ElevenLabs, or custom voice providers.
  • Guardrails: Intercept and validate agent input or output at runtime to enforce content policies and safety rules.
  • Evals: Run agent eval suites alongside your workflows to measure and improve agent behavior.

MCP Server (@voltagent/mcp-docs-server)

You can use the MCP server @voltagent/mcp-docs-server to teach your LLM how to use VoltAgent for AI-powered coding assistants like Claude, Cursor, or Windsurf. This allows AI assistants to access VoltAgent documentation, examples, and changelogs directly while you code.

📖 How to setup MCP docs server

⚡ Quick Start

Create a new VoltAgent project in seconds using the create-voltagent-app CLI tool:

npm create voltagent-app@latest

This command guides you through setup.

You'll see the starter code in src/index.ts, which now registers both an agent and a comprehensive workflow example found in src/workflows/index.ts.

import { VoltAgent, Agent, Memory } from "@voltagent/core";
import { LibSQLMemoryAdapter } from "@voltagent/libsql";
import { createPinoLogger } from "@voltagent/logger";
import { honoServer } from "@voltagent/server-hono";
import { openai } from "@ai-sdk/openai";
import { expenseApprovalWorkflow } from "./workflows";
import { weatherTool } from "./tools";

// Create a logger instance
const logger = createPinoLogger({
  name: "my-agent-app",
  level: "info",
});

// Optional persistent memory (remove to use default in-memory)
const memory = new Memory({
  storage: new LibSQLMemoryAdapter({ url: "file:./.voltagent/memory.db" }),
});

// A simple, general-purpose agent for the project.
const agent = new Agent({
  name: "my-agent",
  instructions: "A helpful assistant that can check weather and help with various tasks",
  model: openai("gpt-4o-mini"),
  tools: [weatherTool],
  memory,
});

// Initialize VoltAgent with your agent(s) and workflow(s)
new VoltAgent({
  agents: {
    agent,
  },
  workflows: {
    expenseApprovalWorkflow,
  },
  server: honoServer(),
  logger,
});

Afterwards, navigate to your project and run:

npm run dev

When you run the dev command, tsx will compile and run your code. You should see the VoltAgent server startup message in your terminal:

══════════════════════════════════════════════════
VOLTAGENT SERVER STARTED SUCCESSFULLY
══════════════════════════════════════════════════
✓ HTTP Server: http://localhost:3141

Test your agents with VoltOps Console: https://console.voltagent.dev
══════════════════════════════════════════════════

Your agent is now running! To interact with it:

  1. Open the Console: Click the VoltOps LLM Observability Platform link in your terminal output (or copy-paste it into your browser).
  2. Find Your Agent: On the VoltOps LLM Observability Platform page, you should see your agent listed (e.g., "my-agent").
  3. Open Agent Details: Click on your agent's name.
  4. Start Chatting: On the agent detail page, click the chat icon in the bottom right corner to open the chat window.
  5. Send a Message: Type a message like "Hello" and press Enter.
step-3-test.mp4

Running Your First Workflow

Your new project also includes a powerful workflow engine.

The expense approval workflow demonstrates human-in-the-loop automation with suspend/resume capabilities:

import { createWorkflowChain } from "@voltagent/core";
import { z } from "zod";

export const expenseApprovalWorkflow = createWorkflowChain({
  id: "expense-approval",
  name: "Expense Approval Workflow",
  purpose: "Process expense reports with manager approval for high amounts",

  input: z.object({
    employeeId: z.string(),
    amount: z.number(),
    category: z.string(),
    description: z.string(),
  }),
  result: z.object({
    status: z.enum(["approved", "rejected"]),
    approvedBy: z.string(),
    finalAmount: z.number(),
  }),
})
  // Step 1: Validate expense and check if approval needed
  .andThen({
    id: "check-approval-needed",
    resumeSchema: z.object({
      approved: z.boolean(),
      managerId: z.string(),
      comments: z.string().optional(),
      adjustedAmount: z.number().optional(),
    }),
    execute: async ({ data, suspend, resumeData }) => {
      // If we're resuming with manager's decision
      if (resumeData) {
        return {
          ...data,
          approved: resumeData.approved,
          approvedBy: resumeData.managerId,
          finalAmount: resumeData.adjustedAmount || data.amount,
        };
      }

      // Check if manager approval is needed (expenses over $500)
      if (data.amount > 500) {
        await suspend("Manager approval required", {
          employeeId: data.employeeId,
          requestedAmount: data.amount,
        });
      }

      // Auto-approve small expenses
      return {
        ...data,
        approved: true,
        approvedBy: "system",
        finalAmount: data.amount,
      };
    },
  })
  // Step 2: Process the final decision
  .andThen({
    id: "process-decision",
    execute: async ({ data }) => {
      return {
        status: data.approved ? "approved" : "rejected",
        approvedBy: data.approvedBy,
        finalAmount: data.finalAmount,
      };
    },
  });

You can test the pre-built expenseApprovalWorkflow directly from the VoltOps console:

workflow.mp4
  1. Go to the Workflows Page: After starting your server, go directly to the Workflows page.
  2. Select Your Project: Use the project selector to choose your project (e.g., "my-agent-app").
  3. Find and Run: You will see "Expense Approval Workflow" listed. Click it, then click the "Run" button.
  4. Provide Input: The workflow expects a JSON object with expense details. Try a small expense for automatic approval:
    {
      "employeeId": "EMP-123",
      "amount": 250,
      "category": "office-supplies",
      "description": "New laptop mouse and keyboard"
    }
  5. View the Results: After execution, you can inspect the detailed logs for each step and see the final output directly in the console.

Examples

For more examples, visit our examples repository.

VoltOps Console: LLM Observability - Automation - Deployment

VoltOps Console is the platform side of VoltAgent, providing observability, automation, and deployment so you can monitor and debug agents in production with real-time execution traces, performance metrics, and visual dashboards.

đŸŽŦ Try Live Demo

📖 VoltOps Documentation

🚀 VoltOps Platform

Observability & Tracing

Deep dive into agent execution flow with detailed traces and performance metrics.

1

Dashboard

Get a comprehensive overview of all your agents, workflows, and system performance metrics.

dashboar

Logs

Track detailed execution logs for every agent interaction and workflow step.

VoltOps Logs

Memory Management

Inspect and manage agent memory, context, and conversation history.

VoltOps Memory Overview

Traces

Analyze complete execution traces to understand agent behavior and optimize performance.

VoltOps Traces

Prompt Builder

Design, test, and refine prompts directly in the console.

prompts

Deployment

Deploy your agents to production with one-click GitHub integration and managed infrastructure.

deployment

📖 VoltOps Deploy Documentation

Triggers & Actions

Automate agent workflows with webhooks, schedules, and custom triggers to react to external events.

triggers

Monitoring

Monitor agent health, performance metrics, and resource usage across your entire system.

monitoring

Guardrails

Set up safety boundaries and content filters to ensure agents operate within defined parameters.

guardrails

Evals

Run evaluation suites to test agent behavior, accuracy, and performance against benchmarks.

evals

RAG (Knowledge Base)

Connect your agents to knowledge sources with built-in retrieval-augmented generation capabilities.

rag

Learning VoltAgent

Contribution

We welcome contributions! Please refer to the contribution guidelines (link needed if available). Join our Discord server for questions and discussions.

Contributor â™Ĩī¸ Thanks

Big thanks to everyone who's been part of the VoltAgent journey, whether you've built a plugin, opened an issue, dropped a pull request, or just helped someone out on Discord or GitHub Discussions.

VoltAgent is a community effort, and it keeps getting better because of people like you.

Contributors

License

Licensed under the MIT License, Copyright Š 2026-present VoltAgent.

Release History

VersionChangesUrgencyDate
@voltagent/server-core@2.1.18### Patch Changes - [#1318](https://github.com/VoltAgent/voltagent/pull/1318) [`91abbb4`](https://github.com/VoltAgent/voltagent/commit/91abbb450312d92dc3dd690c0579b5f0325370d9) Thanks [@ruanchaves](https://github.com/ruanchaves)! - Validate workflow ownership before suspend and cancel control routes act on an execution. Fixes #1316. - Updated dependencies \[[`a1b4427`](https://github.com/VoltAgent/voltagent/commit/a1b44273b06deba50379a6f8f8a06347439a525f)]: - @voltagent/core@2.High5/31/2026
@voltagent/server-core@2.1.17### Patch Changes - [#1301](https://github.com/VoltAgent/voltagent/pull/1301) [`738e7b0`](https://github.com/VoltAgent/voltagent/commit/738e7b057aafd22d5521b1f442de498ee3da1c34) Thanks [@ruanchaves](https://github.com/ruanchaves)! - fix(server-core): return workflow execute result status Fixes #1300 High5/25/2026
@voltagent/core@2.7.5### Patch Changes - [#1283](https://github.com/VoltAgent/voltagent/pull/1283) [`23cc35a`](https://github.com/VoltAgent/voltagent/commit/23cc35a01b92f032cbc765c0f1ab2ab31dfb35c8) Thanks [@truffle-dev](https://github.com/truffle-dev)! - Honor the provider's `Retry-After` header on retried model calls. The retry loop in `executeWithModelFallback` previously always used local exponential backoff capped at 10 seconds, regardless of what the server asked for; this caused concurrent agents under shaHigh5/22/2026
@voltagent/sandbox-blaxel@2.1.0### Minor Changes - [#1275](https://github.com/VoltAgent/voltagent/pull/1275) [`74eb6f0`](https://github.com/VoltAgent/voltagent/commit/74eb6f016da09fc8982b73e7934d76d535aa2910) Thanks [@zrosenbauer](https://github.com/zrosenbauer)! - Add `@voltagent/sandbox-blaxel` — a new workspace sandbox provider that runs your agents' shell commands inside [Blaxel](https://blaxel.ai)-managed sandboxes. ```ts import { Workspace } from "@voltagent/core"; import { BlaxelSandbox } from "@voltageHigh5/11/2026
@voltagent/core@2.7.4### Patch Changes - [#1255](https://github.com/VoltAgent/voltagent/pull/1255) [`97226de`](https://github.com/VoltAgent/voltagent/commit/97226dee981d47c5002727d07a878539c43483bf) Thanks [@omeraplak](https://github.com/omeraplak)! - Add a VoltOps observability trace list API for loading persisted traces with project keys. - [#1257](https://github.com/VoltAgent/voltagent/pull/1257) [`faeb4ff`](https://github.com/VoltAgent/voltagent/commit/faeb4ffa5fb8dbc86489403c3eabb976750f77ea) Thanks [@omeHigh4/28/2026
@voltagent/server-hono@2.0.13### Patch Changes - [#1241](https://github.com/VoltAgent/voltagent/pull/1241) [`794da98`](https://github.com/VoltAgent/voltagent/commit/794da98f8c1e1e6b7f98ed878333dda86fa58bbe) Thanks [@truffle-dev](https://github.com/truffle-dev)! - fix(server-hono): don't double-prefix basePath when Hono already merged it into route.path When a sub-app is mounted via `app.route(basePath, subApp)` or `app.basePath(basePath)`, Hono's internal `_addRoute` calls `mergePath(basePath, path)` and stores High4/25/2026
@voltagent/server-hono@2.0.11### Patch Changes - [#1220](https://github.com/VoltAgent/voltagent/pull/1220) [`9adf876`](https://github.com/VoltAgent/voltagent/commit/9adf876cbef4f252c2bbf94106ca7ed41d4b6056) Thanks [@omeraplak](https://github.com/omeraplak)! - fix(server-hono): support Zod v4 record schemas in Swagger docs The built-in tool OpenAPI schemas now use explicit record key and value schemas so Zod v4 does not produce undefined record value types during Swagger document generation. High4/22/2026
@voltagent/server-elysia@2.0.7### Patch Changes - [#1199](https://github.com/VoltAgent/voltagent/pull/1199) [`b6813e9`](https://github.com/VoltAgent/voltagent/commit/b6813e91aad3e3897a50111039e4adf90cae68a0) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: point A2A agent cards at the JSON-RPC endpoint A2A agent cards now advertise `/a2a/{serverId}` instead of the internal `/.well-known/{serverId}/agent-card.json` discovery document. When the card is served through the Hono or Elysia integrations, VoHigh4/11/2026
@voltagent/server-core@2.1.13### Patch Changes - [#1199](https://github.com/VoltAgent/voltagent/pull/1199) [`b6813e9`](https://github.com/VoltAgent/voltagent/commit/b6813e91aad3e3897a50111039e4adf90cae68a0) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: point A2A agent cards at the JSON-RPC endpoint A2A agent cards now advertise `/a2a/{serverId}` instead of the internal `/.well-known/{serverId}/agent-card.json` discovery document. When the card is served through the Hono or Elysia integrations, VoMedium4/11/2026
@voltagent/a2a-server@2.0.3### Patch Changes - [#1199](https://github.com/VoltAgent/voltagent/pull/1199) [`b6813e9`](https://github.com/VoltAgent/voltagent/commit/b6813e91aad3e3897a50111039e4adf90cae68a0) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: point A2A agent cards at the JSON-RPC endpoint A2A agent cards now advertise `/a2a/{serverId}` instead of the internal `/.well-known/{serverId}/agent-card.json` discovery document. When the card is served through the Hono or Elysia integrations, VoMedium4/11/2026
@voltagent/server-hono@2.0.9### Patch Changes - [#1199](https://github.com/VoltAgent/voltagent/pull/1199) [`b6813e9`](https://github.com/VoltAgent/voltagent/commit/b6813e91aad3e3897a50111039e4adf90cae68a0) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: point A2A agent cards at the JSON-RPC endpoint A2A agent cards now advertise `/a2a/{serverId}` instead of the internal `/.well-known/{serverId}/agent-card.json` discovery document. When the card is served through the Hono or Elysia integrations, VoMedium4/11/2026
@voltagent/core@2.7.0### Minor Changes - [#1192](https://github.com/VoltAgent/voltagent/pull/1192) [`0dc2935`](https://github.com/VoltAgent/voltagent/commit/0dc2935772b62ec63f2a03b7bbe03c8619a37f89) Thanks [@ravyg](https://github.com/ravyg)! - feat(core): add `prepareStep` to AgentOptions for per-step tool control Surfaces the AI SDK's `prepareStep` callback as a top-level `AgentOptions` property so users can set a default step preparation callback at agent creation time. Per-call `prepareStep` in method optHigh4/8/2026
@voltagent/server-core@2.1.12### Patch Changes - [#1189](https://github.com/VoltAgent/voltagent/pull/1189) [`19fa54b`](https://github.com/VoltAgent/voltagent/commit/19fa54b27ce3ba3286603fd80efe7969f928098c) Thanks [@pandego](https://github.com/pandego)! - Fix the development console-access bypass for Request-based WebSocket paths using `?dev=true`. - Updated dependencies \[[`0dc2935`](https://github.com/VoltAgent/voltagent/commit/0dc2935772b62ec63f2a03b7bbe03c8619a37f89)]: - @voltagent/core@2.7.0 Medium4/8/2026
@voltagent/serverless-hono@2.0.10### Patch Changes - [#1191](https://github.com/VoltAgent/voltagent/pull/1191) [`a21275f`](https://github.com/VoltAgent/voltagent/commit/a21275f65e1bb7230b8f41802345e0d475441730) Thanks [@ravyg](https://github.com/ravyg)! - fix(serverless-hono): defer waitUntil cleanup to prevent tool crashes in Cloudflare Workers The `finally` block in `toCloudflareWorker()`, `toVercelEdge()`, and `toDeno()` was calling `cleanup()` immediately when the Response was returned, before streaming and tool exeMedium4/8/2026
@voltagent/core@2.6.14### Patch Changes - [#1183](https://github.com/VoltAgent/voltagent/pull/1183) [`b48f107`](https://github.com/VoltAgent/voltagent/commit/b48f1077e847bc1dc4d0d42966dee8e6a01ed444) Thanks [@omeraplak](https://github.com/omeraplak)! - feat: persist selected assistant message metadata to memory You can enable persisted assistant message metadata at the agent level or per request. ```ts const result = await agent.streamText("Hello", { memory: { userId: "user-1", Medium4/1/2026
@voltagent/server-core@2.1.11### Patch Changes - [#1183](https://github.com/VoltAgent/voltagent/pull/1183) [`b48f107`](https://github.com/VoltAgent/voltagent/commit/b48f1077e847bc1dc4d0d42966dee8e6a01ed444) Thanks [@omeraplak](https://github.com/omeraplak)! - feat: persist selected assistant message metadata to memory You can enable persisted assistant message metadata at the agent level or per request. ```ts const result = await agent.streamText("Hello", { memory: { userId: "user-1", Medium4/1/2026
@voltagent/core@2.6.13### Patch Changes - [#1172](https://github.com/VoltAgent/voltagent/pull/1172) [`8cb2aa5`](https://github.com/VoltAgent/voltagent/commit/8cb2aa59016641deba0947adcb5a2e4d4970ce08) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: tighten prompt-context usage telemetry - redact nested large binary fields when estimating prompt context usage - preserve circular-reference detection when serializing nested prompt message content - exclude runtime-only tool metadata from toMedium3/25/2026
@voltagent/ag-ui@1.0.7### Patch Changes - [#1137](https://github.com/VoltAgent/voltagent/pull/1137) [`bb6e9b1`](https://github.com/VoltAgent/voltagent/commit/bb6e9b1e3d81e21dd885a24dc0863b67d249f3b6) Thanks [@corners99](https://github.com/corners99)! - feat(ag-ui): add ACTIVITY_SNAPSHOT and ACTIVITY_DELTA event support Medium3/25/2026
@voltagent/core@2.6.12### Patch Changes - [#1169](https://github.com/VoltAgent/voltagent/pull/1169) [`25b21d0`](https://github.com/VoltAgent/voltagent/commit/25b21d00fc74663a414eefabe35f7b4058ec9e71) Thanks [@omeraplak](https://github.com/omeraplak)! - feat: add estimated prompt context telemetry for observability - record estimated prompt-context breakdown for system instructions, conversation messages, and tool schemas on LLM spans - expose cached and reasoning token usage on LLM spans for observabilLow3/21/2026
@voltagent/core@2.6.11### Patch Changes - [#1168](https://github.com/VoltAgent/voltagent/pull/1168) [`2075bd9`](https://github.com/VoltAgent/voltagent/commit/2075bd9884b5a7f59ca04cd1aaa213b0852aafc7) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: emit LLM judge token and provider cost telemetry on eval scorer spans VoltAgent now records LLM judge model, token usage, cached tokens, reasoning tokens, and provider-reported cost details on live eval scorer spans. This makes scorer-side usage vLow3/20/2026
@voltagent/server-hono@2.0.8### Patch Changes - [`b523a60`](https://github.com/VoltAgent/voltagent/commit/b523a601b29a8522261393a3228ca1c9e6c53379) Thanks [@omeraplak](https://github.com/omeraplak)! - feat: publish the latest Hono server workflow route updates ### What's Changed - expose the latest workflow execution endpoints in the Hono server package - include OpenAPI route definitions for attaching to active workflow streams and replaying workflow executions - publish the current `@voltagent/Low3/18/2026
@voltagent/ag-ui@1.0.6### Patch Changes - [#1149](https://github.com/VoltAgent/voltagent/pull/1149) [`19c4fcf`](https://github.com/VoltAgent/voltagent/commit/19c4fcfc10ba0908e47c482b17355715c7467da3) Thanks [@corners99](https://github.com/corners99)! - fix: use `input` instead of `args` for tool-call parts in message conversion When converting CopilotKit assistant messages with tool calls to VoltAgent format, the adapter was setting `args` on tool-call parts. The AI SDK's `ToolCallPart` interface expeLow3/16/2026
@voltagent/core@2.6.10### Patch Changes - [#1155](https://github.com/VoltAgent/voltagent/pull/1155) [`52bda94`](https://github.com/VoltAgent/voltagent/commit/52bda94d948c9f42eb4d88db388bd4f44a59b3be) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: capture provider-reported OpenRouter costs in observability spans ### What's Changed - Forward OpenRouter provider-reported cost metadata to both LLM spans and root agent spans. - Record `usage.cost` and `usage.cost_details.upstream_inference_Low3/16/2026
@voltagent/core@2.6.8### Patch Changes - [#1146](https://github.com/VoltAgent/voltagent/pull/1146) [`c7b4c45`](https://github.com/VoltAgent/voltagent/commit/c7b4c453b7ddf2b25d8d536d8681fb9baaad9bd7) Thanks [@omeraplak](https://github.com/omeraplak)! - Improve structured-output error handling for `Agent.generateText` when models do not emit a final output (for example after tool-calling steps). - Detect missing `result.output` immediately when `output` is requested and throw a descriptive `VoltAgentError` (`Low3/10/2026
@voltagent/core@2.6.7### Patch Changes - [#1141](https://github.com/VoltAgent/voltagent/pull/1141) [`faa5023`](https://github.com/VoltAgent/voltagent/commit/faa5023ae6983fe5cb165e0fed4ec89882422d7f) Thanks [@omeraplak](https://github.com/omeraplak)! - feat: add per-call memory read-only mode via `memory.options.readOnly`. When `readOnly` is enabled, the agent still reads conversation context and working memory, but skips memory writes for the current call. What changes in read-only mode: - ConverLow3/6/2026
@voltagent/server-core@2.1.10### Patch Changes - [#1141](https://github.com/VoltAgent/voltagent/pull/1141) [`faa5023`](https://github.com/VoltAgent/voltagent/commit/faa5023ae6983fe5cb165e0fed4ec89882422d7f) Thanks [@omeraplak](https://github.com/omeraplak)! - feat: add per-call memory read-only mode via `memory.options.readOnly`. When `readOnly` is enabled, the agent still reads conversation context and working memory, but skips memory writes for the current call. What changes in read-only mode: - ConverLow3/6/2026
@voltagent/core@2.6.6### Patch Changes - [`99680b1`](https://github.com/VoltAgent/voltagent/commit/99680b1a9e22e9e94019ef014734da898c493e6c) Thanks [@omeraplak](https://github.com/omeraplak)! - feat: add runtime memory envelope (`options.memory`) and deprecate legacy top-level memory fields ### What's New - Added a preferred per-call memory envelope: - `options.memory.conversationId` for conversation-scoped memory - `options.memory.userId` for user-scoped memory - `optionLow3/6/2026
@voltagent/server-core@2.1.9### Patch Changes - [`99680b1`](https://github.com/VoltAgent/voltagent/commit/99680b1a9e22e9e94019ef014734da898c493e6c) Thanks [@omeraplak](https://github.com/omeraplak)! - feat: add runtime memory envelope (`options.memory`) and deprecate legacy top-level memory fields ### What's New - Added a preferred per-call memory envelope: - `options.memory.conversationId` for conversation-scoped memory - `options.memory.userId` for user-scoped memory - `optionLow3/6/2026
@voltagent/resumable-streams@2.0.2### Patch Changes - [`99680b1`](https://github.com/VoltAgent/voltagent/commit/99680b1a9e22e9e94019ef014734da898c493e6c) Thanks [@omeraplak](https://github.com/omeraplak)! - feat: add runtime memory envelope (`options.memory`) and deprecate legacy top-level memory fields ### What's New - Added a preferred per-call memory envelope: - `options.memory.conversationId` for conversation-scoped memory - `options.memory.userId` for user-scoped memory - `optionLow3/6/2026
@voltagent/ag-ui@1.0.5### Patch Changes - [#1135](https://github.com/VoltAgent/voltagent/pull/1135) [`a447ca3`](https://github.com/VoltAgent/voltagent/commit/a447ca3228712edbf19f53979a0429c773cc4aa3) Thanks [@corners99](https://github.com/corners99)! - fix(core,ag-ui): guard double writer.close() and RUN_FINISHED after RUN_ERROR Low3/6/2026
@voltagent/core@2.6.5### Patch Changes - [#1135](https://github.com/VoltAgent/voltagent/pull/1135) [`a447ca3`](https://github.com/VoltAgent/voltagent/commit/a447ca3228712edbf19f53979a0429c773cc4aa3) Thanks [@corners99](https://github.com/corners99)! - fix(core,ag-ui): guard double writer.close() and RUN_FINISHED after RUN_ERROR Low3/6/2026
@voltagent/core@2.6.4### Patch Changes - [#1131](https://github.com/VoltAgent/voltagent/pull/1131) [`9a3ff6b`](https://github.com/VoltAgent/voltagent/commit/9a3ff6bf8c30016f7867d867a23ad5b180448073) Thanks [@omeraplak](https://github.com/omeraplak)! - fix(core): persist reasoning and tool parts across step checkpoint flushes (#1130) When `conversationPersistence.mode = "step"` was used with tool calls, some checkpoint flows could persist incomplete assistant messages and lose non-text parts in stored conLow3/4/2026
create-voltagent-app@0.2.19### Patch Changes - [`3e00061`](https://github.com/VoltAgent/voltagent/commit/3e000619065e856cc5f66a32f92862ee21650b47) Thanks [@omeraplak](https://github.com/omeraplak)! - feat(create-voltagent-app): add package manager selection with Bun support (#1129) The CLI now detects available package managers (`pnpm`, `bun`, `yarn`, `npm`) and lets users choose which one to use during project setup. The selected package manager is used for dependency installation and post-create run insLow3/4/2026
@voltagent/core@2.6.3### Patch Changes - [#1123](https://github.com/VoltAgent/voltagent/pull/1123) [`527f2cf`](https://github.com/VoltAgent/voltagent/commit/527f2cf1bdbb1ef830f1567504ec7aa24881a84b) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: prevent duplicate assistant message persistence during step checkpoints (#1121) When `conversationPersistence.mode = "step"` flushed around tool results, the same assistant response could be persisted multiple times with different `message_id` values. Low3/3/2026
@voltagent/core@2.6.2### Patch Changes - [#1117](https://github.com/VoltAgent/voltagent/pull/1117) [`8cb05dc`](https://github.com/VoltAgent/voltagent/commit/8cb05dc3880a59bc81f4013600edc20fa11e9a54) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: preserve user-defined `searchTools` and `callTool` when tool routing is enabled - User-defined tools named `searchTools` or `callTool` now take precedence over internal tool-routing support tools. - These tools are no longer silently filtered from rLow2/28/2026
@voltagent/langfuse-exporter@2.0.3### Patch Changes - [#1110](https://github.com/VoltAgent/voltagent/pull/1110) [`8c8aa14`](https://github.com/VoltAgent/voltagent/commit/8c8aa1425f59d876f9c413842a514eb98110006c) Thanks [@pandego](https://github.com/pandego)! - chore(langfuse-exporter): update `langfuse` dependency to `^3.38.6` to include upstream fixes for non-JSON error responses during export retries (fixes #670) Low2/28/2026
@voltagent/evals@2.0.4### Patch Changes - [#1108](https://github.com/VoltAgent/voltagent/pull/1108) [`c1df46f`](https://github.com/VoltAgent/voltagent/commit/c1df46fe3a2f478615310c51e649309647b0370c) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: persist offline eval runs when using inline datasets (`dataset.items`) Offline experiment runs now create and sync run results even when the dataset is provided inline without a managed `datasetVersionId`. ### What changed - `VoltOpsRunManager`Low2/25/2026
@voltagent/core@2.6.1### Patch Changes - [#1103](https://github.com/VoltAgent/voltagent/pull/1103) [`edd7181`](https://github.com/VoltAgent/voltagent/commit/edd718147e0493cebd2ee5145d239577ee73139b) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: preserve getter-based `fullStream` tee behavior after startup probing in `streamText`/`streamObject` This prevents `TypeError [ERR_INVALID_STATE]: Invalid state: ReadableStream is locked` when SDK consumers iterate `result.fullStream` while other result acLow2/23/2026
@voltagent/core@2.6.0### Minor Changes - [#1100](https://github.com/VoltAgent/voltagent/pull/1100) [`314ed40`](https://github.com/VoltAgent/voltagent/commit/314ed4096de7c4e1da551a5716fcd21690db3c1a) Thanks [@omeraplak](https://github.com/omeraplak)! - feat: add workflow observer/watch APIs for stream results ### What's New - Added run-level observer APIs on `WorkflowStreamResult`: - `watch(cb)` - `watchAsync(cb)` - `observeStream()` - `streamLegacy()` - ThLow2/23/2026
@voltagent/core@2.5.0### Minor Changes - [#1097](https://github.com/VoltAgent/voltagent/pull/1097) [`e15bb6e`](https://github.com/VoltAgent/voltagent/commit/e15bb6e6584e179b1a69925b597557402d957325) Thanks [@omeraplak](https://github.com/omeraplak)! - Add `startAsync()` to workflow and workflow chain APIs for fire-and-forget execution. `startAsync()` starts a workflow run in the background and returns `{ executionId, workflowId, startAt }` immediately. The run keeps existing execution semantics, respects proLow2/22/2026
@voltagent/server-core@2.1.8### Patch Changes - [#1089](https://github.com/VoltAgent/voltagent/pull/1089) [`c007b3e`](https://github.com/VoltAgent/voltagent/commit/c007b3e8364113e6ad7261ea40dc6c77590d46f6) Thanks [@chrisisagile](https://github.com/chrisisagile)! - Fix workflow execution request schema to use explicit record key types for Zod v4 compatibility. - Updated dependencies \[[`e15bb6e`](https://github.com/VoltAgent/voltagent/commit/e15bb6e6584e179b1a69925b597557402d957325), [`160e60b`](https://github.com/VolLow2/22/2026
@voltagent/libsql@2.1.2### Patch Changes - [#1085](https://github.com/VoltAgent/voltagent/pull/1085) [`f275daf`](https://github.com/VoltAgent/voltagent/commit/f275dafffa16e80deba391ce015fba6f6d6cd876) Thanks [@omeraplak](https://github.com/omeraplak)! - Fix workflow execution filtering by persisted metadata across adapters. - Persist `options.metadata` on workflow execution state so `/workflows/executions` filters can match tenant/user metadata. - Preserve existing execution metadata when updating canceLow2/19/2026
@voltagent/supabase@2.1.3### Patch Changes - [#1082](https://github.com/VoltAgent/voltagent/pull/1082) [`73cf1d3`](https://github.com/VoltAgent/voltagent/commit/73cf1d32c5ffdfd3197cc9b0661350449aca2b3a) Thanks [@omeraplak](https://github.com/omeraplak)! - Fix workflow state persistence parity across SQL adapters. This update persists and returns `input`, `context`, and top-level `workflowState` in workflow state operations. It also ensures suspended workflow state queries include `events`, `output`, and `cancellLow2/19/2026
@voltagent/server-hono@2.0.7### Patch Changes - [#1084](https://github.com/VoltAgent/voltagent/pull/1084) [`95ad610`](https://github.com/VoltAgent/voltagent/commit/95ad61091f0f42961b2546457d858e590fd4dfa3) Thanks [@omeraplak](https://github.com/omeraplak)! - Add stream attach support for in-progress workflow executions. - Add `GET /workflows/:id/executions/:executionId/stream` to attach to an active workflow SSE stream. - Add replay support for missed SSE events via `fromSequence` and `Last-Event-ID`. - Low2/19/2026
@voltagent/core@2.4.4### Patch Changes - [#1085](https://github.com/VoltAgent/voltagent/pull/1085) [`f275daf`](https://github.com/VoltAgent/voltagent/commit/f275dafffa16e80deba391ce015fba6f6d6cd876) Thanks [@omeraplak](https://github.com/omeraplak)! - Fix workflow execution filtering by persisted metadata across adapters. - Persist `options.metadata` on workflow execution state so `/workflows/executions` filters can match tenant/user metadata. - Preserve existing execution metadata when updating canceLow2/19/2026
@voltagent/serverless-hono@2.0.9### Patch Changes - [#1084](https://github.com/VoltAgent/voltagent/pull/1084) [`95ad610`](https://github.com/VoltAgent/voltagent/commit/95ad61091f0f42961b2546457d858e590fd4dfa3) Thanks [@omeraplak](https://github.com/omeraplak)! - Add stream attach support for in-progress workflow executions. - Add `GET /workflows/:id/executions/:executionId/stream` to attach to an active workflow SSE stream. - Add replay support for missed SSE events via `fromSequence` and `Last-Event-ID`. - Low2/19/2026
@voltagent/cloudflare-d1@2.1.2### Patch Changes - [#1085](https://github.com/VoltAgent/voltagent/pull/1085) [`f275daf`](https://github.com/VoltAgent/voltagent/commit/f275dafffa16e80deba391ce015fba6f6d6cd876) Thanks [@omeraplak](https://github.com/omeraplak)! - Fix workflow execution filtering by persisted metadata across adapters. - Persist `options.metadata` on workflow execution state so `/workflows/executions` filters can match tenant/user metadata. - Preserve existing execution metadata when updating canceLow2/19/2026
@voltagent/server-core@2.1.7### Patch Changes - [#1085](https://github.com/VoltAgent/voltagent/pull/1085) [`f275daf`](https://github.com/VoltAgent/voltagent/commit/f275dafffa16e80deba391ce015fba6f6d6cd876) Thanks [@omeraplak](https://github.com/omeraplak)! - Fix workflow execution filtering by persisted metadata across adapters. - Persist `options.metadata` on workflow execution state so `/workflows/executions` filters can match tenant/user metadata. - Preserve existing execution metadata when updating canceLow2/19/2026
@voltagent/postgres@2.1.2### Patch Changes - [#1082](https://github.com/VoltAgent/voltagent/pull/1082) [`73cf1d3`](https://github.com/VoltAgent/voltagent/commit/73cf1d32c5ffdfd3197cc9b0661350449aca2b3a) Thanks [@omeraplak](https://github.com/omeraplak)! - Fix workflow state persistence parity across SQL adapters. This update persists and returns `input`, `context`, and top-level `workflowState` in workflow state operations. It also ensures suspended workflow state queries include `events`, `output`, and `cancellLow2/19/2026
@voltagent/server-elysia@2.0.6### Patch Changes - [#1084](https://github.com/VoltAgent/voltagent/pull/1084) [`95ad610`](https://github.com/VoltAgent/voltagent/commit/95ad61091f0f42961b2546457d858e590fd4dfa3) Thanks [@omeraplak](https://github.com/omeraplak)! - Add stream attach support for in-progress workflow executions. - Add `GET /workflows/:id/executions/:executionId/stream` to attach to an active workflow SSE stream. - Add replay support for missed SSE events via `fromSequence` and `Last-Event-ID`. - Low2/19/2026
@voltagent/core@2.4.3### Patch Changes - [#1078](https://github.com/VoltAgent/voltagent/pull/1078) [`fbce8aa`](https://github.com/VoltAgent/voltagent/commit/fbce8aa0dbadf50d7e19ec54ab156a2fa86170c0) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: persist workflow context mutations across steps and downstream agents/tools Workflows now consistently use the execution context map when building step state. This ensures context written in one step is visible in later steps and in `andAgent` calls. Low2/18/2026
@voltagent/ag-ui@1.0.4### Patch Changes - [#1074](https://github.com/VoltAgent/voltagent/pull/1074) [`e2793c1`](https://github.com/VoltAgent/voltagent/commit/e2793c1734fc9a388e13b920a913e47531f14f35) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: preserve assistant feedback metadata across AG-UI streams - Map VoltAgent `message-metadata` stream chunks to AG-UI `CUSTOM` events, which are the protocol-native channel for application-specific metadata. - Stop emitting legacy internal tool-resultLow2/17/2026
@voltagent/core@2.4.2### Patch Changes - [#1072](https://github.com/VoltAgent/voltagent/pull/1072) [`42be052`](https://github.com/VoltAgent/voltagent/commit/42be0522175449ffa1e61181fda6f3e80beb1653) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: auto-register standalone Agent VoltOps client for remote observability export - When an `Agent` is created with `voltOpsClient` and no global client is registered, the agent now seeds `AgentRegistry` with that client. - This enables remote OTLP tracLow2/17/2026
@voltagent/sandbox-e2b@2.0.2### Patch Changes - [#1051](https://github.com/VoltAgent/voltagent/pull/1051) [`b0482cb`](https://github.com/VoltAgent/voltagent/commit/b0482cb16e3c2aff786581a1291737f772e1d19d) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: align sandbox package core dependency strategy with plugin best practices - Update `@voltagent/sandbox-daytona` to use `@voltagent/core` via `peerDependencies` + `devDependencies` instead of runtime `dependencies`. - Raise `@voltagent/sandbox-daytonLow2/14/2026
@voltagent/server-core@2.1.6### Patch Changes - [#1059](https://github.com/VoltAgent/voltagent/pull/1059) [`ec82442`](https://github.com/VoltAgent/voltagent/commit/ec824427858858fa63c8cfeb3b911f943c23ce71) Thanks [@omeraplak](https://github.com/omeraplak)! - feat: add persisted feedback-provided markers for message feedback metadata - `AgentFeedbackMetadata` now supports `provided`, `providedAt`, and `feedbackId`. - Added `Agent.isFeedbackProvided(...)` and `Agent.isMessageFeedbackProvided(...)` helpers. Low2/14/2026
@voltagent/core@2.4.1### Patch Changes - [#1051](https://github.com/VoltAgent/voltagent/pull/1051) [`b0482cb`](https://github.com/VoltAgent/voltagent/commit/b0482cb16e3c2aff786581a1291737f772e1d19d) Thanks [@omeraplak](https://github.com/omeraplak)! - Fix workspace skill prompt injection and guidance for skill access tools. - Change activated skill prompt injection to include metadata only (`name`, `id`, `description`) instead of embedding full `SKILL.md` instruction bodies. - Clarify workspace skillsLow2/14/2026
@voltagent/sandbox-daytona@2.0.2### Patch Changes - [#1051](https://github.com/VoltAgent/voltagent/pull/1051) [`b0482cb`](https://github.com/VoltAgent/voltagent/commit/b0482cb16e3c2aff786581a1291737f772e1d19d) Thanks [@omeraplak](https://github.com/omeraplak)! - fix: align sandbox package core dependency strategy with plugin best practices - Update `@voltagent/sandbox-daytona` to use `@voltagent/core` via `peerDependencies` + `devDependencies` instead of runtime `dependencies`. - Raise `@voltagent/sandbox-daytonLow2/14/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

langchainThe agent engineering platformlangchain-core==1.4.1
mem9Enable AI agents to retain memory across sessions using persistent storage designed for continuous context retention.main@2026-06-05
mastraFrom the team behind Gatsby, Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.@mastra/core@1.38.0
adk-jsAn open-source, code-first Typescript toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.devtools-v1.2.0
langgraphBuild resilient language agents as graphs.1.2.4

More in MCP Servers

AstrBotAgentic IM Chatbot infrastructure that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. ✨
agentscopeBuild and run agents you can see, understand and trust.
claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.
langchain4jLangChain4j is an open-source Java library that simplifies the integration of LLMs into Java applications through a unified API, providing access to popular LLMs and vector databases. It makes impleme