API & agents
Connect Lampwick to your AI agent
Lampwick runs an MCP server at https://app.lampwick.dev/mcp. Add it to Claude Code, Codex, Cursor or another client with a personal token.
On this page
The MCP server at https://app.lampwick.dev/mcp lets an AI agent read your issues, requests, logs and monitors and act on them. Every tool call is an API request with your personal token, so the agent sees what you see.
Requirements
- A personal API token, created under API tokens on Account & security. It starts with
lwp_. - An MCP client that supports the Streamable HTTP transport and a custom
Authorizationheader.
The examples read the token from the LAMPWICK_TOKEN environment variable:
export LAMPWICK_TOKEN=YOUR_LAMPWICK_TOKEN
YOUR_LAMPWICK_TOKEN is your lwp_… token. Where a client can't read environment variables, paste it in place of YOUR_LAMPWICK_TOKEN.
Add Lampwick to your client
Jump to: Claude Code · Codex CLI · Cursor · VS Code · Gemini CLI · Zed · Cline · Claude API · OpenAI and xAI · Other clients
Claude Code
claude mcp add --transport http lampwick https://app.lampwick.dev/mcp --header "Authorization: Bearer $LAMPWICK_TOKEN"
Or share it with your team in the project's .mcp.json, where Claude Code fills in ${LAMPWICK_TOKEN} from each person's environment:
{
"mcpServers": {
"lampwick": {
"type": "http",
"url": "https://app.lampwick.dev/mcp",
"headers": { "Authorization": "Bearer ${LAMPWICK_TOKEN}" }
}
}
}
Codex CLI
In ~/.codex/config.toml:
[mcp_servers.lampwick]
url = "https://app.lampwick.dev/mcp"
bearer_token_env_var = "LAMPWICK_TOKEN"
Cursor
In ~/.cursor/mcp.json:
{
"mcpServers": {
"lampwick": {
"url": "https://app.lampwick.dev/mcp",
"headers": { "Authorization": "Bearer ${env:LAMPWICK_TOKEN}" }
}
}
}
VS Code
In .vscode/mcp.json. VS Code asks for the token once and stores it:
{
"inputs": [
{ "type": "promptString", "id": "lampwick-token", "description": "lampwick API token", "password": true }
],
"servers": {
"lampwick": {
"type": "http",
"url": "https://app.lampwick.dev/mcp",
"headers": { "Authorization": "Bearer ${input:lampwick-token}" }
}
}
}
Gemini CLI
gemini mcp add --transport http --header "Authorization: Bearer $LAMPWICK_TOKEN" lampwick https://app.lampwick.dev/mcp
Zed
In your Zed settings:
{
"context_servers": {
"lampwick": {
"url": "https://app.lampwick.dev/mcp",
"headers": { "Authorization": "Bearer YOUR_LAMPWICK_TOKEN" }
}
}
}
Cline
In Cline's MCP settings:
{
"mcpServers": {
"lampwick": {
"type": "streamableHttp",
"url": "https://app.lampwick.dev/mcp",
"headers": { "Authorization": "Bearer YOUR_LAMPWICK_TOKEN" }
}
}
}
Claude API
With the MCP connector of the Messages API, send the beta header anthropic-beta: mcp-client-2026-09-15 and add to the request:
{
"mcp_servers": [
{ "type": "url", "url": "https://app.lampwick.dev/mcp", "name": "lampwick", "authorization_token": "YOUR_LAMPWICK_TOKEN" }
],
"tools": [
{ "type": "mcp_toolset", "mcp_server_name": "lampwick" }
]
}
OpenAI Responses API and xAI
Add Lampwick as a tool:
{
"type": "mcp",
"server_label": "lampwick",
"server_url": "https://app.lampwick.dev/mcp",
"authorization": "YOUR_LAMPWICK_TOKEN",
"require_approval": "always"
}
For xAI, leave out require_approval.
Other clients
In other clients with a settings screen for MCP servers, add the URL https://app.lampwick.dev/mcp with the header Authorization: Bearer YOUR_LAMPWICK_TOKEN.
Check that it works
Ask your agent "Which Lampwick projects can you see?". It calls listProjects and lists the projects of your teams.
What you can ask
- "Which open issues in Acme Shop were first seen in the last 24 hours?"
- "What are the 10 slowest routes by p95 this week?"
- "Which uptime monitors are down right now?"
- "Which scheduled tasks are failing or missed their last run?"
- "Show the error logs from the last hour that mention timeout, then resolve issue #42."
What the agent can do
- Each API operation is a tool named after its
operationId(listIssues,getIssue,updateIssue, …), with its path, query and body fields as arguments. Validation, access and owner rules are those of the API; an error comes back withisError: true. - Read tools carry
readOnlyHint; deletes androtateProjectTokencarrydestructiveHint, so clients that honor the hints ask before running them. - Not tools: token management, logging out, push devices, team invites, members and roles, and creating, changing or deleting status pages and notices.
- When the client connects, Lampwick tells the agent its conventions: durations in microseconds, the
rangevalues,idversusref, and where to start.
Protocol details
| Topic | Value |
|---|---|
| Endpoint | POST https://app.lampwick.dev/mcp |
| Transport | Streamable HTTP, stateless: no sessions, no server-initiated stream (GET /mcp gives 405) |
| Authentication | Authorization: Bearer lwp_… (a personal token; a dashboard session doesn't count) |
| Protocol versions | 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05 |
| Browsers | A request with a cross-site Origin gets 403 |
| Batches | Up to 50 messages; larger batches get one JSON-RPC error -32600 |
Troubleshooting
| What you see | Cause and fix |
|---|---|
401 or an authorization error | The Authorization header is missing, or the token is wrong, expired or revoked. Create a new token on Account & security. |
405 | The client tried GET /mcp for a stream. Lampwick only takes POST; pick the Streamable HTTP transport. |
| A project is missing | The token only sees the teams of its account. Ask an owner to invite you to the team. |
A tool returns 403 | That action is for team owners. |