Optional additional authentication data for the connector.













Beta Connectors Endpoints
(beta) Connectors API to create, manage, and call tools on MCP connectors.












Examples
Real world code examples
List all connectors.
GET /v1/connectors
List all your custom connectors with keyset pagination and filters.
200
Successful Response
Playground
Test the endpoints live
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.connectors.list(page_size=100)
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.connectors.list(page_size=100)
# Handle response
print(res)
curl https://api.mistral.ai/v1/connectors \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/connectors \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"items": [
{
"created_at": "2025-10-07T20:56:01.974Z",
"description": "ipsum eiusmod",
"id": "consequat do",
"modified_at": "2025-10-07T20:56:01.974Z",
"name": "reprehenderit ut dolore"
}
],
"pagination": {
"page_size": 87
}
}{
"items": [
{
"created_at": "2025-10-07T20:56:01.974Z",
"description": "ipsum eiusmod",
"id": "consequat do",
"modified_at": "2025-10-07T20:56:01.974Z",
"name": "reprehenderit ut dolore"
}
],
"pagination": {
"page_size": 87
}
}Create a new connector.
POST /v1/connectors
Create a new MCP connector. You can customize its visibility, url and auth type.
description
The description of the connector.
headers
Optional organization-level headers to be sent with the request to the mcp server.
icon_url
The optional url of the icon you want to associate to the connector.
name
The name of the connector. Should be 64 char length maximum, alphanumeric, only underscores/dashes.
server
The url of the MCP server.
system_prompt
Optional system prompt for the connector.
visibility
201
Successful Response
auth_type
created_at
description
id
modified_at
name
server
tools
Playground
Test the endpoints live
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.connectors.create(name="<value>", description="unibody usually despite slushy wherever reward stingy from", server="https://royal-majority.net/")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.connectors.create(name="<value>", description="unibody usually despite slushy wherever reward stingy from", server="https://royal-majority.net/")
# Handle response
print(res)
curl https://api.mistral.ai/v1/connectors \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"description": "ipsum eiusmod",
"name": "consequat do",
"server": "reprehenderit ut dolore"
}'curl https://api.mistral.ai/v1/connectors \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"description": "ipsum eiusmod",
"name": "consequat do",
"server": "reprehenderit ut dolore"
}'201
{
"created_at": "2025-10-07T20:56:01.974Z",
"description": "ipsum eiusmod",
"id": "consequat do",
"modified_at": "2025-10-07T20:56:01.974Z",
"name": "reprehenderit ut dolore"
}{
"created_at": "2025-10-07T20:56:01.974Z",
"description": "ipsum eiusmod",
"id": "consequat do",
"modified_at": "2025-10-07T20:56:01.974Z",
"name": "reprehenderit ut dolore"
}Get the auth URL for a connector.
GET /v1/connectors/{connector_id_or_name}/auth_url
Get the OAuth2 authorization URL for a connector to initiate user authentication.
app_return_url
connector_id_or_name
200
Successful Response
auth_url
ttl
Playground
Test the endpoints live
curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/auth_url \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/auth_url \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"auth_url": "ipsum eiusmod",
"ttl": 87
}{
"auth_url": "ipsum eiusmod",
"ttl": 87
}Call Connector Tool
POST /v1/connectors/{connector_id_or_name}/tools/{tool_name}/call
Call a tool on an MCP connector.
tool_name
credentials_name
connector_id_or_name
Request body for calling an MCP tool.
arguments
200
Successful Response
AdditionalProperties
metadata
Metadata wrapper for MCP tool call responses.
Nests MCP-specific fields under mcp_meta to avoid collisions with other
metadata keys (e.g. tool_call_result) in Harmattan's streaming deltas.
Playground
Test the endpoints live
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.connectors.call_tool(tool_name="<value>", connector_id_or_name="<value>")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.connectors.call_tool(tool_name="<value>", connector_id_or_name="<value>")
# Handle response
print(res)
curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/tools/{tool_name}/call \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{}'curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/tools/{tool_name}/call \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{}'200
{
"content": [
{
"text": "ipsum eiusmod",
"type": "consequat do"
}
]
}{
"content": [
{
"text": "ipsum eiusmod",
"type": "consequat do"
}
]
}List tools for a connector.
GET /v1/connectors/{connector_id_or_name}/tools
List all tools available for an MCP connector.
200
Successful Response
ConnectorTool
MCPTool
Playground
Test the endpoints live
curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/tools \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}/tools \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
[
{
"created_at": "2025-10-07T20:56:01.974Z",
"description": "ipsum eiusmod",
"execution_config": null,
"id": "consequat do",
"modified_at": "2025-10-07T20:56:01.974Z",
"name": "reprehenderit ut dolore",
"visibility": "shared_global"
}
][
{
"created_at": "2025-10-07T20:56:01.974Z",
"description": "ipsum eiusmod",
"execution_config": null,
"id": "consequat do",
"modified_at": "2025-10-07T20:56:01.974Z",
"name": "reprehenderit ut dolore",
"visibility": "shared_global"
}
]Get a connector.
GET /v1/connectors/{connector_id_or_name}#idOrName
Get a connector by its ID or name.
fetch_customer_data
Fetch the customer data associated with the connector (e.g. customer secrets / config).
fetch_connection_secrets
Fetch the general connection secrets associated with the connector.
connector_id_or_name
200
Successful Response
auth_type
created_at
description
id
modified_at
name
server
tools
Playground
Test the endpoints live
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.connectors.get(connector_id_or_name="<value>", fetch_customer_data=False, fetch_connection_secrets=False)
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.connectors.get(connector_id_or_name="<value>", fetch_customer_data=False, fetch_connection_secrets=False)
# Handle response
print(res)
curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}#idOrName \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/connectors/{connector_id_or_name}#idOrName \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"created_at": "2025-10-07T20:56:01.974Z",
"description": "ipsum eiusmod",
"id": "consequat do",
"modified_at": "2025-10-07T20:56:01.974Z",
"name": "reprehenderit ut dolore"
}{
"created_at": "2025-10-07T20:56:01.974Z",
"description": "ipsum eiusmod",
"id": "consequat do",
"modified_at": "2025-10-07T20:56:01.974Z",
"name": "reprehenderit ut dolore"
}Delete a connector.
DELETE /v1/connectors/{connector_id}#id
Delete a connector by its ID.
connector_id
200
Successful Response
message
Playground
Test the endpoints live
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.connectors.delete(connector_id="5c3269fe-6a18-4216-b1fb-b093005874cd")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.connectors.delete(connector_id="5c3269fe-6a18-4216-b1fb-b093005874cd")
# Handle response
print(res)
curl https://api.mistral.ai/v1/connectors/{connector_id}#id \
-X DELETE \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'curl https://api.mistral.ai/v1/connectors/{connector_id}#id \
-X DELETE \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'200
{
"message": "ipsum eiusmod"
}{
"message": "ipsum eiusmod"
}Update a connector.
PATCH /v1/connectors/{connector_id}#id
Update a connector by its ID.
connector_id
connection_config
Optional new connection config.
connection_secrets
Optional new connection secrets
description
The description of the connector.
headers
New headers for your mcp connector.
icon_url
The optional url of the icon you want to associate to the connector.
name
The name of the connector.
server
New server url for your mcp connector.
system_prompt
Optional system prompt for the connector.
200
Successful Response
auth_type
created_at
description
id
modified_at
name
server
tools
Playground
Test the endpoints live
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.connectors.update(connector_id="81d30634-113f-4dce-a89e-7786be2d8693")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.connectors.update(connector_id="81d30634-113f-4dce-a89e-7786be2d8693")
# Handle response
print(res)
curl https://api.mistral.ai/v1/connectors/{connector_id}#id \
-X PATCH \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{}'curl https://api.mistral.ai/v1/connectors/{connector_id}#id \
-X PATCH \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{}'200
{
"created_at": "2025-10-07T20:56:01.974Z",
"description": "ipsum eiusmod",
"id": "consequat do",
"modified_at": "2025-10-07T20:56:01.974Z",
"name": "reprehenderit ut dolore"
}{
"created_at": "2025-10-07T20:56:01.974Z",
"description": "ipsum eiusmod",
"id": "consequat do",
"modified_at": "2025-10-07T20:56:01.974Z",
"name": "reprehenderit ut dolore"
}