list-connector-catalog
List every connector Wexa offers, whether or not this project has configured it, with each one's actions. Needs the fabric:orchestrate.read grant.
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-connector-catalog","arguments":{"search":"duckduckgo"}}}'{
"content": [
{
"type": "text",
"text": "{\"lifecycle_id\":\"qlc_000011\",\"result\":{\"connectors\":[{\"category\":\"duckduckgo\",\"name\":\"DuckDuckGo\",\"connector_type\":\"system\",\"configured\":true,\"provisionable\":true,\"actions\":[{\"action\":\"search\",\"name\":\"Search\"}]}],\"total\":1}}"
}
],
"isError": false
}Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
search | string | Optional | Only connectors whose name, category, description or actions contain this text. |
category | string | Optional | Exactly one connector, by category, e.g. slack. A category that matches nothing is not an error: it returns an empty connectors, total: 0 and a note. |
schemas | boolean | Optional | Include each action's input and output fields (id, label, type, required), read from the action's own models. Use it to work out which action's output can fill another's input. |
forms | boolean | Optional | Include each connector's setup form (ui_form: the fields to fill in), as the console's create page reads it. get-connector-form returns one category's. |
Show full response
An example response, for search set to duckduckgo, in a project that has DuckDuckGo configured.
{
"content": [
{
"type": "text",
"text": "{\"lifecycle_id\":\"qlc_000011\",\"result\":{\"connectors\":[{\"category\":\"duckduckgo\",\"name\":\"DuckDuckGo\",\"description\":\"DuckDuckGo Instant Answer API connector for quick answers like abstracts, related topics, and more.\",\"logo\":null,\"group\":null,\"connector_type\":\"system\",\"needs_credentials\":false,\"configured\":true,\"provisionable\":true,\"actions\":[{\"action\":\"search\",\"name\":\"Search\",\"description\":\"Search DuckDuckGo Instant Answer API and return abstract and related topics.\"}]}],\"total\":1}}"
}
],
"isError": false
}Keeping the lifecycle_id is what lets you ask later why a call was allowed, refused or held.
More details
Response fields
connectors: The connectors, each with the fields below.total: How many connectors came back.note: Present only whencategorymatched nothing. It says to dropcategoryand usesearchinstead.
Each connector has these fields:
category: The connector's key, for exampleduckduckgo. Pass it ascategoryto the other connector tools.name,description: The connector's name and what it does.logo,group: Its logo and the group the console files it under. Either can benull.connector_type:user,systemorexternal.needs_credentials:truewhen the connector has a setup form to fill in. Connect it withconfigure-connector.configured:truewhen this project already has one configured. A placeholder thatrequest-connectorcreated and nobody has configured does not count.provisionable:truewhenprovision-connectorcan connect it without credentials.actions: Each enabled action'saction(its key),nameanddescription. Withschemas, alsoinputsandoutputs: each field'sid,label,type,requiredanddescription.ui_form: Present only withforms: the connector's setup form, ornullwhen it has none.
A connector with no enabled action is not listed.
Each connector comes with its category, its type, whether it needs credentials, whether it is configured in this project, whether provision-connector can connect it without credentials, and the key, name and description of each enabled action. Connectors this project has configured come first, then the rest, each part in name order. A connector with no enabled action is not listed.
list-connectors shows only the connectors someone has set up. This is the other half: use it to design work against a connector nobody has configured yet, or to find the category to pass to get-connector-form and configure-connector.
Every parameter is optional: a bare call answers with the whole catalog.
Only reads, so not marked consequential: it is audited lightly and is never held for approval. It still consumes quota and is still refused by policy like anything else.
Every tool call works the same way: How every tool call works.