# Build Production-Ready AI Agents with Dapr

Dapr Agents is an open source Python framework for building durable, observable AI agents and multi-agent systems on Dapr.

Dapr Agents is an open source framework for building AI agents that are durable, observable, and production-ready from day one. Built on Dapr's proven runtime, agents get state persistence, workflow durability, secure tool invocation, and multi-agent coordination out of the box, without writing infrastructure code. Run any LLM, on any cloud, with the reliability teams already trust for microservices.

### Durable by default

Agents built on Dapr Workflow survive crashes, restarts, and infrastructure failures. Every step of an agent's reasoning is checkpointed to state storage, so long-running plans resume exactly where they left off, with no lost context or half-finished actions.

[Read the docs](https://docs.dapr.io/developing-ai/dapr-agents/dapr-agents-core-concepts/)

### Model and tool agnostic

Switch between OpenAI, Anthropic, Google, Azure OpenAI, open source models on Hugging Face, and local models without changing your agent code. Tools are invoked through the Dapr component model, so you can swap implementations in config instead of code.

[Read the docs](https://docs.dapr.io/developing-ai/dapr-agents/dapr-agents-integrations/)

### Multi-agent orchestration

Compose specialist agents into teams using Dapr's pub/sub, workflow, and actor APIs. Message passing, routing, and state sharing between agents are handled by the runtime. You define the roles and tasks, and Dapr handles coordination at scale.

[Read the docs](https://docs.dapr.io/developing-ai/dapr-agents/dapr-agents-patterns/)

### Secure tool invocation and MCP support

Tool calls routed through Dapr service invocation can get mTLS identity, configurable access control, and tracing. Native support for the Model Context Protocol (MCP) lets agents call external tools and data sources through those same controls.

[Read the docs](https://docs.dapr.io/developing-ai/mcp/)

### Dapr MCP server (alpha)

The Dapr MCP server, in alpha, is a standalone binary with its own release cycle. It runs next to a Dapr sidecar and exposes the sidecar's building blocks, such as state, pub/sub, bindings, secrets, service invocation, and actors, as Model Context Protocol tools that any MCP client can call. Authentication is off until you configure it, so turn it on whenever you serve over HTTP to anything other than localhost.

[Read the docs](https://docs.dapr.io/developing-ai/mcp/dapr-mcp-server/)

### Search and vector APIs (alpha)

The alpha search and vector APIs store and query data through one portable API each, so agents and other applications can retrieve context without learning a different SDK for every engine. The search building block indexes and queries JSON documents in full-text search engines. The vector building block stores embeddings that your application generates and runs similarity queries over them, the storage and retrieval layer for patterns such as retrieval-augmented generation (RAG). Dapr 1.19 ships Meilisearch components for both, and you swap engines by changing the component.

[Read the docs](https://docs.dapr.io/developing-applications/building-blocks/vector/vector-overview/)

### Observability from the first request

Agents are instrumented with OpenTelemetry tracing, metrics, and logs automatically. Every prompt, tool call, and state transition is visible in the same dashboards your platform team already uses for microservices.

[Read the docs](https://docs.dapr.io/operations/observability/tracing/tracing-overview/)

### Kubernetes-native, runs anywhere

Deploy agents the same way you deploy Dapr apps: as sidecars in Kubernetes, standalone processes on VMs, or locally on a laptop. Agents carry the same portability guarantees as every other Dapr workload.

[Read the docs](https://docs.dapr.io/operations/hosting/)

[Get started](https://docs.dapr.io/developing-ai/dapr-agents/)

[View on GitHub](https://github.com/dapr/dapr-agents)

