https://app.lucenthq.com/api/mcp and scoped automatically to the
organization that owns the bearer token. There is no way to pass an
orgId argument — your token IS the scope.
Every tool returns a single JSON-stringified payload in a text content
block. The shapes below are what you’ll see once the client parses that
JSON.
list_signals
List signals configured for the organization, with match counts and
last-match timestamps.
Arguments
| Name | Type | Default | Description |
|---|---|---|---|
limit | integer | 50 | Max rows to return. Range 1–200. |
createdAt descending. matchCount is a LEFT JOIN count of
rows in signal_instances; lastMatchAt is the most recent instance
timestamp or null if the signal has never matched.
list_issues
List issues for the organization, optionally filtered by status.
Arguments
| Name | Type | Default | Description |
|---|---|---|---|
limit | integer | 25 | Max rows to return. Range 1–200. |
status | "unresolved" | "ticket_created" | "resolved" | — | Filter by issue status. |
createdAt descending. sessionCount is the number of session
replays that triggered this issue. linearIssueUrl and
linearIssueIdentifier are populated when the issue has been promoted to
a Linear ticket, otherwise null.
get_issue
Fetch a single issue by ID, scoped to the organization.
Arguments
| Name | Type | Description |
|---|---|---|
issueId | string (uuid) — required | The UUID of the issue to fetch. |
isError: true with a “No issue found with id ” message
if the issue doesn’t exist or belongs to a different organization.
Unlike list_issues, get_issue includes stepsToReplicate and
aiVerified — heavier fields that aren’t worth returning in bulk.
list_insights
List the most recent insights (periodic session summaries) for the
organization.
Arguments
| Name | Type | Default | Description |
|---|---|---|---|
limit | integer | 25 | Max rows to return. Range 1–100. |
createdAt descending. Each row covers the window from
intervalStart to intervalEnd and summarizes sessionsCount sessions
that completed in that window. The content field is the structured AI
summary — shape varies by insight type.
Limits and defaults
| Tool | Default limit | Max limit |
|---|---|---|
list_signals | 50 | 200 |
list_issues | 25 | 200 |
list_insights | 25 | 100 |
get_issue | — | — |
status
(for list_issues) or fetch specific records individually.
Scopes
All tokens currently use a singleread:lucent scope — every tool is
available to every token minted from your org. Finer-grained scopes may
come later if tools diverge in sensitivity.
Organization isolation
Every tool call compiles to a SQL query withWHERE org_id = ? where
org_id comes exclusively from the bearer token’s auth context. No
tool accepts an organization argument from the client, and get_issue
compounds the ID check with the org check so an issue UUID from another
organization will never resolve.
If you need access to a different organization, sign in to that
organization in the dashboard and mint a new token there.