> Source: https://wexa.ai/docs/connectors/list-om-catalog

# list-om-catalog

List the data sources Wexa can connect through OpenMetadata: databases, warehouses such as Snowflake, dashboards, messaging systems, pipelines, storage and more. Needs the `fabric:orchestrate.read` grant.

The shape of `result` for `list-om-catalog` is not recorded here: it was not captured against a live deployment. Call it once and read what comes back rather than assuming a shape.

**Search the data sources**

**Wexa MCP server**

```bash
curl -sS -X POST https://fabric.wexa.ai/mcp/$FABRIC_PROJECT_ID \
  -H "authorization: Bearer $FABRIC_API_KEY" \
  -H "Mcp-Session-Id: $MCP_SESSION_ID" \
  -H "content-type: application/json" -H "accept: application/json" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"list-om-catalog","arguments":{"search":"snow"}}}'
```

**REST API**

```bash
curl -sS https://fabric.wexa.ai/v1/list-om-catalog \
  -H "authorization: Bearer $FABRIC_API_KEY" \
  -H "content-type: application/json" \
  -d '{"search":"snow"}'
```

**TypeScript SDK**

```ts
import { Fabric } from '@wexa-fabric/sdk'

const fabric = new Fabric()
const result = await fabric.listOmCatalog({
  search: 'snow'
})
```

**Python SDK**

```python
from wexa import Fabric

fabric = Fabric()
out = fabric.list_om_catalog(
    search="snow",
)
```

## Parameters

| Parameter | Type | Required | Notes |
| --- | --- | --- | --- |
| `search` | string | Optional | Only service types, categories or category labels containing this text, e.g. `snow`. Case does not matter. Must be a string. |

**More details**

**Response fields**

- `categories`: The categories by key (for example `database`, `messaging`). Each has a `label` and `types`, a list of `service_type` values.
- `total`: How many service types came back.
- `note`: Present only when the list is empty, and says why.

These are the cards of the console's Data Sources tab, each category with its service types. Every parameter is optional: a bare call answers with every category. A `search` that matches nothing is not an error: it comes back with empty `categories`, `total: 0` and a `note`.

[`list-connector-catalog`](/docs/connectors/list-connector-catalog) lists connectors that have actions. A data source has none: its data is read into the graph. So it appears here and not there.

Take a `service_type` from the answer to [`get-om-connection-form`](/docs/connectors/get-om-connection-form) for the form, then connect the source with [`configure-connector`](/docs/connectors/configure-connector) and its `om_connection` argument.

Only reads, so not marked consequential: it is audited lightly and is never held for approval. It lists field definitions only, never a saved connection or a secret.

Every tool call works the same way: [How every tool call works](/docs/sdks-and-apis/how-every-tool-call-works).
