Skip to content

docs: add FAQ section#1280

Open
meichuanyi wants to merge 3 commits into
VoltAgent:mainfrom
meichuanyi:docs/add-faq-section
Open

docs: add FAQ section#1280
meichuanyi wants to merge 3 commits into
VoltAgent:mainfrom
meichuanyi:docs/add-faq-section

Conversation

@meichuanyi
Copy link
Copy Markdown

@meichuanyi meichuanyi commented May 13, 2026

Summary

This PR adds a comprehensive FAQ section to the README.md, addressing common questions users may have about VoltAgent.

Changes

Added ❓ FAQ section covering:

  • Platform Overview: What is VoltAgent (framework + VoltOps Console)
  • Framework Comparison: How VoltAgent differs from LangChain/CrewAI (TypeScript-first, built-in observability, declarative workflows)
  • Installation: Quick start with npm create voltagent-app@latest
  • LLM Providers: All major providers (OpenAI/Anthropic/Google/Groq) via AI SDK
  • Multi-Agent Systems: Supervisor + Sub-Agents architecture
  • Custom Tools: How to register tools with @voltagent/core
  • MCP Support: Model Context Protocol integration
  • Memory: Durable adapters (LibSQL/In-Memory)
  • VoltOps Console: Production operations platform (observability/automation/deployment)
  • RAG: Built-in retrieval capabilities
  • Voice: TTS/STT support
  • Evals: Evaluation system
  • Guardrails: Input/output validation
  • Standalone Usage: Core framework without VoltOps Console
  • Help Resources: Documentation/Discord/Issues/Twitter

Motivation

VoltAgent README lacks a FAQ section, which is valuable for:

  • New users to understand the platform quickly
  • Answering common questions without searching documentation
  • Improving project accessibility and friendliness

Checklist

  • FAQ content is accurate and helpful
  • Markdown formatting is correct
  • Links are valid and working
  • Questions reflect real user needs

Related

Addresses a common documentation gap for AI agent frameworks.


Thanks for reviewing! 🚀


Summary by cubic

Adds a focused FAQ to the README to answer common VoltAgent questions and speed up onboarding. Replaces the long intro with a concise Q&A covering setup, providers, core features, and the VoltOps Console.

  • New Features
    • Overview, framework comparison, and requirements (Node 18+, TypeScript 5+).
    • Quick start: npm create voltagent-app@latest.
    • LLM providers via AI SDK: @ai-sdk/openai, @ai-sdk/anthropic, @ai-sdk/google, @ai-sdk/azure, @ai-sdk/provider.
    • Core: supervisors/sub‑agents; tools with @voltagent/core and MCP; memory adapters (@voltagent/libsql); RAG; voice; guardrails; evals.
    • VoltOps Console highlights: observability/traces, deployment, triggers/monitoring, prompt builder, built‑in KB for RAG.
    • MCP Docs Server setup with @voltagent/mcp-docs-server; plus links to docs/examples/Discord, language options, and MIT license.

Written for commit c0f8a8d. Summary will update on new commits. Review in cubic

Summary by CodeRabbit

  • Documentation
    • README updated with a comprehensive FAQ covering VoltAgent overview, differences vs other tools, requirements, supported LLM providers, getting started, MCP docs server setup, memory/RAG/guardrails/evals, supported languages, and links to learn more.
    • Replaced previous multi-section landing content with the FAQ; added a shorter License section and a Help Resources section (Discord, Issues, Discussions).

Review Change Stack

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 13, 2026

⚠️ No Changeset found

Latest commit: c0f8a8d

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 13, 2026

📝 Walkthrough

Walkthrough

A comprehensive FAQ section was added to README covering VoltAgent features, setup, supported providers, MCP docs server, memory/RAG/guardrails/evals, supported languages, and help resources (Discord, Issues, Discussions).

Changes

FAQ Documentation

