# Connect your agent to Oleander

Oleander is your agent's home for all your data: an all-in-one data stack that AI agents operate over MCP. Storage is instant, and compute is right-sized: small queries run interactively, heavier jobs go to serverless Spark. This page is written so that an agent (or a human) can complete setup in one pass.

There is one MCP endpoint for everything:

```
https://oleander.dev/mcp
```

Transport is streamable HTTP. Authentication is OAuth: the first time a client connects, a browser window opens to sign in or create an account. No API keys to copy, nothing to install locally.

## Setup by client

### Claude Code

```sh
claude mcp add --transport http oleander https://oleander.dev/mcp
```

Then run `/mcp` inside Claude Code and pick `oleander` to complete the OAuth sign-in.

### Codex

```sh
codex mcp add oleander --url https://oleander.dev/mcp
```

### Cursor

One-click install:

[Add Oleander to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=oleander&config=eyJuYW1lIjoib2xlYW5kZXIiLCJ0cmFuc3BvcnQiOiJzdHJlYW1hYmxlLWh0dHAiLCJ1cmwiOiJodHRwczovL29sZWFuZGVyLmRldi9tY3AifQ==)

Or add to `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "oleander": {
      "url": "https://oleander.dev/mcp"
    }
  }
}
```

### VS Code

One-click install:

[Add Oleander to VS Code](vscode:mcp/install?%7B%22name%22%3A%22oleander%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Foleander.dev%2Fmcp%22%7D)

Or run:

```sh
code --add-mcp '{"name":"oleander","type":"http","url":"https://oleander.dev/mcp"}'
```

### OpenCode

```sh
opencode mcp add oleander --url https://oleander.dev/mcp
```

### Claude Desktop and claude.ai

Add a custom connector in Settings, Connectors, with URL `https://oleander.dev/mcp`.

### Any other MCP client

Use a remote server config with the streamable HTTP transport:

```json
{
  "name": "oleander",
  "transport": "streamable-http",
  "url": "https://oleander.dev/mcp"
}
```

OAuth discovery metadata is served at `https://oleander.dev/.well-known/oauth-protected-resource/mcp`.

## Verify the connection

Call the `identity_get` tool. It returns the signed-in user and organization. `system_health` confirms the platform is reachable.

## First prompts to try

Paste any of these into the connected agent:

- "Upload this CSV to Oleander and tell me what is in it."
- "What tables do I have in Oleander? Summarize each one."
- "Query my data for the top 10 rows by revenue."
- "Create a table for my scraped listings and load this file into it."
- "Save this query and run it every hour."

## What the tools cover

- Data in: `catalogs_files_stage`, `catalogs_tables_load`, `catalogs_tables_create`, plus schema evolution (`catalogs_columns_add`, `catalogs_columns_rename`, `catalogs_columns_drop`)
- Query: `query_run` for read-only interactive SQL (Oleander picks the engine and machine size), `query_submit` for anything that changes data, `spark_sql_submit` and `spark_jobs_submit` for named Spark jobs with explicit compute
- Explore: `catalogs_list`, `catalogs_namespaces_list`, `catalogs_tables_list`, `catalogs_tables_metadata_get`
- Schedule: `saved_queries_create` names a query, `saved_queries_schedules_create` runs it every 15 minutes, hour, or day into a table, and `saved_queries_schedules_list`, `saved_queries_schedules_update`, `saved_queries_schedules_delete`, `saved_queries_schedules_runs_list` manage it
- Understand: lineage (`jobs_lineage_get`, `lineage_columns_get`), run logs and traces, cost per job, pipeline, or table
- Help: `docs_search` and `docs_pages_get` answer questions about Oleander itself

Full documentation lives at [docs.oleander.dev](https://docs.oleander.dev). Pricing is at [oleander.dev/pricing](https://oleander.dev/pricing).
