list-connectors
List the connectors this project may use. Each comes with its actions, and each action with the JSON Schema of its arguments, so you learn how to call an action and not only that it exists. 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-connectors","arguments":{"connector_id":"6aa0fc7d19a6e73abca9352d"}}}'{
"content": [
{
"type": "text",
"text": "{\"lifecycle_id\":\"qlc_000008\",\"result\":{\"connectors\":[{\"connector_id\":\"6aa0fc7d19a6e73abca9352d\",\"name\":\"DuckDuckGo\",\"category\":\"duckduckgo\",\"status\":\"ready\",\"home_project_id\":\"6aa0fa95a832af2fd9633045\",\"access_scope\":\"organization\",\"actions\":[{\"name\":\"search\",\"title\":\"Search\",\"input_schema\":{\"properties\":{\"query\":{\"description\":\"The search query\",\"title\":\"Query\",\"type\":\"string\"}},\"required\":[\"query\"],\"type\":\"object\"}}]}],\"total\":1}}"
}
],
"isError": false
}Parameters
Every parameter is optional: a bare call works.
| Parameter | Type | Required | Notes |
|---|---|---|---|
connector_id | string | Optional | Return only this connector. Must be a string. |
with_sync | boolean | Optional | Also return each connector's last sync (status, last_sync, actions), as the console lists it. Only a connector with a sync record carries it. Must be a boolean. |
Show full response
Each connector has these fields:
connector_id: the id to pass to other connector tools.name,category: the connector's name and its type, for exampleduckduckgo.home_project_id: the project the connector was provisioned in.access_scope,access_scope_id: the access scope, and the department when the scope isdepartment.actions: the actions you can run. Each has aname, atitle, adescriptionand aninput_schema, which is JSON Schema whose property names are the argument names the action takes.sync: present only withwith_sync, and only for a connector that has a sync record: its last sync, as the console lists it.statusis the sync's status,last_syncwhen it ran, andactionshow many actions the connector has. For example{"status": "synced", "last_sync": "2026-10-10T09:00:00Z", "actions": 7}.
A real response, captured from a live call to list-connectors with connector_id set:
{
"content": [
{
"text": "{\"lifecycle_id\":\"qlc_000009\",\"result\":{\"connectors\":[{\"connector_id\":\"6aa0fc7d19a6e73abca9352d\",\"name\":\"DuckDuckGo\",\"category\":\"duckduckgo\",\"status\":\"ready\",\"description\":\"DuckDuckGo Instant Answer API connector for quick answers like abstracts, related topics, and more.\",\"home_project_id\":\"6aa0fa95a832af2fd9633045\",\"access_scope\":\"organization\",\"actions\":[{\"name\":\"search\",\"title\":\"Search\",\"description\":\"Search DuckDuckGo Instant Answer API and return abstract and related topics.\",\"input_schema\":{\"properties\":{\"no_html\":{\"description\":\"Strip HTML from text\",\"title\":\"Strip HTML\",\"type\":\"boolean\"},\"no_redirect\":{\"description\":\"Disable HTTP redirects\",\"title\":\"No Redirect\",\"type\":\"boolean\"},\"query\":{\"description\":\"The search query\",\"title\":\"Query\",\"type\":\"string\"},\"skip_disambig\":{\"description\":\"Skip disambiguation results\",\"title\":\"Skip Disambiguation\",\"type\":\"boolean\"}},\"required\":[\"query\"],\"type\":\"object\"}}]}],\"total\":1}}",
"type": "text"
}
],
"isError": false
}More details
Which connectors you see is decided by the access scope that was chosen when each connector was provisioned, so two callers in the same project can see different lists:
organization: you see it when your project is in the connector's organization.department: when your project is in the connector's department.project: when your project is the project the connector was provisioned in.individual: when you are the person who provisioned it.
A connector from another organization never appears. A connector that was provisioned before access scopes existed reads as organization. A connector can appear although it was provisioned in a different project: home_project_id tells you which project that was.
Only actions that can run appear. Provisioning a connector creates one skill for each enabled action, and a disabled action has no skill, so it is not listed.
For a connector's whole ingestion picture, call get-connector-ingestion. To run an action you found here, call run-connector-action. For the skill ids an agent uses, call list-skills. For the connectors nobody has set up yet, see list-connector-catalog. Not marked consequential.
Every tool call works the same way: How every tool call works.