rdsl
Claude Code
claude mcp add --transport http rdsl https://rdsl.io/mcp
Then /mcp → rdsl → Authenticate. Headless runs: --header "Authorization: Bearer <token>" with a token from your account.
Codex
codex mcp add rdsl --url https://rdsl.io/mcp && codex mcp login rdsl
Or in ~/.codex/config.toml:
[mcp_servers.rdsl]
url = "https://rdsl.io/mcp"
Claude (web and desktop)
- Settings → Connectors → Add custom connector
- Name
rdsl, URLhttps://rdsl.io/mcp, leave OAuth fields blank (the server advertises its own) → Add, then Connect and approve the sign-in - In a chat, open the tools menu and enable rdsl
ChatGPT
- Settings → Connectors → Advanced → enable Developer mode
- Connectors → Create: name
rdsl, MCP server URLhttps://rdsl.io/mcp, authentication OAuth → Create and approve the sign-in - In a chat, pick rdsl under the tools (+) menu
Cursor and other MCP clients
{"mcpServers": {"rdsl": {"url": "https://rdsl.io/mcp"}}}
Clients that only take static headers: add "headers": {"Authorization": "Bearer <token>"} with a token from your account.
Plain HTTP
/v1/context and /v1/pricing are public; everything else takes Authorization: Bearer <token> from your account (valid about an hour).
curl https://rdsl.io/v1/context
curl -H "Authorization: Bearer $TOKEN" 'https://rdsl.io/v1/schema?relation=chicago_data_portal.food_inspections'
curl -H "Authorization: Bearer $TOKEN" -X POST https://rdsl.io/v1/query --data "SELECT results, count() n FROM chicago_data_portal.food_inspections GROUP BY 1 ORDER BY n DESC LIMIT 10"
curl -H "Authorization: Bearer $TOKEN" https://rdsl.io/v1/account