# Lucernel MCP

The authenticated MCP endpoint for Lucernel is https://lucernel.com/mcp/connect. The existing https://lucernel.com/mcp endpoint remains public. Ask the site operator privately for an API key.

## Authentication

Use Authorization: Bearer <key> or x-api-key: <key>. When both headers are present, Authorization takes precedence. Never put the key in the URL. Set MCP_CONNECT_API_KEY securely in your client environment.

Read-only public content. No access to private data, orders or administrative functions. Limit: 60 requests per minute per key. Missing or invalid key: 401 JSON. Rate limit: 429 JSON with Retry-After. Browser OPTIONS preflight does not require a key. Use POST; GET streaming is not supported.

## Tool

- `list_apps`: List public apps.
- `list_articles`: List published articles; optional type and limit.
- `search_content`: Search public apps and articles; query required.
- `analyze_content`: Read structured public content and reading statistics; path required.

## Examples

Streamable HTTP with JSON responses, stateless. Send initialize, notifications/initialized, then tools/list or tools/call. No session ID is needed.

### initialize

```sh
curl -i https://lucernel.com/mcp/connect \
  -H "Authorization: Bearer $MCP_CONNECT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-06-18" \
  -A "OpenAI File Downloader, XaiImageApiFetch/1.0" \
  --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"docs-example","version":"1.0.0"}}}'
```

### notifications/initialized

```sh
curl -i https://lucernel.com/mcp/connect \
  -H "Authorization: Bearer $MCP_CONNECT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-06-18" \
  -A "OpenAI File Downloader, XaiImageApiFetch/1.0" \
  --data '{"jsonrpc":"2.0","method":"notifications/initialized"}'
```

### tools/list

```sh
curl -i https://lucernel.com/mcp/connect \
  -H "Authorization: Bearer $MCP_CONNECT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-06-18" \
  -A "OpenAI File Downloader, XaiImageApiFetch/1.0" \
  --data '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
```

### tools/call

```sh
curl -i https://lucernel.com/mcp/connect \
  -H "Authorization: Bearer $MCP_CONNECT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-06-18" \
  -A "OpenAI File Downloader, XaiImageApiFetch/1.0" \
  --data '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"search_content","arguments":{"query":"focus"}}}'
```
