Backlight.ai MCP server

Model Context Protocol endpoint exposing the Backlight.ai portfolio (cases, docs, FAQ, terminology) plus proposal submission to AI agents.

Endpoint

URLhttps://mcp.backlight.ai/mcp/ (note trailing slash)
TransportHTTP streamable (MCP spec 2024-11-05)
AuthNone (public read; rate-limited per IP)
Server nameBacklight.ai

Production: https://mcp.backlight.ai/mcp/. Staging: https://mcp.dev.backlight.ai/mcp/. The URL above is detected from the host you are currently viewing.

Connecting

Easiest path is an official MCP client: Claude Code, Cursor, Codex, or the Anthropic / TypeScript MCP SDKs. They handle the handshake, session-id header, and notification flow for you. Point the client at the URL above.

Required: purpose parameter

Every tool call must include a purpose: string argument: a one-sentence description of the end-user task driving the query. Used by Backlight to improve content for AI agents. Calls without purpose are rejected by the MCP schema.

Tools

search_casesRanked portfolio cases (sector / year filters).
get_caseFull case body by slug.
search_docsFree-text search over site content.
search_faqFAQ lookup.
list_termsGlossary terms.
request_proposalSubmit a proposal request (per-IP rate-limited).

Raw HTTP (curl reference)

For non-SDK integrations. Three-step handshake required:

# 1. Initialize, capture mcp-session-id from response headers
curl -sN -L -X POST https://mcp.backlight.ai/mcp/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -D headers.txt \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize",
       "params":{"protocolVersion":"2024-11-05","capabilities":{},
       "clientInfo":{"name":"my-client","version":"1.0"}}}'

SID=$(grep -i 'mcp-session-id' headers.txt | awk '{print $2}' | tr -d '\r')

# 2. Send initialized notification
curl -sN -X POST https://mcp.backlight.ai/mcp/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H "mcp-session-id: $SID" \
  -d '{"jsonrpc":"2.0","method":"notifications/initialized"}'

# 3. Call a tool (purpose param is required)
curl -sN -X POST https://mcp.backlight.ai/mcp/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H "mcp-session-id: $SID" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"search_cases",
       "arguments":{"query":"transcriptie",
       "purpose":"helping user evaluate Backlight for an audio-transcription project"}}}'

Notes: the /mcp path 307-redirects to /mcp/ (use -L). The Accept header MUST include both application/json and text/event-stream per the MCP streamable HTTP transport spec.

Reference

MCP spec