# Other clients

Lalabase speaks the open MCP standard over HTTP. Any client that connects a remote MCP server
over HTTP and can send a header of its own will work. The interface differs from client to
client, the details are always the same.

| Setting | Value |
|---|---|
| Transport | HTTP |
| Address | `https://lalabase.com/api/mcp` or `https://lalabase.example.com/api/mcp` |
| Header | `Authorization: Bearer your-token` |

## What the server expects

- **One request per POST.** Every request is a JSON-RPC call by `POST` to `/api/mcp`.
- **No session, no SSE.** The server remembers nothing between two requests. A client that
  speaks only SSE or to a local process does not fit.
- **Always the token.** Without a valid token the server answers `401`.

## Check by hand

You can see whether the address and token work without any client. The first command waits until you
have pasted the token and pressed Enter. That keeps it out of your shell history:

```sh
read -rs LALABASE_TOKEN && export LALABASE_TOKEN
```

Then the call:

```sh
curl -X POST https://lalabase.com/api/mcp \
  -H "Authorization: Bearer $LALABASE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```

The answer lists all tools with their arguments: `project_id` is required for the project tools,
`idempotency_key` is optional for the writing ones.

The guides here refer to Claude Code. If your client answers differently than expected, compare
it with the call above first.
