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

# Quickstart

> Install the AgentCat SDK in just 1 minute.

import { CodeGroup } from '@/components/code-group'
import { Steps } from '@/components/steps'

## Installation

<Steps>
  <Step title="Install the AgentCat Agent">
    Run the following command to install the open source [AgentCat SDK](https://github.com/mcpcat):

    <CodeGroup>
      ```bash npm theme={null}
      npm i agentcat
      ```

      ```bash yarn theme={null}
      yarn add agentcat
      ```

      ```bash pnpm theme={null}
      pnpm add agentcat
      ```

      ```bash pip theme={null}
      pip install agentcat
      ```

      ```bash poetry theme={null}
      poetry add agentcat
      ```

      ```bash uv theme={null}
      uv add agentcat
      ```

      ```bash go theme={null}
      go get github.com/mcpcat/mcpcat-go-sdk/officialsdk@latest
      ```
    </CodeGroup>
  </Step>

  <Step title="Track your MCP server">
    <CodeGroup>
      ```typescript Typescript theme={null}
      import * as agentcat from "agentcat";

      /*
      Example MCP server
      const mcpServer = new Server({
        name: "my-mcp-server",
        version: "1.0.0"
      });
      mcpServer.tool("my-tool", ...)
      */

      // Call .track() AFTER tool call registering
      agentcat.track(mcpServer, "proj_YOUR_PROJECT_ID")

      ```

      ```python Python theme={null}
      import agentcat

      """
      Example MCP server (community FastMCP also works: from fastmcp import FastMCP)
      server = FastMCP(
        name="my-mcp-server",
        version="1.0.0"
      )
      @server.tool()
      async def my_tool(params):
          pass
      """


      # Call .track() AFTER tool call registering
      agentcat.track(server, "proj_YOUR_PROJECT_ID")
      ```

      ```go Go theme={null}
      import mcpcat "github.com/mcpcat/mcpcat-go-sdk/officialsdk"
      // For mark3labs/mcp-go: import mcpcat "github.com/mcpcat/mcpcat-go-sdk/mcpgo"

      /*
      Example MCP server (official Go MCP SDK)
      s := mcp.NewServer(&mcp.Implementation{
          Name:    "my-mcp-server",
          Version: "1.0.0",
      }, nil)
      mcp.AddTool(s, ...)
      */

      // Call Track() AFTER registering tools
      mcpcat.Track(s, "proj_YOUR_PROJECT_ID", nil)
      ```
    </CodeGroup>

    You can grab your project ID from [AgentCat's dashboard](https://agentcat.com/app/settings/projects/).
  </Step>
</Steps>

## Using without an AgentCat account

You can forward events directly to your observability platform:

<CodeGroup>
  ```typescript TypeScript theme={null}
  agentcat.track(server, null, {
    exporters: {
      otlp: {
        type: "otlp",
        endpoint: "http://localhost:4318/v1/traces"
      }
    }
  })
  ```

  ```python Python theme={null}
  agentcat.track(server, None, agentcat.AgentCatOptions(
    exporters={
      "otlp": {
        "type": "otlp",
        "endpoint": "http://localhost:4318/v1/traces"
      }
    }
  ))
  ```

  ```go Go theme={null}
  mcpcat.Track(s, "", &mcpcat.Options{
      Exporters: map[string]any{
          "otlp": map[string]any{
              "type":     "otlp",
              "endpoint": "http://localhost:4318/v1/traces",
          },
      },
  })
  ```
</CodeGroup>

Learn more about [integration options →](/integrations)

## Next steps

<CardGroup cols={2}>
  <Card title="Identify Users" icon="user" href="/sdk/identifying-users">
    Know which user is behind each session
  </Card>

  <Card title="Debug Mode" icon="bug" href="/sdk/debug-mode">
    Turn on extra logging when things aren't working right
  </Card>

  <Card title="Customize Tool Context" icon="lightbulb" href="/sdk/tool-call-context">
    Control what context AgentCat captures from each tool call
  </Card>

  <Card title="Custom Events" icon="tag" href="/sdk/custom-events">
    Track your own events alongside the ones AgentCat captures
  </Card>
</CardGroup>
