---
title: Clients
slug: litmus-mcp-server/clients
docTags: 
createdAt: 2026-05-11T21:40:41.565Z
---

There are three ways to talk to the Litmus MCP server:

- **The built-in Web UI** on port `9000`. A browser chat interface bundled with the server. No external MCP client required.
- **External SSE clients** connect to the MCP endpoint on port `8000`. Used by Claude Code, Cursor, VS Code, Windsurf, and any other MCP client that supports remote/SSE servers. Credentials are passed as HTTP headers.
- **External STDIO clients** like Claude Desktop run the server as a child process. Credentials come from environment variables.

Every external SSE client uses the same header set. See [Headers Reference](#) for what each header does.

## Pick a client

| Client                        | Transport     | Config file                                |
| ----------------------------- | ------------- | ------------------------------------------ |
| [Web UI](#)                   | n/a (bundled) | n/a                                        |
| [Claude Code CLI](#)          | SSE           | `~/.claude/mcp.json`                       |
| [Cursor IDE](#)               | SSE           | `~/.cursor/mcp.json` or `.cursor/mcp.json` |
| [VS Code / GitHub Copilot](#) | SSE           | User settings JSON or `.vscode/mcp.json`   |
| [Windsurf](#)                 | SSE           | `~/.codeium/windsurf/mcp_config.json`      |
| [Claude Desktop](#)           | STDIO         | `claude_desktop_config.json`               |

## Common header block

Every SSE client uses some variant of:

```json
"headers": {
  "EDGE_URL": "https://<LITMUSEDGE_IP>",
  "EDGE_API_CLIENT_ID": "<oauth2_client_id>",
  "EDGE_API_CLIENT_SECRET": "<oauth2_client_secret>",
  "NATS_SOURCE": "<LITMUSEDGE_IP>",
  "NATS_PORT": "4222",
  "NATS_USER": "<access_token_username>",
  "NATS_PASSWORD": "<access_token_from_litmusedge>",
  "INFLUX_HOST": "<LITMUSEDGE_IP>",
  "INFLUX_PORT": "8086",
  "INFLUX_DB_NAME": "tsdata",
  "INFLUX_USERNAME": "<datahub_username>",
  "INFLUX_PASSWORD": "<datahub_password>"
}
```

LEM-related headers (`EDGE_MANAGER_URL`, `EDGE_API_TOKEN`, `EDGE_MANAGER_PROJECT_ID`, `EDGE_MANAGER_ADMIN_URL`, `VALIDATE_CERTIFICATE`) are optional and only needed if you intend to call `lem_*` tools.
