# Agent-Native ## The framework for agentic apps Don't pick between apps or agents. Agent-Native apps are both. ```ts // One action powers every app surface: UI, agent, HTTP, MCP, A2A, and CLI. export default defineAction({ schema: z.object({ emailId: z.string(), body: z.string(), }), run: async ({ emailId, body }) => { await db.insert(replies).values({ emailId, body }); }, }); ``` - **[Actions](https://agent-native.com/docs/actions)**: Define work once. Use it from every app surface: UI, agent, HTTP, MCP, A2A, and CLI. - **[Agent runtime](https://agent-native.com/docs/agent-surfaces)**: Chat, tools, skills, memory, jobs, observability, and handoffs ship together. - **[Backend agnostic](https://agent-native.com/docs/database)**: Plug in any Drizzle-supported SQL database and Nitro-compatible host. - **[Toolkits](https://agent-native.com/docs/agent-native-toolkit)**: Reusable building blocks for collaboration, sharing, settings, teams, and observability. https://github.com/user-attachments/assets/ef51644b-6506-46d8-8083-0af7b7e5b65c ## Try an Agent-Native app Start from a working app and let the agent evolve it. **You can customize everything.**