Connect an assistant
Claude and Mistral connect over OAuth with the workspace URL alone. ChatGPT and Gemini use a Bearer API key.
01 Claude
No key to paste: Claude connects over OAuth.
- In Claude: Settings → Connectors → Add custom connector.
- Fill in the URL only:
https://<workspace>.madata.app/mia/mcp. Name: your choice ("Madata"). - Leave the OAuth client ID and the key empty: authorization is automatic.
- Click Connect: a MADATA window opens. Sign in to your workspace, click Authorize.
- Claude gets access with your permissions, revocable from the portal.
02 ChatGPT
Create a custom Action in a GPT from the workspace's OpenAPI schema:
https://<workspace>.madata.app/mia/mcp/openapi.json
Under Authentication, choose API Key, type Bearer, and paste an API key (created in My profile → Account security → API keys).
03 Gemini
Call the MCP server directly over JSON-RPC. Python example:
import httpx
MCP_URL = "https://<workspace>.madata.app/mia/mcp"
API_KEY = "mia_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
def mcp_call(method, params=None):
resp = httpx.post(
MCP_URL,
json={"jsonrpc": "2.0", "id": 1, "method": method, "params": params or {}},
headers={"Authorization": f"Bearer {API_KEY}"},
timeout=30,
)
return resp.json().get("result")
tools = mcp_call("tools/list")["tools"]
kpi = mcp_call("tools/call", {"name": "get_kpi", "arguments": {"period": "month"}})
04 Mistral Le Chat
Like Claude, over OAuth: Le Chat → Settings →
Connectors → Add a connector (MCP), then the URL alone
https://<workspace>.madata.app/mia/mcp and
Connect. If your version asks for a key instead of OAuth,
generate one and paste it as Bearer.
05curl / any language
The server is a standard JSON-RPC 2.0 endpoint. Three calls are enough to
get going: initialize, tools/list,
tools/call.
BASE="https://<workspace>.madata.app/mia/mcp"
AUTH="Authorization: Bearer mia_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
curl -s "$BASE" -H "$AUTH" -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2025-06-18","capabilities":{},
"clientInfo":{"name":"cli","version":"1"}}}'
curl -s "$BASE" -H "$AUTH" -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"list_overdue_followups","arguments":{}}}'