Skip to content

Client Setup

Every MCP client stores its config in a different file, but the JSON shape is basically identical (mcpServers map + url + headers). This page collects config snippets for common clients.

Config template

All clients share the same mcp.json body:

json
{
  "mcpServers": {
    "loxily": {
      "url": "https://mcp.loxily.com/mcp",
      "headers": {
        "Authorization": "Bearer lox_mcp_YOUR_TOKEN"
      }
    }
  }
}

Only the config file location and how to trigger reload differ.

Cursor

Config file: ~/.cursor/mcp.json (macOS / Linux) or %USERPROFILE%\.cursor\mcp.json (Windows).

json
{
  "mcpServers": {
    "loxily": {
      "url": "https://mcp.loxily.com/mcp",
      "headers": {
        "Authorization": "Bearer lox_mcp_YOUR_TOKEN"
      }
    }
  }
}

Reload: menu → Cursor → Settings → MCP. The page should show the loxily server with 21 discovered tools. If it shows "0 tools" or a red warning, restart Cursor and try again.

Claude Desktop

Config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Same JSON shape as Cursor — merge under mcpServers.

Reload: fully quit Claude Desktop (macOS: Cmd+Q, not just close the window), then relaunch. Tools appear under the hammer icon in the chat window.

Cline (VSCode extension)

Config file: VSCode command palette → Cline: Open MCP Settings → edit cline_mcp_settings.json.

Same JSON shape; Cline auto-reloads on save — no VSCode restart required.

Continue (VSCode / JetBrains extension)

Config file: ~/.continue/config.yaml (Continue uses YAML instead of JSON, mind the syntax):

yaml
mcpServers:
  - name: loxily
    url: https://mcp.loxily.com/mcp
    headers:
      Authorization: Bearer lox_mcp_YOUR_TOKEN

Custom client / SDK

Loxily MCP conforms to MCP protocol 2025-06-18 · Streamable HTTP transport. Integrate with the official SDKs (@modelcontextprotocol/sdk for TypeScript, mcp for Python):

TypeScript example:

ts
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

const transport = new StreamableHTTPClientTransport(
  new URL('https://mcp.loxily.com/mcp'),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${process.env.LOXILY_MCP_TOKEN}`,
      },
    },
  },
);

const client = new Client({ name: 'my-app', version: '1.0.0' }, { capabilities: {} });
await client.connect(transport);

const { tools } = await client.listTools();
console.log(`Loaded ${tools.length} tools`);

const result = await client.callTool({
  name: 'loxily_list_languages',
  arguments: {},
});
console.log(result.structuredContent);

Raw HTTP (no SDK):

bash
# 1) initialize (obtain session id)
curl -sS -D headers.txt -o init.txt \
  -X POST https://mcp.loxily.com/mcp \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $LOXILY_MCP_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl-client","version":"1.0"}}}'
SESSION=$(grep -i '^mcp-session-id:' headers.txt | awk '{print $2}' | tr -d '\r\n')

# 2) notifications/initialized (finalize handshake)
curl -sS -X POST https://mcp.loxily.com/mcp \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $LOXILY_MCP_TOKEN" \
  -H "Mcp-Session-Id: $SESSION" \
  -d '{"jsonrpc":"2.0","method":"notifications/initialized"}'

# 3) tools/call
curl -sS -X POST https://mcp.loxily.com/mcp \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $LOXILY_MCP_TOKEN" \
  -H "Mcp-Session-Id: $SESSION" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"loxily_list_languages","arguments":{}}}'

Responses arrive as SSE frames: event: message\ndata: <json-rpc>\n\n. For production clients, prefer the MCP SDK — it handles session keepalive, reconnect, progress notifications, etc.

Health check

GET https://mcp.loxily.com/health requires no auth — returns {"status":"ok","revision":"...","base_url":"..."}. Use it for ops monitoring or to diagnose "MCP client can't connect" issues (rule server-side out first).