MADATA / DEV developer docs Français madata.africa

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.

  1. In Claude: Settings → Connectors → Add custom connector.
  2. Fill in the URL only: https://<workspace>.madata.app/mia/mcp. Name: your choice ("Madata").
  3. Leave the OAuth client ID and the key empty: authorization is automatic.
  4. Click Connect: a MADATA window opens. Sign in to your workspace, click Authorize.
  5. 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:

textOpenAPI 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:

pythonminimal client
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.

bashfull session
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":{}}}'