---
title: 'Quick Start'
description: 'Follow these steps to get your Open Agent Platform up and running quickly.'
---

<Info>
  **Prerequisites:**
  - [Corepack](https://github.com/nodejs/corepack?tab=readme-ov-file#how-to-install) for building and running the platform locally
  - [LangSmith](https://smith.langchain.com/) Account (free tier is sufficient)
  - [Supabase](https://supabase.com/) Account
  - MCP Server (e.g. [Arcade](https://arcade-ai.com/))
  - An LLM API Key (e.g. [OpenAI](https://platform.openai.com/), [Anthropic](https://console.anthropic.com/), [Google](https://aistudio.google.com/))
</Info>

## 1. Download the Open Agent Platform code

<Steps>
  <Step title="Clone the Repository">
    Clone the [Open Agent Platform Repository](https://github.com/langchain-ai/open-agent-platform) from GitHub
  </Step>
  <Step title="Set Environment Variables">
    <Tip>
      The repository contains a `.env.example` file listing all of the environment variables you need to run the platform.
    </Tip>
    Set the following environment variables:
    ```bash
      NEXT_PUBLIC_BASE_API_URL="http://localhost:3000/api"
      LANGSMITH_API_KEY="lsv2_..."
      # Or whichever LLM's API key you're using
      OPENAI_API_KEY="..."
    ```
  </Step>
</Steps>

## 2. Authentication Setup

Open Agent Platform uses Supabase for authentication by default.

<Steps>
  <Step title="Create a Supabase Project">
    Create a new project in [Supabase](https://supabase.com/).
  </Step>
  <Step title="Configure Environment Variables">
    Set the following environment variables inside the `apps/web/` directory:
    <Tip>
    You can find these Next.js-specific variables in the "Connect" window in the Supabase dashboard, under "App Frameworks"
    </Tip>
    ```bash
    NEXT_PUBLIC_SUPABASE_URL="<your supabase url>"
    NEXT_PUBLIC_SUPABASE_ANON_KEY="<your supabase anon key>"
    ```
  </Step>
  <Step title="Enable Authentication Providers">
    Enable Google authentication in your Supabase project, or set `NEXT_PUBLIC_GOOGLE_AUTH_DISABLED=true` in your environment variables to disable showing Google as an authentication option in the UI.
  </Step>
</Steps>

## 3. Deploying Agents

The next step in setting up Open Agent Platform is to deploy and configure your agents.

<Steps>
  <Step title="Clone Pre-built Agents">
    We've released three pre-built agents specifically for Open Agent Platform:
    - [Tools Agent](https://github.com/langchain-ai/oap-langgraph-tools-agent)
    - [Supervisor Agent](https://github.com/langchain-ai/oap-agent-supervisor)
    - [Deep Research Agent](https://github.com/langchain-ai/oap-deep-researcher)
  </Step>
  <Step title="Follow Agent Setup Instructions">
    For each agent repository:
    1. Clone the repository
    2. Follow the instructions in the README
    3. Deploy the agents to LangGraph Platform, or run `langgraph dev` to run the agents locally. Optionally pass `--port <port>` to use a custom port. This is useful if running multiple graphs locally.
  </Step>
  <Step title="Configure Environment Variables">
    After deployment, create a configuration object for each agent (for the next step):
    ```json
    {
      "id": "The project ID of the deployment",
      "tenantId": "The tenant ID of your LangSmith account",
      "deploymentUrl": "The API URL to your deployment",
      "name": "A custom name for your deployment",
      "isDefault": "Whether this deployment is the default deployment (only one can be default)",
      "defaultGraphId": "The graph ID of the default graph (optional, only required if isDefault is true)"
    }
    ```

    You can find your project & tenant IDs with a GET request to the `/info` endpoint on your LangGraph Platform deployment.

    <Tip>
      If you are running agents locally via `langgraph dev`, the `id` (project ID), and `tenantId` should be any valid UUID version 4, such as those generated by `uuid.uuid4()`. Ensure each graph has a unique `id`, and all graphs share the same `tenantId`.
    </Tip>
  </Step>
  <Step title="Set Environment Variables">
    Combine your agent configurations into a JSON array and set the `NEXT_PUBLIC_DEPLOYMENTS` environment variable inside the `apps/web/` directory:

    ```bash
    NEXT_PUBLIC_DEPLOYMENTS=[{"id":"bf63dc89-1de7-4a65-8336-af9ecda479d6","deploymentUrl":"http://localhost:2024","tenantId":"42d732b3-1324-4226-9fe9-513044dceb58","name":"Local deployment","isDefault":true,"defaultGraphId":"agent"}]
    ```
  </Step>
</Steps>

## 4. RAG Server Setup

<Steps>
  <Step title="Deploy LangConnect">
    Follow the instructions in the [LangConnect README](https://github.com/langchain-ai/langconnect) to set up and deploy a LangConnect RAG server.
  </Step>
  <Step title="Configure Environment Variables">
    Set the RAG server URL inside the `apps/web/` directory:
    ```bash
    NEXT_PUBLIC_RAG_API_URL="http://localhost:8080"
    ```
  </Step>
</Steps>

## 5. MCP Server Setup

<Tip>
  Open Agent Platform only supports connecting to MCP servers which support Streamable HTTP requests.
  If you don't have an MCP server set up yet, you can use [Arcade](https://docs.arcade.dev/home/mcp-desktop-clients/vscode-client)'s public beta MCP server.
</Tip>

<Steps>
  <Step title="Configure MCP Server URL">
    Set your MCP server URL inside the `apps/web/` directory (ensure it does not end with `/mcp`. This will be auto-applied by OAP):
    ```bash
    NEXT_PUBLIC_MCP_SERVER_URL="https://api.arcade.dev/v1/mcps/arcade-anon/"
    ```
  </Step>
  <Step title="Configure Authentication (if required)">
    For authenticated MCP servers:
    ```bash
    NEXT_PUBLIC_MCP_AUTH_REQUIRED=true
    ```
  </Step>
</Steps>

## 6. Run Your Platform

Start the application with your configured environment variables:

```bash
# Navigate to the web app directory
cd apps/web

# Install dependencies
yarn install

# Start the development server
yarn dev
```

Your Open Agent Platform should now be running at http://localhost:3000!
