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:
{
"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).
{
"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):
mcpServers:
- name: loxily
url: https://mcp.loxily.com/mcp
headers:
Authorization: Bearer lox_mcp_YOUR_TOKENCustom 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:
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):
# 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).