io.github.setluca/luca-mcp
NPM · @SETLUCA/MCP · 2 COMPONENTS
SetLuca DM sales from any MCP client: 208 API tools and 15 task tools for leads, replies, calls.
Available components
Last scanned (13 hours ago)
Scores higher than 93% of npm servers
Category CRM and Sales
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 0 of 4 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to setluca/luca-mcp). View diagnostics → Pass
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 11 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability75
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 39879 tokens (~176/item across 226 items; 223 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management62
- Stability check failed: the tool surface changed between 0.2.1 and 0.6.0: 73 tool removals, 3 breaking changes, 98 additions. See how to fix → Fail
Tool Coverage92
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 74% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety98
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 13 of 14 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "luca_conversations_send_status" implies "send" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 225 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Oct 26 +26
- Malware scan: unverified → pass ▲ security
- Known CVEs: unverified → pass ▲ security
- Dependency health: unverified → 1.00 ▲ functional
- 24 Oct 26 −12
- Known CVEs: pass → unverified ▼ security
- Malware scan: unverified → pass ▲ security
- Dependency health: 1.00 → unverified ▼ functional
- Package version: 0.5.2 → 0.6.0 functional
- 23 Oct 26 −4
- Malware scan: pass → unverified ▼ security
- Known CVEs: unverified → pass ▲ security
- Dependency health: unverified → 1.00 ▲ functional
- Package version: 0.5.1 → 0.5.2 functional
- 22 Oct 26 −6
- Known CVEs: pass → unverified ▼ security
- Stability: fail → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Source repository: fail → pass ▲ security
- Schema quality: 35121 → 39994 ▼ functional
- Schema quality: 35121 → 40034 ▼ functional
- Dependency health: 1.00 → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Destructive annotations: 13 of 14 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "luca_conversations_send_status" implies "send" and declares readOnlyHint instead, contradicting what its own name says it does. functional
- Package version: 0.4.0 → 0.5.1 functional
- Package version: 0.4.0 → 0.5.0 functional
- 19 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 60 to 63.
- 17 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 56.
- 15 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 46 to 50.
- 14 Oct 26 +37
- Stability: unverified → fail ▼ security
- Injection markers: unverified → pass ▲ security
- Judged manipulation: unverified → pass ▲ security
- Schema quality: 151 → 170 ▼ functional
- Tool coverage: 92% → 100% ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Package version: 0.2.1 → 0.4.0 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed npm/@setluca/mcp@0.6.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | setluca/luca-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/setluca/luca-mcp/.github/workflows/publish-mcp.yml@refs/tags/mcp-v0.6.0 |
| Rekor log index | 3437389699 |
| Predicate type | SLSA build provenance https://slsa.dev/provenance/v1 |
| Subject digest | sha512:8a88197a6a88d369331b3b23d0112097d6bd678e1a3823ca7a6158f079d41f81855c75cd0439b19d785eee85d3c80035ec73726dbd8d26231deecbc50 |
Background: How many MCP packages publish verified provenance →
Dependencies 4 packages
| Packages resolved | 4 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
luca_integrations_events_list List integration events ~148
List integration event log. Luca operation: GET /api/integrations/events Required scopes: integrations:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| maxPages | integer | – | Max pages the server auto-fetches and merges (default 10, hard cap 50). If more remain, the result is marked truncated with a nextCursor to continue. |
| query | object | – | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_knowledge_reject_suggestion Reject a knowledge suggestion ~170
Reject a profile suggestion so it stops being offered. The profile is left as it stands. Luca operation: POST /api/knowledge/suggestions/{id}/reject Required scopes: knowledge:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_knowledge_sources_disconnect Disconnect a knowledge source ~176
Delete a knowledge source. Its pending suggestions go with it; values the coach already approved stay in the profile, because approving copies them there. Luca operation: DELETE /api/knowledge/sources/{id} Required scopes: knowledge:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_knowledge_sources_list List knowledge sources ~139
List the content sources the coach has connected — Notion, Google Docs, a website, an Instagram bio — with the sync state of each one. Connecting a new source is app-only; this lists what is already there. Luca operation: GET /api/knowledge/sources Required scopes: knowledge:read Required OAuth scope: luca:read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_knowledge_sources_sync Re-sync a knowledge source ~188
Queue a re-read of one knowledge source now rather than waiting for its next scheduled sync. It returns as soon as the job is queued, so any new suggestions appear on a later read. Luca operation: POST /api/knowledge/sources/{id}/sync Required scopes: knowledge:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_knowledge_suggestions List knowledge suggestions ~163
List profile changes proposed from the coach's own knowledge sources, each with the excerpt it was drawn from and the value it would replace. Approving one is app-only, so a person checks each change before it reaches the profile; this lists them and luca_knowledge_reject_suggestion turns one down. Luca operation: GET /api/knowledge/suggestions Required scopes: knowledge:read Required OAuth scope: luca:read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| query | object | – | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_leads_consents_grant Record a lead's consent ~268
Grant explicit lead consent for a channel purpose. Luca operation: POST /api/leads/{id}/consents Required scopes: leads:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Destructive: has a real-world side effect. You must pass confirm: true; the call is rejected without it. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | – |
| confirm | boolean | – | This tool has a real-world side effect: it messages real leads, books, moves, or cancels a call, changes a lead's consent, imports leads, writes to a connected calendar or CRM, sends workspace events… |
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
luca_leads_consents_revoke Revoke a lead's consent ~169
Revoke explicit lead consent for a channel purpose. Luca operation: POST /api/leads/{id}/consents/revoke Required scopes: leads:write Required OAuth scope: luca:draft; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | – |
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
luca_leads_create Create or upsert a lead ~158
Create or upsert a lead identity. Body requires channel and externalUserId. Luca operation: POST /api/leads Required scopes: leads:write Required OAuth scope: luca:draft; data sensitivity: full_content Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_leads_draft Draft a reply to a lead ~216
Draft a reply for a lead, written the way the coach writes, and put it in the review queue for the coach to approve. Drafting again replaces this lead's earlier unapproved draft from this tool. It never sends, whatever the channel's auto-send setting. Optional guidance steers tone or content. Luca operation: POST /api/leads/{id}/draft Required scopes: leads:write Required OAuth scope: luca:draft; data sensitivity: full_content Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | – | – |
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_leads_drafting_pause Pause Luca for a lead ~238
Stop Luca drafting replies, running follow-up cadences, and sending campaign messages to one lead, for 1h, 24h, 7d, 30d, or until resumed. A draft in flight stops at its next step. Opt-outs and crisis messages are still handled. Pausing again replaces the earlier pause. A timed pause resumes the lead by itself when it ends. Luca operation: POST /api/leads/{id}/drafting/pause Required scopes: leads:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | – |
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_leads_drafting_resume Resume Luca for a lead ~318
Clear a lead's pause and have Luca draft one reply over each conversation's unanswered messages. With auto-send on for the channel, that reply can send without review. A conversation is skipped when the coach already replied or the messaging window closed, and skippedReason says why nothing restarted. Resuming a lead that isn't paused succeeds. Luca operation: POST /api/leads/{id}/drafting/resume Required scopes: leads:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Destructive: has a real-world side effect. You must pass confirm: true; the call is rejected without it. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | This tool has a real-world side effect: it messages real leads, books, moves, or cancels a call, changes a lead's consent, imports leads, writes to a connected calendar or CRM, sends workspace events… |
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_leads_explain Explain why a lead qualified ~126
Explain why a lead qualified: the qualifier's reasoning, signals, and confidence from its most recent drafted turn. Luca operation: GET /api/leads/{id}/explain Required scopes: leads:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | – | yes | – |
No examples provided.
luca_leads_field_definitions_list List custom lead fields ~104
List custom lead field definitions. Luca operation: GET /api/leads/field-definitions Required scopes: leads:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | – | yes | – |
No examples provided.
luca_leads_field_definitions_upsert Define a custom lead field ~159
Create or update a custom lead field definition. Luca operation: POST /api/leads/field-definitions Required scopes: leads:write Required OAuth scope: luca:draft; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
luca_leads_get Get a lead's timeline ~109
Get a lead's full timeline and notes. Luca operation: GET /api/leads/{id} Required scopes: leads:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_leads_identities_attach Attach a channel identity to a lead ~166
Attach a verified or claimed identity to a lead. Luca operation: POST /api/leads/{id}/identities Required scopes: leads:write Required OAuth scope: luca:draft; data sensitivity: full_content Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | – |
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | – | yes | – |
No examples provided.
luca_leads_import_apply Apply a lead import ~258
Apply a mapped lead import with consent evidence. Luca operation: POST /api/leads/imports/apply Required scopes: leads:write Required OAuth scope: luca:queue_ops; data sensitivity: full_content Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Destructive: has a real-world side effect. You must pass confirm: true; the call is rejected without it. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | – |
| confirm | boolean | – | This tool has a real-world side effect: it messages real leads, books, moves, or cancels a call, changes a lead's consent, imports leads, writes to a connected calendar or CRM, sends workspace events… |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | – | yes | – |
No examples provided.
luca_leads_import_preview Preview a lead import ~113
Preview a mapped CSV lead import before applying it. Luca operation: POST /api/leads/imports/preview Required scopes: leads:read Required OAuth scope: luca:draft; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | – | yes | – |
No examples provided.
luca_leads_list List leads ~159
List leads. Query supports limit, cursor, channel, and q according to Luca OpenAPI. Luca operation: GET /api/leads Required scopes: leads:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| maxPages | integer | – | Max pages the server auto-fetches and merges (default 10, hard cap 50). If more remain, the result is marked truncated with a nextCursor to continue. |
| query | object | – | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_leads_notes_add Add a note to a lead ~166
Append a coach note to a lead. Body requires body. Luca operation: POST /api/leads/{id}/notes Required scopes: leads:write Required OAuth scope: luca:draft; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | – |
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_leads_notes_delete Delete a lead note ~186
Remove one coach note from a lead and leave the rest of the timeline alone. This is how a note filed by mistake gets taken back. Luca operation: DELETE /api/leads/{id}/notes/{noteId} Required scopes: leads:write Required OAuth scope: luca:draft; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| noteId | string | yes | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_leads_update Update a lead ~174
Update a lead's display name, stage, tags, or custom fields. Tags are replaced as a whole list. Luca operation: PATCH /api/leads/{id} Required scopes: leads:write Required OAuth scope: luca:draft; data sensitivity: full_content Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | – |
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_learning_ab_tests_get Get an A/B test ~149
Read one A/B test with its per-variant numbers: how many leads each arm saw, and how each is doing against the success metric. Small samples swing widely, so say how many leads each arm has before calling a winner. Luca operation: GET /api/ab-tests/{id} Required scopes: learning:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_learning_ab_tests_list List A/B tests ~149
List the coach's A/B tests, newest first, optionally filtered by status. Variant config comes back as stored, since its shape depends on what the test compares. Creating, starting, stopping, and adopting a test stay in the Luca app. Luca operation: GET /api/ab-tests Required scopes: learning:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| query | object | – | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_learning_framework_performance Read framework objection performance ~141
Win rate by objection bucket for the sales framework the coach has configured right now, over a rolling window. These numbers are correlational — read them as a signal, not as proof a framework caused the result. Luca operation: GET /api/framework-performance Required scopes: learning:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| query | object | – | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_learning_panel Read what Luca wants to learn ~131
Read which of the three profile questions Luca still owes an answer to, with suggested answers inferred from the coach's own words. The worked example pair is blanked for a redacted-tier key. Luca operation: GET /api/teach-luca Required scopes: learning:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_learning_proposals_dismiss Dismiss a learning proposal ~183
Dismiss one learning proposal so it drops out of the default list. Use it when the coach has decided against the change, not when you have simply read it. Luca operation: POST /api/learning-proposals/{id}/dismiss Required scopes: learning:write Required OAuth scope: luca:draft; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_learning_proposals_list List learning proposals ~132
List what the coach's tests have learned and are proposing they act on, newest first. Dismissed proposals are left out unless you ask for them. Luca operation: GET /api/learning-proposals Required scopes: learning:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| query | object | – | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_memory_list List what Luca remembers ~148
List what Luca remembers, filtered by lead, scope, source, trust level, or free text. The fact, the reasoning, and the quoted evidence are blanked for a redacted-tier key; trust level, lead, and dates always come back. Luca operation: GET /api/memory Required scopes: memory:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| query | object | – | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_memory_set_archived Archive or restore memories ~174
Archive or restore several memories at once. Archiving stops Luca using a fact while the record and its provenance survive, so it is always reversible. Luca operation: POST /api/memory/bulk Required scopes: memory:write Required OAuth scope: luca:draft; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_memory_update Edit a memory ~183
Correct one memory: edit the fact, flag it disputed when it turns out to be wrong, restore an archived one, or make it win over a conflicting memory. Luca operation: PATCH /api/memory/{id} Required scopes: memory:write Required OAuth scope: luca:draft; data sensitivity: full_content Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | – | – |
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_morning_report Get the morning digest ~84
Return the coach's structured last-24h review-queue digest: queued drafts with status and confidence, plus counts by status. No model call — summarize it client-side. Example: call with {} at the start of the day.
| Name | Type | Req | Description |
|---|---|---|---|
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_pause_cadence Pause a lead's rescue cadence ~130
Cancel a lead's running rescue cadence so no further touches are sent. Safe to call twice (a no-op once cancelled). Example: call with { leadId, reason: "lead replied elsewhere" }.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | – | Reuse the same key when retrying this exact pause. |
| leadId | string | yes | The lead whose cadence to pause. |
| reason | string | – | Optional operator reason, stored on the cadence. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_post_call_queue List the post-call work ~120
Return everything waiting on the coach after a call: calls that still need a report on how they went, and attended calls with no revenue outcome recorded. The two halves are tracked separately by the API, so a call can sit on one list and not the other. An item leaves the list once the coach reports how the call went and what it was worth. Example: call with {} after a day of calls.
| Name | Type | Req | Description |
|---|---|---|---|
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_reports_morning Read the morning report ~118
Structured 24h review-queue digest (items + counts) for the coach. No model call; summarize client-side. Luca operation: GET /api/reports/morning Required scopes: reports:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_reports_scorecard Read the scorecard ~122
Read the sales scorecard for a window: calls booked and completed, show rate, won and lost, draft approvals, and hours saved. Luca operation: GET /api/reports/scorecard Required scopes: reports:read Required OAuth scope: luca:read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_reschedule_call Move a call to a new time ~564
Move a booked call to a new time and hand back a fresh reschedule link for the lead. Checks the new slot is open first, against the schedule of its booking type when it has one, and returns the open slots instead of moving the call when it is taken. A call with an idempotencyKey skips that check so a retry gets the original result back. A manual booking moves in SetLuca only. A Cal.com or Google Calendar booking moves on that calendar too, but only once the provider confirms: until then the booking's operation.state reads pending_provider and it keeps its old time, so read the booking again before telling the coach the call moved. A Calendly, GoHighLevel or iClosed booking is refused so the coach can move it with the provider, and so is a provider booking with no calendar event, such as one recorded with luca_bookings_create. Moving the call re-arms the lead's reminder for the new time, so pass confirm: true only after the coach approves the move. Example: call with { bookingId, slotAt: "2026-07-16T15:00:00Z", confirm: true } after the lead asked to push the call. SetLuca sends the lead no DM about the move, but a Google Calendar booking's calendar emails the lead the updated invite, and Cal.com may too. Send the lead the link yourself, or draft the message through the review queue.
| Name | Type | Req | Description |
|---|---|---|---|
| bookingId | string | yes | The booking to move. |
| confirm | boolean | – | This tool has a real-world side effect: it messages real leads, books, moves, or cancels a call, changes a lead's consent, imports leads, writes to a connected calendar or CRM, sends workspace events… |
| expiresInHours | integer | – | How long the new reschedule link stays usable. Defaults to 168 hours. |
| idempotencyKey | string | – | Reuse the same key when retrying this exact reschedule. A keyed call skips the availability check and lets the API replay the first result. |
| provider | string | – | The coach's booking provider. Used only for the availability check, and only when the booking has no booking type. The booking keeps the provider it already has. Pass it when the coach is not on Cale… |
| slotAt | string | yes | ISO-8601 start time to move the call to, with an offset. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | – | yes | – |
No examples provided.
luca_rescue_silent_leads Enroll silent leads into the rescue cadence ~243
Enroll one or more silent leads into the multi-day rescue cadence. THIS STARTS OUTBOUND TOUCHES to real leads over the coming days — pass confirm: true to proceed. cadenceTemplate is light | standard | aggressive (default standard). Example: { leadIds: ["..."], cadenceTemplate: "standard", confirm: true }.
| Name | Type | Req | Description |
|---|---|---|---|
| cadenceTemplate | string | – | Cadence intensity (default standard). |
| confirm | boolean | – | This tool has a real-world side effect: it messages real leads, books, moves, or cancels a call, changes a lead's consent, imports leads, writes to a connected calendar or CRM, sends workspace events… |
| idempotencyKey | string | – | Reuse the same key when retrying this exact enrollment. |
| leadIds | array | yes | Lead ids to enroll (max 100). Non-tenant ids are skipped. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_review_queue_approve Approve and send a queued draft ~280
Approve a pending draft for sending; dispatches through the lead's channel. Sends a real message. Luca operation: POST /api/review-queue/{id}/approve Required scopes: review_queue:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Destructive: has a real-world side effect. You must pass confirm: true; the call is rejected without it. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | – | – |
| confirm | boolean | – | This tool has a real-world side effect: it messages real leads, books, moves, or cancels a call, changes a lead's consent, imports leads, writes to a connected calendar or CRM, sends workspace events… |
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_review_queue_bulk_approve Approve and send several drafts ~293
Approve several pending drafts as they stand and send each one through its lead's channel. Returns one outcome per id; a draft already handled or not in the queue is skipped. Sends real messages. Luca operation: POST /api/review-queue/bulk-approve Required scopes: review_queue:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Destructive: has a real-world side effect. You must pass confirm: true; the call is rejected without it. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | – |
| confirm | boolean | – | This tool has a real-world side effect: it messages real leads, books, moves, or cancels a call, changes a lead's consent, imports leads, writes to a connected calendar or CRM, sends workspace events… |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_review_queue_bulk_reject Reject several drafts ~185
Reject several pending drafts so none of them sends, with no reason recorded. Returns one outcome per id; a draft already handled or not in the queue is skipped. Luca operation: POST /api/review-queue/bulk-reject Required scopes: review_queue:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_review_queue_changes Read review queue changes ~143
Read which drafts entered and left the pending queue since the version an earlier call returned, with the pending and drafting counts. reload: true means that version is too old, so list the queue again. Luca operation: GET /api/review-queue/changes Required scopes: review_queue:read Required OAuth scope: luca:read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| query | object | – | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
luca_review_queue_drafting List drafts in progress ~147
List the inbound turns Luca is still writing a reply for, with each one's state, a preview of the lead's message, and how many restarts are left. Cancelled, paused, and failed turns stay on the list for 24 hours. Luca operation: GET /api/review-queue/drafting Required scopes: review_queue:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_review_queue_drafting_cancel Cancel a draft in progress ~206
Stop the reply Luca is writing for one inbound turn. A queued draft that is still pending is taken back; an approved or sent one is not. The turn stays on the drafting list for 24 hours so it can be retried or dismissed. Luca operation: POST /api/review-queue/drafting/{turnId}/cancel Required scopes: review_queue:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| turnId | string | yes | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_review_queue_drafting_dismiss Dismiss a stopped draft ~180
Remove a cancelled, paused, or failed turn from the drafting list without drafting again. Dismissing twice succeeds. Luca operation: POST /api/review-queue/drafting/{turnId}/dismiss Required scopes: review_queue:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| turnId | string | yes | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
luca_review_queue_drafting_retry Retry a stopped draft ~309
Have Luca draft again for a cancelled, paused, or failed turn. Only the lead's latest turn in a conversation restarts, at most 3 times across retry and regenerate. With auto-send on for the channel, the new draft can send without review. Luca operation: POST /api/review-queue/drafting/{turnId}/retry Required scopes: review_queue:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Destructive: has a real-world side effect. You must pass confirm: true; the call is rejected without it. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | This tool has a real-world side effect: it messages real leads, books, moves, or cancels a call, changes a lead's consent, imports leads, writes to a connected calendar or CRM, sends workspace events… |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| turnId | string | yes | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_review_queue_explain Explain a queued draft ~131
Explain the signals behind a drafted reply: its voice-match score, any critic findings, and the qualification that motivated it. Luca operation: GET /api/review-queue/{id}/explain Required scopes: review_queue:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | – | yes | – |
No examples provided.
luca_review_queue_list List the review queue ~157
List review-queue items when the API key has review queue access. Luca operation: GET /api/review-queue Required scopes: review_queue:read Required OAuth scope: luca:read; data sensitivity: full_content Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| maxPages | integer | – | Max pages the server auto-fetches and merges (default 10, hard cap 50). If more remain, the result is marked truncated with a nextCursor to continue. |
| query | object | – | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_review_queue_media_retry Retry a draft's failed media ~188
Retry a failed voice-note transcription so the draft can be reviewed. Only re-transcribes; never redrafts or sends. Luca operation: POST /api/review-queue/{id}/media/{mediaId}/retry Required scopes: review_queue:write Required OAuth scope: luca:queue_ops; data sensitivity: redacted Requires Idempotency-Key. Provide idempotencyKey for safe retries, or the server will generate one. Use workspaceId or workspaceSlug to override the default workspace configured by environment.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| idempotencyKey | string | – | Stable key for safe retries. If omitted, the MCP server generates a unique key for this call. |
| mediaId | string | yes | – |
| workspaceId | string | – | Optional Luca workspace id override. |
| workspaceSlug | string | – | Optional Luca workspace slug override. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
How do I install the io.github.setluca/luca-mcp server?
io.github.setluca/luca-mcp runs locally as an npm package, launched with npx -y @setluca/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @setluca/mcp
claude mcp add setluca-luca-mcp -- npx -y @setluca/mcp
What is the io.github.setluca/luca-mcp server?
io.github.setluca/luca-mcp is listed in the public MCP registry as io.github.setluca/luca-mcp. SetLuca DM sales from any MCP client: 208 API tools and 15 task tools for leads, replies, calls. This page covers its npm package (@setluca/mcp).
Is the io.github.setluca/luca-mcp server safe to use?
io.github.setluca/luca-mcp scores 89 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.setluca/luca-mcp server expose?
io.github.setluca/luca-mcp exposes 223 tools: luca_capabilities_get, luca_leads_list, luca_leads_get, luca_leads_explain, luca_leads_create, and 218 more. Their descriptions and schemas cost roughly 39,605 tokens of context every time the server is loaded.
Is the io.github.setluca/luca-mcp server still maintained?
io.github.setluca/luca-mcp is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.setluca/luca-mcp server under?
io.github.setluca/luca-mcp declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.