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

# MCP Tools Reference

> All 35 tools exposed by the oleander MCP server.

The oleander MCP server exposes your context graph - lake tables, catalogs, pipeline runs, lineage, costs, logs, and traces - to any MCP-compatible agent.

## Endpoint

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

Authenticate with your oleander [API key](https://oleander.dev/app/settings/api-keys) via `Authorization: Bearer`. Most MCP clients handle this automatically after the OAuth flow.

## Example workflow

A typical agent task chains three tools:

```
oleander_list_catalogs        → discover available tables
oleander_query_lake           → SELECT from a table
oleander_get_job_run_lineage  → trace what that run read and wrote
```

The agent calls these in sequence, each result informing the next, without you specifying the order.

***

## Tools

### Identity

| Tool                    | Description                                                                    |
| ----------------------- | ------------------------------------------------------------------------------ |
| `oleander_whoami`       | Returns the authenticated identity and organization resolved by the MCP server |
| `oleander_health_check` | Returns MCP server health and timestamp                                        |

### Lake queries

| Tool                  | Description                                                                                                                                                              |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `oleander_query_lake` | Run a SQL query against the oleander lake (DuckDB). Supports all registered catalogs, Iceberg tables, and telemetry tables. Write operations require `allow_save: true`. |

### Catalogs and tables

| Tool                                | Description                                                                             |
| ----------------------------------- | --------------------------------------------------------------------------------------- |
| `oleander_list_catalogs`            | List all available Iceberg catalogs and their tables                                    |
| `oleander_list_catalog_namespaces`  | List namespaces in a catalog                                                            |
| `oleander_list_catalog_tables`      | List tables in a catalog or namespace                                                   |
| `oleander_read_table_metadata`      | Read Iceberg table metadata - schema, partition specs, snapshots, location              |
| `oleander_read_table_size`          | Compute table size from Iceberg manifests, optionally scoped to a snapshot or partition |
| `oleander_create_catalog_namespace` | Create an Iceberg namespace in a catalog                                                |
| `oleander_create_table`             | Create an Iceberg table with a given schema                                             |
| `oleander_drop_table`               | Drop an Iceberg table                                                                   |
| `oleander_add_table_columns`        | Add columns to an existing Iceberg table                                                |
| `oleander_rename_table_column`      | Rename a column in an Iceberg table                                                     |
| `oleander_drop_table_columns`       | Drop columns from an Iceberg table                                                      |
| `oleander_load_table`               | Load a file into an existing Iceberg table                                              |
| `oleander_upload_and_load_table`    | Upload a file and load it into an Iceberg table in one step                             |

### Spark

| Tool                                  | Description                                                |
| ------------------------------------- | ---------------------------------------------------------- |
| `oleander_list_spark_artifacts`       | List uploaded PySpark scripts and JARs                     |
| `oleander_upload_spark_artifact`      | Upload a PySpark script or JAR as a versioned artifact     |
| `oleander_get_spark_artifact_content` | Fetch the source of a PySpark artifact by name and version |
| `oleander_submit_spark_job`           | Submit a Spark job run for a named artifact                |
| `oleander_abort_spark_job_run`        | Abort a running Spark job                                  |

### Runs and pipelines

| Tool                               | Description                                                                                     |
| ---------------------------------- | ----------------------------------------------------------------------------------------------- |
| `oleander_list_job_runs`           | List recent runs for a job by namespace and name                                                |
| `oleander_get_job_run`             | Get full execution context for a job run - state, timestamps, I/O, datasets, warnings           |
| `oleander_get_job_run_logs`        | Get paginated logs for a job run, with optional text search and severity filter                 |
| `oleander_get_job_run_traces`      | Get paginated OTel trace spans for a job run                                                    |
| `oleander_get_job_run_cost`        | Get cost breakdown for a job run - vCPU-hours, GB-hours, cost per record                        |
| `oleander_list_pipeline_runs`      | List runs for a pipeline with time range and state filters                                      |
| `oleander_get_pipeline_run`        | Get full execution context for a pipeline run across all its job runs                           |
| `oleander_get_pipeline_run_cost`   | Get aggregated cost across all job runs in a pipeline execution                                 |
| `oleander_get_bigquery_table_cost` | Get cost breakdown for a BigQuery table - producing pipelines, query types, full-scan detection |

### Lineage

| Tool                               | Description                                                                                 |
| ---------------------------------- | ------------------------------------------------------------------------------------------- |
| `oleander_list_lineage_run_events` | List raw OpenLineage run events with time range, job, namespace, and state filters          |
| `oleander_get_job_run_lineage`     | Get the lineage graph for a run - inputs, outputs, child runs, downstream consumers, schema |
| `oleander_get_column_lineage`      | Get column-level lineage for a dataset version - upstream sources and downstream dependents |

### Investigations

| Tool                           | Description                                                                           |
| ------------------------------ | ------------------------------------------------------------------------------------- |
| `oleander_list_investigations` | List investigations for your organization                                             |
| `oleander_get_investigation`   | Get the full output of an investigation - telemetry gathered, root cause, remediation |

***

## Editor setup

* [Claude Code](/mcp/claude-code)
* [Cursor](/mcp/cursor)
