401 challenge; see Authentication.
- Claude Code
- Claude Desktop
- Cursor
- VS Code
- Codex CLI
- Other clients
claude mcp list, then /mcp inside a session.Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Config snippets for Claude Code, Claude Desktop, Cursor, VS Code, Codex CLI, and any other Streamable HTTP MCP client.
401 challenge; see Authentication.
claude mcp add --transport http lofty https://mcp.lofty.com/mcp \
--header "Authorization: Bearer $LOFTY_CUSTOMER_KEY"
claude mcp list, then /mcp inside a session.~/Library/Application Support/Claude/claude_desktop_config.json{
"mcpServers": {
"lofty": {
"type": "http",
"url": "https://mcp.lofty.com/mcp",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}
~/.cursor/mcp.json — or .cursor/mcp.json for one project{
"mcpServers": {
"lofty": {
"url": "https://mcp.lofty.com/mcp",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}
.vscode/mcp.json — prompts for the key{
"inputs": [
{ "id": "lofty-key", "type": "promptString",
"description": "Lofty API key", "password": true }
],
"servers": {
"lofty": {
"type": "http",
"url": "https://mcp.lofty.com/mcp",
"headers": { "Authorization": "Bearer ${input:lofty-key}" }
}
}
}
inputs block makes VS Code prompt for the key and store it in its secret store, so the token never lands in a file you might commit.~/.codex/config.toml[mcp_servers.lofty]
url = "https://mcp.lofty.com/mcp"
bearer_token_env_var = "LOFTY_CUSTOMER_KEY"
https://mcp.lofty.com/mcpAuthorization: Bearer <your key>curl https://mcp.lofty.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer $LOFTY_CUSTOMER_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'