Layer / File(s) Summary
FAQ section
README.md
Replaced prior landing content with a comprehensive FAQ covering VoltAgent overview, differences vs LangChain/CrewAI, requirements, supported LLM providers, getting started, MCP docs server setup, memory/RAG/guardrails/evals, supported languages, License, and Help Resources.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • VoltAgent/voltagent#923: Documentation-only PR modifying README.md structure with new content blocks; similar README layout/content changes.
  • VoltAgent/voltagent#919: Another README restructuring PR affecting landing/intro sections and examples; closely related to this documentation rewrite.

Poem

A rabbit nibbles at the README bright,
Hops through FAQs from morning to night,
No code was touched, just questions made clear,
VoltAgent guidance now hops ever near,
🐇📘

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'docs: add FAQ section' clearly and concisely describes the main change in the pull request.
Description check ✅ Passed The description covers the core requirements with sections on Summary, Changes, Motivation, and Checklist, though some template fields like 'Related issue(s) linked' and 'Changesets' are not explicitly addressed.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Around line 376-384: The comparison table currently misstates LangChain and
CrewAI capabilities: update the LangChain row (the "Sequential chains" and
"External tools" cells) to reflect stateful, graph-based workflows and agent
patterns (e.g., LangGraph) and to list LangSmith as built-in observability with
tracing/monitoring/dashboards/alerts; update the CrewAI row (the "Role-playing
teams" and "Limited" observability cells) to reflect Flows'
`@start/`@listen/@router multi-step pipelines and built-in AMP observability with
OpenTelemetry tracing and performance metrics while keeping CrewAI's "No" for
Voice Support; also ensure the second table instance noted (lines ~395-400)
receives the same corrections and keep the model examples line current (gpt-5.x,
claude-sonnet-4-6, gemini-2.5/3.x, llama-3.3-70b).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 23fdb71b-c871-4c9d-9170-f6a2f79a7395

📥 Commits

Reviewing files that changed from the base of the PR and between 08414ed and 4c6a6a3.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md Outdated
Comment on lines +376 to +384
| Feature | VoltAgent | LangChain | CrewAI |
|---------|-----------|-----------|--------|
| **Architecture** | TypeScript-first | Python-first | Python-first |
| **Workflow Engine** | Declarative workflows | Sequential chains | Role-playing teams |
| **Memory** | Multiple adapters | In-memory + options | Shared memory |
| **Observability** | Built-in VoltOps Console | External tools | Limited |
| **Deployment** | One-click cloud | Manual setup | Manual setup |
| **Voice Support** | Built-in TTS/STT | External providers | No |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

Verify current public docs for LangChain and CrewAI feature support (workflow model, observability, voice) and confirm listed model examples for OpenAI/Anthropic/Google/Groq are still accurate as of May 2026.

💡 Result:

LangChain and CrewAI both support workflow models, observability, and voice features as of May 2026, per their official docs. Listed model examples for OpenAI (e.g., gpt-5.x), Anthropic (e.g., claude-sonnet-4-6), Google (e.g., gemini-2.5/3.x), and Groq (via langchain-groq integration with models like llama-3.3-70b) remain accurate and current.[1][2][3][4][5] LangChain: - Workflow model: LangGraph enables stateful, graph-based workflows with nodes, edges, persistence, and agent patterns.[6][7][8] - Observability: LangSmith provides tracing, monitoring, dashboards, alerts, feedback, and integrations.[9][10] - Voice: Official docs detail voice agents using STT + LangChain agent + TTS (e.g., AssemblyAI, Cartesia).[11] CrewAI: - Workflow model: Flows with @start, @listen, @router for multi-step pipelines, state management, crews integration.[12][13][14][15] - Observability: Built-in tracing (CrewAI AMP), OpenTelemetry, performance metrics, LangSmith/CrewAI integrations.[16][17] - Voice: No explicit native voice support found in docs; general LLM streaming possible but not voice-specific.[18][19] Model support confirmed via LangChain docs (init_chat_model with provider prefixes) and Groq integration (ChatGroq).[1][2][3][5] CrewAI inherits via LLM flexibility (e.g., OpenAI/gpt-4o-mini).[13]

Citations:


Update comparison table with current capabilities; several LangChain and CrewAI claims are now inaccurate.

The table at lines 376-384 understates LangChain and CrewAI capabilities:

  • LangChain "Sequential chains": LangGraph now provides stateful, graph-based workflows with agent patterns, not just sequential execution.
  • LangChain "External tools" (Observability): LangSmith is the official observability platform with tracing, monitoring, dashboards, and alerts—not merely external options.
  • CrewAI "Limited" (Observability): CrewAI AMP provides built-in tracing with OpenTelemetry and performance metrics; this is understated.
  • CrewAI "Role-playing teams" (Workflow Engine): Flows support @start, @listen, @router for multi-step pipelines beyond role-based teams.

CrewAI's "No" for voice support remains accurate. Model examples (gpt-5.x, claude-sonnet-4-6, gemini-2.5/3.x, llama-3.3-70b) are current as of May 2026.

Also applies to: 395-400

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 376 - 384, The comparison table currently misstates
LangChain and CrewAI capabilities: update the LangChain row (the "Sequential
chains" and "External tools" cells) to reflect stateful, graph-based workflows
and agent patterns (e.g., LangGraph) and to list LangSmith as built-in
observability with tracing/monitoring/dashboards/alerts; update the CrewAI row
(the "Role-playing teams" and "Limited" observability cells) to reflect Flows'
`@start/`@listen/@router multi-step pipelines and built-in AMP observability with
OpenTelemetry tracing and performance metrics while keeping CrewAI's "No" for
Voice Support; also ensure the second table instance noted (lines ~395-400)
receives the same corrections and keep the model examples line current (gpt-5.x,
claude-sonnet-4-6, gemini-2.5/3.x, llama-3.3-70b).

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 1 file

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="README.md">

<violation number="1" location="README.md:381">
P2: The comparison table contains inaccurate characterizations of competitor capabilities:
- LangChain's workflow engine is not just "Sequential chains" — LangGraph provides stateful, graph-based workflows with agent patterns.
- LangChain's observability is not "External tools" — LangSmith is their official built-in observability platform with tracing, monitoring, and dashboards.
- CrewAI's observability is not "Limited" — CrewAI AMP provides built-in tracing with OpenTelemetry and performance metrics.
- CrewAI's workflow engine is not just "Role-playing teams" — Flows support `@start`, `@listen`, `@router` for multi-step pipelines.

Publishing misleading comparisons undermines credibility. Consider updating to reflect current capabilities accurately.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread README.md Outdated
| **Architecture** | TypeScript-first | Python-first | Python-first |
| **Workflow Engine** | Declarative workflows | Sequential chains | Role-playing teams |
| **Memory** | Multiple adapters | In-memory + options | Shared memory |
| **Observability** | Built-in VoltOps Console | External tools | Limited |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The comparison table contains inaccurate characterizations of competitor capabilities:

  • LangChain's workflow engine is not just "Sequential chains" — LangGraph provides stateful, graph-based workflows with agent patterns.
  • LangChain's observability is not "External tools" — LangSmith is their official built-in observability platform with tracing, monitoring, and dashboards.
  • CrewAI's observability is not "Limited" — CrewAI AMP provides built-in tracing with OpenTelemetry and performance metrics.
  • CrewAI's workflow engine is not just "Role-playing teams" — Flows support @start, @listen, @router for multi-step pipelines.

Publishing misleading comparisons undermines credibility. Consider updating to reflect current capabilities accurately.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At README.md, line 381:

<comment>The comparison table contains inaccurate characterizations of competitor capabilities:
- LangChain's workflow engine is not just "Sequential chains" — LangGraph provides stateful, graph-based workflows with agent patterns.
- LangChain's observability is not "External tools" — LangSmith is their official built-in observability platform with tracing, monitoring, and dashboards.
- CrewAI's observability is not "Limited" — CrewAI AMP provides built-in tracing with OpenTelemetry and performance metrics.
- CrewAI's workflow engine is not just "Role-playing teams" — Flows support `@start`, `@listen`, `@router` for multi-step pipelines.

Publishing misleading comparisons undermines credibility. Consider updating to reflect current capabilities accurately.</comment>

<file context>
@@ -363,6 +363,157 @@ VoltAgent is a community effort, and it keeps getting better because of people l
+| **Architecture** | TypeScript-first | Python-first | Python-first |
+| **Workflow Engine** | Declarative workflows | Sequential chains | Role-playing teams |
+| **Memory** | Multiple adapters | In-memory + options | Shared memory |
+| **Observability** | Built-in VoltOps Console | External tools | Limited |
+| **Deployment** | One-click cloud | Manual setup | Manual setup |
+| **Voice Support** | Built-in TTS/STT | External providers | No |
</file context>

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Around line 68-76: Update the provider model examples in the README providers
table: replace OpenAI's examples (`gpt-4o-mini`, `gpt-4o`) with
`gpt-5.5-instant`, replace Anthropic's `claude-sonnet-4-20250514` with
`claude-sonnet-4-6`, and replace Google's `gemini-2.0-flash` with
`gemini-3.5-flash`; locate the rows for Provider "OpenAI", "Anthropic", and
"Google" in the table and update the Model Example column entries accordingly so
the table reflects the May 2026 current models.
- Around line 157-159: The README's "License" section references a missing
LICENSE file; add a new top-level file named LICENSE containing the full MIT
License text (including year and copyright holder/author placeholder or project
name) so the README link resolves correctly and the repository explicitly
includes the declared license.
- Around line 92-109: The README currently references a non-published package
`@voltagent/mcp-docs-server`; replace it with the correct published package
(either `@voltagent/mcp-server` or `@voltagent/docs-mcp` after confirming which is
intended) and update both the install command and the configuration example
under mcpServers.voltagent (specifically the "command" and "args" entries) to
use the chosen package name; ensure the docs text and examples no longer mention
`@voltagent/mcp-docs-server` so users won't hit an npm 404.
- Around line 62-66: Update the README.md platform matrix to match the actual
Node requirement declared in package.json by changing the Node.js bullet from
"18+" to "20+" (reflect the "node": ">=20" constraint); also correct the
TypeScript line to either remove the "5.0+" claim or replace it with a note that
there is no TypeScript version constraint in package.json (or explicitly state
the intended minimum if you want to enforce one) so the README and the
package.json "node" field are consistent.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f91f35a1-7f01-4343-84f8-0afb205f9de1

📥 Commits

Reviewing files that changed from the base of the PR and between 4c6a6a3 and c0f8a8d.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md
Comment on lines +62 to +66
### What TypeScript/Node.js version is required?

- **Node.js**: 18+ (recommended)
- **TypeScript**: 5.0+
- Works with npm, yarn, pnpm
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify Node and TypeScript version requirements

echo "Checking package.json engines field..."
fd -t f '^package\.json$' | xargs -I {} sh -c 'echo "=== {} ===" && cat {} | jq ".engines // \"No engines field\""'

echo -e "\n\nChecking tsconfig.json target/lib settings..."
fd -t f '^tsconfig.*\.json$' | xargs -I {} sh -c 'echo "=== {} ===" && cat {} | jq ".compilerOptions.target // .compilerOptions.lib // \"No target/lib\""'

Repository: VoltAgent/voltagent

Length of output: 16730


Node.js version requirement in README is incorrect; update to 18+ is not supported.

The root package.json specifies "node": ">=20", but the README documents Node.js 18+ as supported. Update the README to match the actual requirement of Node.js 20+ or raise the minimum supported version. Additionally, verify the TypeScript 5.0+ requirement—no TypeScript version constraint exists in package.json files.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 62 - 66, Update the README.md platform matrix to
match the actual Node requirement declared in package.json by changing the
Node.js bullet from "18+" to "20+" (reflect the "node": ">=20" constraint); also
correct the TypeScript line to either remove the "5.0+" claim or replace it with
a note that there is no TypeScript version constraint in package.json (or
explicitly state the intended minimum if you want to enforce one) so the README
and the package.json "node" field are consistent.

Comment thread README.md
Comment on lines +68 to +76
### What LLM providers are supported?

| Provider | Package | Model Example |
|----------|---------|---------------|
| OpenAI | `@ai-sdk/openai` | `gpt-4o-mini`, `gpt-4o` |
| Anthropic | `@ai-sdk/anthropic` | `claude-sonnet-4-20250514` |
| Google | `@ai-sdk/google` | `gemini-2.0-flash` |
| Azure | `@ai-sdk/azure` | Azure OpenAI deployments |
| Custom | `@ai-sdk/provider` | Custom provider integration |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

What are the current model names and versions for OpenAI GPT-4o series, Anthropic Claude Sonnet 4, and Google Gemini 2.0 as of May 2026?

💡 Result:

As of May 20, 2026, the status of the requested model series is as follows: OpenAI GPT-4o Series The GPT-4o model was officially retired from ChatGPT in February 2026 [1][2]. As of May 2026, OpenAI's flagship model for ChatGPT is GPT-5.5 Instant, which was released in early May 2026 [2][3]. Anthropic Claude Sonnet 4 The Claude Sonnet 4 model (specifically version claude-sonnet-4-20250514) is deprecated and scheduled for retirement on June 15, 2026 [4][5]. The current active model in this series is Claude Sonnet 4.6 (claude-sonnet-4-6), which was released on February 17, 2026 [5][6]. Google Gemini 2.0 The Gemini 2.0 series is largely being superseded by newer generations. Several models in the 2.0 series, including gemini-2.0-flash and gemini-2.0-flash-lite, have been announced for shutdown on June 1, 2026 [7]. Google has moved forward with the Gemini 2.5 and 3.5 series; notably, Gemini 3.5 Flash was released on May 19, 2026 [7][8][9].

Citations:


Update model examples to reflect current versions as of May 2026.

All three model examples in the providers table are outdated or deprecated:

  • Line 72 (gpt-4o-mini, gpt-4o): OpenAI retired the GPT-4o series in February 2026. Use gpt-5.5-instant instead (released May 2026).
  • Line 73 (claude-sonnet-4-20250514): This model is deprecated and scheduled for retirement June 15, 2026. Use claude-sonnet-4-6 instead (released February 2026).
  • Line 74 (gemini-2.0-flash): Google is shutting down Gemini 2.0 models on June 1, 2026. Update to a current Gemini 3.5 series model (e.g., gemini-3.5-flash, released May 2026).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 68 - 76, Update the provider model examples in the
README providers table: replace OpenAI's examples (`gpt-4o-mini`, `gpt-4o`) with
`gpt-5.5-instant`, replace Anthropic's `claude-sonnet-4-20250514` with
`claude-sonnet-4-6`, and replace Google's `gemini-2.0-flash` with
`gemini-3.5-flash`; locate the rows for Provider "OpenAI", "Anthropic", and
"Google" in the table and update the Model Example column entries accordingly so
the table reflects the May 2026 current models.

Comment thread README.md
Comment on lines +92 to +109
### How do I use the MCP Docs Server?

Your agent is now running! To interact with it:

1. Open the Console: Click the [VoltOps LLM Observability Platform](https://console.voltagent.dev) 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.

[![VoltAgent Demo](thumbnail.png)](https://github.com/user-attachments/assets/26340c6a-be34-48a5-9006-e822bf6098a7)

### 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:

```typescript
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,
};
},
});
Install the MCP docs server to teach your LLM how to use VoltAgent:
```bash
npm install @voltagent/mcp-docs-server
```

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

[![expense-approval](thumbnail.png)](https://github.com/user-attachments/assets/3d3ea67b-4ab5-4dc0-932d-cedd92894b18)

1. **Go to the Workflows Page:** After starting your server, go directly to the [Workflows page](https://console.voltagent.dev/workflows).
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:
```json
{
"employeeId": "EMP-123",
"amount": 250,
"category": "office-supplies",
"description": "New laptop mouse and keyboard"
Configure your AI assistant (Claude Desktop, Cursor, Windsurf):
```json
{
"mcpServers": {
"voltagent": {
"command": "npx",
"args": ["-y", "@voltagent/mcp-docs-server"]
}
```
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](https://github.com/VoltAgent/voltagent/tree/main/examples).

- **[Airtable Agent](https://voltagent.dev/examples/guides/airtable-agent)** - React to new records and write updates back into Airtable with VoltOps actions.
- **[Slack Agent](https://voltagent.dev/examples/guides/slack-agent)** - Respond to channel messages and reply via VoltOps Slack actions.
- **[ChatGPT App With VoltAgent](https://voltagent.dev/examples/agents/chatgpt-app)** - Deploy VoltAgent over MCP and connect to ChatGPT Apps.
- **[WhatsApp Order Agent](https://voltagent.dev/examples/agents/whatsapp-ai-agent)** - Build a WhatsApp chatbot that handles food orders through natural conversation. ([Source](https://github.com/VoltAgent/voltagent/tree/main/examples/with-whatsapp))
- **[YouTube to Blog Agent](https://voltagent.dev/examples/agents/youtube-blog-agent)** - Convert YouTube videos into Markdown blog posts using a supervisor agent with MCP tools. ([Source](https://github.com/VoltAgent/voltagent/tree/main/examples/with-youtube-to-blog))
- **[AI Ads Generator Agent](https://voltagent.dev/examples/agents/ai-instagram-ad-agent)** - Generate Instagram ads using BrowserBase Stagehand and Google Gemini AI. ([Source](https://github.com/VoltAgent/voltagent/tree/main/examples/with-ad-creator))
- **[AI Recipe Generator Agent](https://voltagent.dev/examples/agents/recipe-generator)** - Create personalized cooking suggestions based on ingredients and preferences. ([Source](https://github.com/VoltAgent/voltagent/tree/main/examples/with-recipe-generator) | [Video](https://youtu.be/KjV1c6AhlfY))
- **[AI Research Assistant Agent](https://voltagent.dev/examples/agents/research-assistant)** - Multi-agent research workflow for generating comprehensive reports. ([Source](https://github.com/VoltAgent/voltagent/tree/main/examples/with-research-assistant) | [Video](https://youtu.be/j6KAUaoZMy4))

<h2 id="voltops-console">VoltOps Console: LLM Observability - Automation - Deployment</h2>

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](https://console.voltagent.dev/demo)

📖 [VoltOps Documentation](https://voltagent.dev/voltops-llm-observability-docs/)

🚀 [VoltOps Platform](https://voltagent.dev/voltops-llm-observability/)

### Observability & Tracing

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

<img alt="1" src="https://github.com/user-attachments/assets/21c6d05d-f333-4c61-9218-8862d16110fd" />

### Dashboard

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

<img alt="dashboar" src="https://github.com/user-attachments/assets/c88a5543-219e-4cf0-8f41-14a68ca297fb" />

### Logs

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

![VoltOps Logs](https://cdn.voltagent.dev/console/logs.png)

### Memory Management

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

![VoltOps Memory Overview](https://cdn.voltagent.dev/console/memory.png)

### Traces

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

![VoltOps Traces](https://cdn.voltagent.dev/console/traces.png)

### Prompt Builder

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

<img alt="prompts" src="https://github.com/user-attachments/assets/fb6d71eb-8f81-4443-a494-08c33ec9bcc4" />

### Deployment

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

<img alt="deployment" src="https://github.com/user-attachments/assets/e329ab4b-7464-435a-96cc-90214e8a3cfa" />

📖 [VoltOps Deploy Documentation](https://voltagent.dev/docs/deployment/voltops/)

### Triggers & Actions

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

<img width="1277" alt="triggers" src="https://github.com/user-attachments/assets/67e36934-2eb5-4cf1-94f8-3057d805ef65" />

### Monitoring

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

<img alt="monitoring" src="https://github.com/user-attachments/assets/1fd1151f-5ee4-4c7c-8ec7-29874e37c48f" />

### Guardrails

Set up safety boundaries and content filters to ensure agents operate within defined parameters.
}
}
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify the MCP docs server package exists

echo "Checking for `@voltagent/mcp-docs-server` package on npm..."
curl -s https://registry.npmjs.org/@voltagent/mcp-docs-server | jq '.name, .versions | keys | last' 2>/dev/null || echo "Package not found or network error"

Repository: VoltAgent/voltagent

Length of output: 156


🏁 Script executed:

#!/bin/bash
# Try multiple methods to verify package existence

echo "=== Method 1: Direct npm view ==="
npm view `@voltagent/mcp-docs-server` 2>&1 | head -20

echo ""
echo "=== Method 2: npm search for voltagent packages ==="
npm search `@voltagent` --json 2>&1 | jq '.[].name' 2>/dev/null | head -20

echo ""
echo "=== Method 3: Direct registry check with simple curl ==="
curl -s -o /dev/null -w "HTTP Status: %{http_code}\n" https://registry.npmjs.org/@voltagent/mcp-docs-server

Repository: VoltAgent/voltagent

Length of output: 1178


Package @voltagent/mcp-docs-server does not exist on npm.

The package referenced in lines 92-109 is not published to npm and will fail installation with a 404 error. Available alternatives in the @voltagent scope include @voltagent/mcp-server and @voltagent/docs-mcp. Verify which package should be documented and update the installation instructions and configuration example accordingly.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 92 - 109, The README currently references a
non-published package `@voltagent/mcp-docs-server`; replace it with the correct
published package (either `@voltagent/mcp-server` or `@voltagent/docs-mcp` after
confirming which is intended) and update both the install command and the
configuration example under mcpServers.voltagent (specifically the "command" and
"args" entries) to use the chosen package name; ensure the docs text and
examples no longer mention `@voltagent/mcp-docs-server` so users won't hit an npm
404.

Comment thread README.md
Comment on lines +157 to +159
### License

![Contributors](https://contrib.rocks/image?repo=voltagent/voltagent&max=500&columns=20&anon=1)
MIT License – See [LICENSE](LICENSE) for details.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify LICENSE file exists

echo "Checking for LICENSE file..."
ls -la LICENSE* 2>/dev/null || echo "No LICENSE file found"

Repository: VoltAgent/voltagent

Length of output: 114


🏁 Script executed:

find . -type f -iname "*license*" -o -iname "*copying*" -o -iname "*copying*" | head -20

Repository: VoltAgent/voltagent

Length of output: 45


🏁 Script executed:

git ls-files | grep -i license

Repository: VoltAgent/voltagent

Length of output: 45


Add LICENSE file to repository.

The LICENSE file referenced in the README (lines 157-159) does not exist in the repository root. Create a LICENSE file containing the MIT license text to match the README's claim.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 157 - 159, The README's "License" section references
a missing LICENSE file; add a new top-level file named LICENSE containing the
full MIT License text (including year and copyright holder/author placeholder or
project name) so the README link resolves correctly and the repository
explicitly includes the declared license.

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4 issues found across 1 file (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="README.md">

<violation number="1" location="README.md:2">
P1: README unintentionally overwritten: PR claimed to 'add FAQ section' but replaced the entire README, removing ~200 lines of critical onboarding content including quick start guide, code examples, project badges, navigation, VoltOps walkthrough, and contribution guidelines</violation>

<violation number="2" location="README.md:64">
P1: Node.js version requirement is incorrect. The project requires Node.js >=20 (per `package.json` engines field), but this states 18+. Update to `20+` to match the actual requirement.</violation>

<violation number="3" location="README.md:105">
P0: Wrong package name in MCP configuration. Should be `@voltagent/docs-mcp` instead of `@voltagent/mcp-docs-server`.</violation>

<violation number="4" location="README.md:159">
P2: Broken link: the `LICENSE` file referenced here does not exist in the repository root. Either create the LICENSE file or update this reference to point to an existing license source.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread README.md
"mcpServers": {
"voltagent": {
"command": "npx",
"args": ["-y", "@voltagent/mcp-docs-server"]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P0: Wrong package name in MCP configuration. Should be @voltagent/docs-mcp instead of @voltagent/mcp-docs-server.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At README.md, line 105:

<comment>Wrong package name in MCP configuration. Should be `@voltagent/docs-mcp` instead of `@voltagent/mcp-docs-server`.</comment>

<file context>
@@ -1,519 +1,165 @@
+  "mcpServers": {
+    "voltagent": {
+      "command": "npx",
+      "args": ["-y", "@voltagent/mcp-docs-server"]
+    }
+  }
</file context>

Comment thread README.md
<a href="https://voltagent.dev/">
<img width="1500" height="276" alt="voltagent" src="https://github.com/user-attachments/assets/d9ad69bd-b905-42a3-81af-99a0581348c0" />
</a>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: README unintentionally overwritten: PR claimed to 'add FAQ section' but replaced the entire README, removing ~200 lines of critical onboarding content including quick start guide, code examples, project badges, navigation, VoltOps walkthrough, and contribution guidelines

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At README.md, line 2:

<comment>README unintentionally overwritten: PR claimed to 'add FAQ section' but replaced the entire README, removing ~200 lines of critical onboarding content including quick start guide, code examples, project badges, navigation, VoltOps walkthrough, and contribution guidelines</comment>

<file context>
@@ -1,519 +1,165 @@
-[![Twitter Follow](https://img.shields.io/twitter/follow/voltagent_dev?style=social)](https://x.com/voltagent_dev)
-
-</div>
+## ❓ FAQ
 
-<h3 align="center">
</file context>

Comment thread README.md

### What TypeScript/Node.js version is required?

- **Node.js**: 18+ (recommended)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Node.js version requirement is incorrect. The project requires Node.js >=20 (per package.json engines field), but this states 18+. Update to 20+ to match the actual requirement.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At README.md, line 64:

<comment>Node.js version requirement is incorrect. The project requires Node.js >=20 (per `package.json` engines field), but this states 18+. Update to `20+` to match the actual requirement.</comment>

<file context>
@@ -1,519 +1,165 @@
+
+### What TypeScript/Node.js version is required?
+
+- **Node.js**: 18+ (recommended)
+- **TypeScript**: 5.0+
+- Works with npm, yarn, pnpm
</file context>
Suggested change
- **Node.js**: 18+ (recommended)
- **Node.js**: 20+ (required)

Comment thread README.md
### License

![Contributors](https://contrib.rocks/image?repo=voltagent/voltagent&max=500&columns=20&anon=1)
MIT License – See [LICENSE](LICENSE) for details.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Broken link: the LICENSE file referenced here does not exist in the repository root. Either create the LICENSE file or update this reference to point to an existing license source.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At README.md, line 159:

<comment>Broken link: the `LICENSE` file referenced here does not exist in the repository root. Either create the LICENSE file or update this reference to point to an existing license source.</comment>

<file context>
@@ -1,519 +1,165 @@
-- 📧 [Twitter](https://x.com/voltagent_dev)
+### License
 
+MIT License – See [LICENSE](LICENSE) for details.
 
-## License
</file context>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants