> ## Documentation Index
> Fetch the complete documentation index at: https://docs.symbolica.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Build agentic applications with the Agentica SDK

# Agentica SDK

The Agentica SDK is a **type-safe** agent framework that lets LLM agents integrate with your code -- functions, classes, live objects, even entire SDKs. Instead of building MCP wrappers or brittle schemas, you **pass references directly**; the framework **enforces your types at runtime**, constrains return types, and manages agent lifecycle. Compose single agentic functions into **multi-agent systems** that feel like **ordinary code** and ship anywhere your stack runs.

## Why use the Agentica SDK?

<CardGroup cols={2}>
  <Card title="Direct SDK Integration" icon="puzzle-piece">
    Pass **real SDK clients** or extract just the methods you need -- **no MCP servers**, **no schema work**. Inject live objects into an agent's scope with bindings and runtime state intact.
  </Card>

  <Card title="Type-Safe Agents" icon="shield-check">
    Function signatures become **runtime contracts**. Python annotations and TypeScript generics drive structured validation, reducing hallucinations and turning agentic workloads into **predictable, testable operations**.
  </Card>

  <Card title="Multi-Agent Orchestration" icon="network-wired">
    Spin up agents on demand, **keep state across calls**, stream output, and compose leader/worker patterns like regular functions. Standard patterns like initialization, closures, and automatic cleanup make **complex systems simple**.
  </Card>

  <Card title="Multi-Language Support" icon="globe">
    Models interact with your codebase in a **consistent, unified way** -- regardless of language or runtime. **Python** and **TypeScript** SDKs available now, with more languages coming soon.
  </Card>
</CardGroup>

## Interact with the Docs

If you have [uv](https://docs.astral.sh/uv/#installation) installed, you can interact with the Agentica SDK docs by chatting with an agent built with the Agentica SDK!

Run `uvx symbolica-agentica` to start chatting with the agent, and ask it questions about the Agentica SDK!

(requires an API key from [here](https://www.symbolica.ai/login))

<Accordion title={<strong>Example session</strong>}>
  ```
  ╭─────────────────────────────────────────────────╮
  │ ▣  Welcome to the Interactive Agentica SDK Docs │
  ╰─────────────────────────────────────────────────╯

  * Using model: anthropic/claude-opus-4.6

  ───────────────────────────────────────────────

  > Introduce yourself

  Hey! I'm an agent created with the Agentica framework.

  Would you like to see me demonstrate any of the following?

  A: Tool use without MCP
  B: Multi agent orchestration
  C: How I have been defined and created with the Agentica SDK?

  or I can answer any questions you may have about the
  Agentica framework.

  > Type your message...
  ```
</Accordion>

## Quick Example

Here's how simple it is to create an agent-backed function:

<CodeGroup>
  ```python Python wrap theme={null}
  from agentica import agentic
  from typing import Literal

  @agentic()
  async def analyze(text: str) -> Literal["positive", "neutral", "negative"]:
      """Analyze sentiment"""
      ...

  result = await analyze("The Agentica SDK is an awesome framework!")
  ```

  ```typescript TypeScript wrap theme={null}
  import { agentic } from '@symbolica/agentica';

  async function analyze(text: string): Promise<"positive" | "neutral" | "negative"> {
      return await agentic('Analyze sentiment', { text });
  }

  const result = await analyze("The Agentica SDK is an awesome framework!");
  ```
</CodeGroup>

## Getting Started

Ready to build your first Agentica SDK agent? Follow our quickstart guide to get up and running in minutes.

<Card title="Quickstart Guide" icon="rocket" href="/quickstart" arrow="true" cta="Get Started">
  **Install the Agentica SDK** and build a complete note-taking assistant with agentic functions and agents. Supports Python and TypeScript.
</Card>

<Info>
  **TypeScript Framework Support**

  <AccordionGroup>
    <Accordion title="Supported Frameworks">
      * Plain TS/JS (Node, Bun, Browser) via `ts-patch`
      * Next.JS
      * React
      * Vite
      * Svelte
      * Webpack
      * Rollup
      * ESBuild
    </Accordion>

    <Accordion title="Quick Setup for Next.js & Vite">
      <Tabs>
        <Tab title="Vite+React">
          After installing the Agentica SDK, create an `.env` file with your API key:

          ```bash theme={null}
          echo 'VITE_AGENTICA_API_KEY=<YOUR_KEY>' >> .env
          ```

          <Warning>
            **Client-side usage**

            Vite requires the `VITE_` prefix to expose variables to client code. Note that this exposes the key to the browser - only do this if your API key is meant for client-side use.
          </Warning>
        </Tab>

        <Tab title="Next.JS">
          After installing the Agentica SDK, create an `.env.local` file with your API key:

          ```bash theme={null}
          echo 'NEXT_PUBLIC_AGENTICA_API_KEY=<YOUR_KEY>' >> .env.local
          ```
        </Tab>

        <Tab title="Plain TS/JS">
          See the [quickstart guide](/quickstart) for full details of setting up a plain TypeScript project with **Bun** (`bun`) or **Node.js** (`pnpm`, `npm`). Without a bundler (such as ESBuild, Rollup, Next.js, etc.) you will need to use the `tspc` (provided by `ts-patch`) command to compile and transform your code.

          Create an `.env` file with your API key:

          ```bash theme={null}
          echo 'AGENTICA_API_KEY=<YOUR_KEY>' >> .env
          ```

          or export it in your shell:

          ```bash theme={null}
          export AGENTICA_API_KEY=<YOUR_KEY>
          ```
        </Tab>
      </Tabs>
    </Accordion>
  </AccordionGroup>
</Info>

### Explore the Documentation

<CardGroup cols={2}>
  <Card title="Core Concepts" icon="lightbulb" href="/concepts/how-it-works">
    **Understand the fundamentals** of how the Agentica SDK works, scope, and when to use agentic functions vs agents.
  </Card>

  <Card title="Guides" icon="book" href="/guides/best-practices">
    **Task-oriented tutorials** for multi-agent systems, error handling, and best practices.
  </Card>

  <Card title="Examples" icon="code" href="/guides/examples">
    **Complete working applications** including Slack bots, data analysis, and research systems.
  </Card>

  <Card title="API Reference" icon="gear" href="/reference">
    **Complete API documentation** for Python and TypeScript with all parameters and types.
  </Card>
</CardGroup>

<br />

<Accordion title="Summary for Coding Assistants">
  Copy the following markdown as context for Cursor, Claude Code, or Copilot:

  <Tabs>
    <Tab title="Python">
      <PythonMarkdown />
    </Tab>

    <Tab title="TypeScript">
      <TypeScriptMarkdown />
    </Tab>
  </Tabs>

  See our [integration guides](/integrations/cursor) for more details.
</Accordion>

<br />

<Note>
  **Need help?** **Contact us** via the button below!
</Note>
