Appearance
Connecting clients
Every client uses the same URL:
text
https://simpledatalogs.com/mcpChat apps sign in with OAuth: you paste the URL and approve. Coding tools and APIs send a personal token in a header. See the overview for the difference.
Menu names change
Chat apps rename their settings pages from time to time. If a step below doesn't match what you see, look for "connectors", "apps" or "MCP" in the app's settings, or its help pages.
Chat apps (OAuth)
Claude
Works in Claude on the web, the desktop app and mobile. Connectors you add on the web or desktop also appear on your phone.
- Open Settings → Connectors and choose Add custom connector.
- Name it
simpledatalogsand pastehttps://simpledatalogs.com/mcpas the URL. Leave the advanced OAuth fields empty. - Choose Add, then Connect.
- On the simpledatalogs page, sign in if asked, pick the organization, and choose Approve.
In a chat, turn the connector on from the tools menu and ask away. On Team and Enterprise plans, an owner may need to add the connector for the organization first.
ChatGPT
Custom connectors live in ChatGPT's developer mode, on the plans that offer it.
- Open Settings → Apps & Connectors and, under Advanced settings, turn on Developer mode.
- Choose Create (a new connector or app).
- Name it
simpledatalogs, pastehttps://simpledatalogs.com/mcpas the URL, and choose OAuth as the authentication. - Create it, then sign in and choose Approve on the simpledatalogs page.
Every tool is marked read-only, so ChatGPT runs them without asking you to confirm each call.
Grok
- Go to grok.com/connectors and add a new custom connector.
- Paste
https://simpledatalogs.com/mcpas the server URL. - Sign in and choose Approve in the pop-up. Allow pop-ups from grok.com if your browser blocks it.
Coding tools (personal token)
First create a token in the dashboard under Settings → MCP and agents → Manage tokens. The Install in your agent dialog then shows each snippet below with your token filled in. The examples here use sdl_mcp_…; replace it with yours.
Keep tokens out of git
A token reads everything you can read. Put it in an environment variable or your tool's user-level config, never in a file you commit.
Claude Code
sh
claude mcp add --transport http simpledatalogs https://simpledatalogs.com/mcp \
--header "Authorization: Bearer sdl_mcp_…"Add --scope user to make it available in every project. Check it with claude mcp list, or /mcp inside a session.
Cursor
Add the server to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
json
{
"mcpServers": {
"simpledatalogs": {
"url": "https://simpledatalogs.com/mcp",
"headers": {
"Authorization": "Bearer sdl_mcp_…"
}
}
}
}VS Code
Add the server to .vscode/mcp.json. VS Code asks for the token once and keeps it out of the file:
json
{
"servers": {
"simpledatalogs": {
"type": "http",
"url": "https://simpledatalogs.com/mcp",
"headers": { "Authorization": "Bearer ${input:sdl-mcp-token}" }
}
},
"inputs": [
{
"type": "promptString",
"id": "sdl-mcp-token",
"description": "simpledatalogs MCP token",
"password": true
}
]
}Codex CLI
Add the server to ~/.codex/config.toml, and put the token in your shell profile:
toml
[mcp_servers.simpledatalogs]
url = "https://simpledatalogs.com/mcp"
bearer_token_env_var = "SDL_MCP_TOKEN"sh
export SDL_MCP_TOKEN=sdl_mcp_…Windsurf
Add the server to ~/.codeium/windsurf/mcp_config.json:
json
{
"mcpServers": {
"simpledatalogs": {
"serverUrl": "https://simpledatalogs.com/mcp",
"headers": { "Authorization": "Bearer sdl_mcp_…" }
}
}
}Any mcp.json client
Most clients that take a remote server with headers use the same shape: VS Code, Windsurf, Zed, Cline and others. The key names differ slightly between them (url or serverUrl, mcpServers or servers), so check your client's docs:
json
{
"mcpServers": {
"simpledatalogs": {
"type": "http",
"url": "https://simpledatalogs.com/mcp",
"headers": { "Authorization": "Bearer sdl_mcp_…" }
}
}
}A client that only speaks stdio can use a bridge such as mcp-remote:
json
{
"mcpServers": {
"simpledatalogs": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://simpledatalogs.com/mcp", "--header", "Authorization:Bearer ${SDL_MCP_TOKEN}"],
"env": { "SDL_MCP_TOKEN": "sdl_mcp_…" }
}
}
}The xAI API
Grok models can call the server through xAI's remote MCP tools. Pass the token in the tool's headers:
sh
curl https://api.x.ai/v1/responses \
-H "Authorization: Bearer $XAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-4.7",
"input": "How many signups did production get in the last 7 days?",
"tools": [{
"type": "mcp",
"server_url": "https://simpledatalogs.com/mcp",
"server_label": "simpledatalogs",
"headers": { "Authorization": "Bearer sdl_mcp_…" }
}]
}'Use whichever Grok model your account has. In xAI's Python SDK, the same header goes in extra_headers.
By hand
The server takes one JSON-RPC message per POST. You can try it with curl:
sh
curl -sS https://simpledatalogs.com/mcp \
-H "Authorization: Bearer sdl_mcp_…" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_environments","arguments":{}}}'Batches (JSON arrays) are refused, and GET and DELETE answer 405: there is no event stream and no session.
When something goes wrong
| You see | Why | Fix |
|---|---|---|
401 | A missing, revoked or mistyped token | Create a new token, or reconnect the app |
403 Origin not allowed. | A browser page on another site called the server | Call it from an agent or a server, not a web page |
429 Too many calls; wait a minute. | Over 60 calls a minute | Wait 60 seconds |
400 Unsupported MCP-Protocol-Version | The client sent a protocol version the server doesn't speak | Update the client |
list_environments is empty | The organization is on Free, which has no MCP | Upgrade to Starter or above |
| A tool answers "No environment with that id" | The id isn't one of yours | Ask the assistant to call list_environments first |
Next steps
- Tools reference: what each tool reads.
- Prompt recipes: questions that work well.