RxLog Docs
AI Assistance

MCP

Connect external AI tools to RxLog over MCP using a scoped API token.

RxLog exposes an MCP server so external AI tools — such as Claude or other MCP-aware assistants — can reach your workspace data programmatically. The connection is authenticated with an API token, so the outside tool talks to RxLog with exactly the permissions you grant it and nothing more.

How the connection works

You connect a tool by creating an API token with the Access MCP Server permission and pointing the tool's MCP client at RxLog using that token. The tool then authenticates as your workspace on every request, scoped to what the token allows.

API tokens live under Settings → API Tokens.

API Tokens list showing an MCP token with Access MCP Server permission

The list shows each token's name, permissions, expiry, last-used date, and creation date. A token past its expiry shows Expired and stops working — create a new one to restore access.

Tokens are shown only once, when created. If you lose a token you cannot read it back — create a new one and update your tool's configuration.

Creating an MCP token

Click Create Token to open the dialog.

Create API Token dialog with token name, expiration, and permissions

Fill in:

  • Token Name. A descriptive label so you remember what the token is for.
  • Token Expiration. How long the token stays valid. Expired tokens are removed automatically; choose Never Expires only when you must.
  • Token Permissions. What the token can do. For an MCP connection, enable Access MCP server.
Open Settings from the left menu and go to API Tokens.
Click Create Token.
Name the token, set an expiration, and check Access MCP server.
Click Create Token and copy the value — it is shown only once.
Paste the token into your MCP client's configuration to connect it to RxLog.

Follow least privilege: give each token only the permissions its tool needs, prefer a real expiry over Never Expires, rotate tokens regularly, and never put a token in a public repository or client-side code.

Connecting your client

The MCP endpoint is:

https://<your-rxlog-host>/mcp

It speaks MCP over streamable HTTP. Every request must carry the token as a bearer header: Authorization: Bearer <TOKEN>. Replace <your-rxlog-host> with the hostname you use to open the RxLog UI.

Claude Code

claude mcp add --transport http rxlog https://<your-rxlog-host>/mcp \
  --header "Authorization: Bearer <TOKEN>"

Run /mcp inside Claude Code to confirm the server shows as connected. Tools appear as mcp__rxlog__<tool> and the prompts below become slash commands such as /mcp__rxlog__threat_hunt.

To share the connection with a team without sharing the token, add it with --scope project. This writes a .mcp.json next to your code that reads the token from an environment variable:

{
  "mcpServers": {
    "rxlog": {
      "type": "http",
      "url": "https://<your-rxlog-host>/mcp",
      "headers": { "Authorization": "Bearer ${RXLOG_MCP_TOKEN}" }
    }
  }
}

Each person then exports their own RXLOG_MCP_TOKEN.

Claude Desktop, Cursor, and other MCP clients

Add the same server to the client's MCP configuration file:

{
  "mcpServers": {
    "rxlog": {
      "url": "https://<your-rxlog-host>/mcp",
      "headers": { "Authorization": "Bearer <TOKEN>" }
    }
  }
}

Some clients call the transport http or streamable-http; pick whichever your client offers for remote servers.

Verifying the connection

List the available tools directly with curl. A valid token returns a JSON result with the tools below; an expired or unauthorised token returns 401 or 403.

curl -s https://<your-rxlog-host>/mcp \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

What the connection exposes

Everything is scoped to the workspace the token belongs to.

Tools

ToolWhat it does
get_workspace_infoWorkspace overview and resource counts
get_rulesDetection rules: count, list, or details of one rule
get_incidentsSecurity incidents in the workspace
get_integrationsData source integrations and their status
get_agentsCollector agents and their health
clickhouse_schemaLists log tables, or the columns of one table
clickhouse_selectRuns a read-only SQL query against the workspace logs

clickhouse_select accepts SELECT statements only. The assistant is instructed to check the schema first, always add a LIMIT, and add a time filter on large tables.

Prompts

Prompts are ready-made instructions the assistant picks based on your request. You can also invoke one explicitly from clients that expose prompts as commands.

PromptUse it for
log_forensicsLog counts, searches, timelines, source type queries
detection_forensicsTriggered detections, results, severity, MITRE ATT&CK mapping
incident_responseIncident details, status, investigation
rule_analysisRule list, rule effectiveness, which rules fired
integration_healthIntegration status and ingestion problems
threat_huntProactive hunting, IoC search, anomalies
workspace_infoWorkspace overview and plan details
agent_statusWhich collector agents are online and their resources
rxlog_assistantGeneral platform help and anything not covered above

The connection is read-only: no tool creates, changes, or deletes workspace data. Revoking the token under Settings → API Tokens disconnects the client immediately.

On this page