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)

  1. Settings → Connectors → Add custom connector
  2. Name rdsl, URL https://rdsl.io/mcp, leave OAuth fields blank (the server advertises its own) → Add, then Connect and approve the sign-in
  3. In a chat, open the tools menu and enable rdsl

ChatGPT

  1. Settings → Connectors → Advanced → enable Developer mode
  2. Connectors → Create: name rdsl, MCP server URL https://rdsl.io/mcp, authentication OAuth → Create and approve the sign-in
  3. 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

Data disclaimer