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 (11 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_bookings_provider_sync_retry Retry a booking's provider sync ~275
Retry a failed write-back to the booking provider. A permanent failure returns 409 rather than retrying forever. Luca operation: POST /api/bookings/{id}/provider-sync/retry Required scopes: bookings: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_bookings_providers_get Get a booking provider ~115
List the event types and calendars in one connected provider account. Luca operation: GET /api/bookings/providers/{provider} Required scopes: bookings: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 |
|---|---|---|---|
| provider | 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_bookings_providers_list List booking providers ~113
List every booking provider, what each can do, and whether this coach's connection is healthy. Luca operation: GET /api/bookings/providers Required scopes: bookings: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_bookings_recovery_get Read a no-show recovery ~141
Read a booking's no-show recovery: whether it is active, paused for review, stopped, or done, which follow-up is next, and when the last one went out. Luca operation: GET /api/bookings/{id}/recovery Required scopes: bookings: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 |
|---|---|---|---|
| id | 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_bookings_recovery_stop Stop a no-show recovery ~220
Stop a booking's no-show recovery so no further follow-up is scheduled. A follow-up already being sent may still arrive. Send recovery.id as recoveryCaseId and recovery.outcomeVersion from luca_bookings_recovery_get; a recovery that changed since that read returns 409 booking_recovery_changed. Luca operation: POST /api/bookings/{id}/recovery/stop Required scopes: bookings: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_bookings_types_attendees List a call type's attendees ~123
List the people invited to every call of this type, on top of the lead. Luca operation: GET /api/bookings/types/{id}/attendees Required scopes: bookings: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 |
|---|---|---|---|
| id | 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_bookings_types_attendees_add Add a booking type attendee ~185
Add a standing attendee to one booking type, so they are invited to every call booked against it. Returns the full attendee list. Luca operation: POST /api/bookings/types/{id}/attendees Required scopes: bookings: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_bookings_types_attendees_remove Remove a booking type attendee ~193
Remove a standing attendee from one booking type and get back the ones that are left. Calls already booked keep the invitees they were created with. Luca operation: DELETE /api/bookings/types/{id}/attendees/{attendeeId} Required scopes: bookings: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 |
|---|---|---|---|
| attendeeId | string | 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_bookings_types_create Create a booking type ~190
Define a bookable call: how long it runs, where it happens, and how it looks to the lead. Give it a schedule next — a booking type with no schedule offers no slots and will never appear in availability. Luca operation: POST /api/bookings/types Required scopes: bookings: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_bookings_types_delete Delete a booking type ~169
Remove a booking type and get back the types that are left. Calls already booked against it are not cancelled. Luca operation: DELETE /api/bookings/types/{id} Required scopes: bookings: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_bookings_types_list List call types ~108
List the call types a booking can use, with their duration and provider. Luca operation: GET /api/bookings/types Required scopes: bookings: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_bookings_types_schedule Read a call type's schedule ~123
Read a call type's weekly schedule: the hours it can be booked and its time zone. Luca operation: GET /api/bookings/types/{id}/schedule Required scopes: bookings: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 |
|---|---|---|---|
| id | 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_bookings_types_schedule_replace Replace a booking type schedule ~202
Replace a booking type's schedule outright. Send every rule and override you want to keep — anything left out is dropped, which is also how you clear a day. Read the current schedule first unless you mean to start over. Luca operation: PUT /api/bookings/types/{id}/schedule Required scopes: bookings: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_bookings_types_update Update a booking type ~182
Update only the fields you send on one booking type. Sending `location` replaces the whole location, because its shape depends on the type. Luca operation: PATCH /api/bookings/types/{id} Required scopes: bookings: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_bookings_update Reschedule or edit a booking ~283
Reschedule or update booking status. A Google Calendar or Cal.com booking changes on that calendar too, and the calendar can email the lead about it. Luca operation: PATCH /api/bookings/{id} Required scopes: bookings: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… |
| 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_broadcasts_approve Approve a broadcast ~167
Approve a safe broadcast draft and snapshot recipients. Luca operation: POST /api/broadcasts/{id}/approve Required scopes: broadcasts: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. 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_broadcasts_cancel Cancel a broadcast ~170
Cancel a draft, approved, running, paused, or failed broadcast. Luca operation: POST /api/broadcasts/{id}/cancel Required scopes: broadcasts: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. 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_broadcasts_create Create a broadcast ~157
Create a broadcast draft. Body requires campaignId and name. Luca operation: POST /api/broadcasts Required scopes: broadcasts: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. 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_broadcasts_get Get a broadcast ~106
Get broadcast detail. Luca operation: GET /api/broadcasts/{id} Required scopes: broadcasts: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_broadcasts_launch Launch a broadcast ~261
Launch an approved broadcast. Sends messages to live leads. Luca operation: POST /api/broadcasts/{id}/launch Required scopes: broadcasts: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 |
|---|---|---|---|
| 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 |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_broadcasts_list List broadcasts ~154
List broadcasts. Query supports limit, cursor, and status. Luca operation: GET /api/broadcasts Required scopes: broadcasts: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 |
|---|---|---|---|
| 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 |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_broadcasts_pause Pause a broadcast ~166
Pause a running broadcast with an optional operator reason. Luca operation: POST /api/broadcasts/{id}/pause Required scopes: broadcasts: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. 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_broadcasts_preview Preview a broadcast ~164
Refresh broadcast recipient and sample-message preview. Luca operation: POST /api/broadcasts/{id}/preview Required scopes: broadcasts: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. 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_broadcasts_retry Retry a broadcast's failed sends ~272
Retry failed broadcast recipients after operator review. Re-sends messages to leads. Luca operation: POST /api/broadcasts/{id}/retry Required scopes: broadcasts: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 | – | – |
| 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 |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_cadences_pause Pause a lead's cadence ~174
Pause (cancel) a lead's running rescue cadence with an optional reason. Luca operation: POST /api/leads/{id}/cadence/pause Required scopes: cadences: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 | – | – |
| 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_cadences_rescue_start Start a silent-lead rescue ~269
Enroll silent leads into the multi-day rescue cadence. Starts outbound touches to real leads. Luca operation: POST /api/cadences/rescue Required scopes: cadences: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_call_events_backfill Backfill a booking's call event ~183
Create a call event for a booking that predates automatic creation, then queue its summary. Safe to call twice: an existing call event comes back as is. Luca operation: POST /api/call-events/backfill/{bookingId} Required scopes: call_events: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 |
|---|---|---|---|
| bookingId | 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_call_events_by_booking Get a booking's call event ~132
Find the call event attached to a booking. A booking whose call hasn't happened yet returns 404, which is normal. Luca operation: GET /api/call-events/by-booking/{bookingId} Required scopes: call_events: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 |
|---|---|---|---|
| bookingId | 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_call_events_by_lead List a lead's call events ~130
Read a lead's full call history, oldest first, so a second or third call reads in sequence. Luca operation: GET /api/call-events/by-lead/{leadId} Required scopes: call_events: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 |
|---|---|---|---|
| leadId | 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_call_events_feedback Report how a call went ~320
File the coach's report on how a call went. A completed or no_show outcome also records booking attendance, and a completed call queues its summary. A no_show can start recovery messages to the lead, so it needs the queue_ops grant and confirm: true. Luca operation: POST /api/call-events/{id}/feedback Required scopes: call_events: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 when outcome is no_show (can start recovery messaging): 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 |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_call_events_get Get a call event ~118
Read one call event: outcome, rating, summary, and CRM sync state. Luca operation: GET /api/call-events/{id} Required scopes: call_events: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_call_events_needing_feedback List calls still needing a report ~117
List calls whose time has passed that still need the coach to say what happened. The post-call work queue. Luca operation: GET /api/call-events Required scopes: call_events: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_call_events_push_to_crm Push a call to the CRM ~279
Send the current summary to the CRM now, without waiting out the review window. Re-pushing updates the existing note. Luca operation: POST /api/call-events/{id}/push-to-crm Required scopes: call_events:write Required OAuth scope: luca:full; 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 |
|---|---|---|---|
| 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 |
|---|---|---|---|
| provenance | object | – | – |
| result | object | yes | – |
No examples provided.
luca_call_events_summary_generate Generate a call summary ~166
Queue a fresh summary and return straight away. Poll the call event for the result. Luca operation: POST /api/call-events/{id}/summary Required scopes: call_events: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 |
|---|---|---|---|
| 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_call_events_summary_replace Replace a call summary ~282
Replace the generated summary with the coach's own wording and push it. A summary already in the CRM updates that same note. Luca operation: PUT /api/call-events/{id}/summary Required scopes: call_events:write Required OAuth scope: luca:full; 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… |
| 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_call_events_undo_outcome Undo a call's outcome ~180
Clear a mistaken attendance mark and put the call back in the queue. The window is 48 hours from when the outcome was set. Luca operation: POST /api/call-events/{id}/undo-outcome Required scopes: call_events: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 |
|---|---|---|---|
| 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_campaigns_analytics Read a campaign's results ~118
Read campaign attribution and performance analytics. Luca operation: GET /api/campaigns/{id}/analytics Required scopes: analytics: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 |
|---|---|---|---|
| id | string | yes | – |
| 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_campaigns_comment_events_list List campaign comment events ~159
List matched, suppressed, blocked, and replayed comment automation events. Luca operation: GET /api/campaigns/comment-events Required scopes: campaigns: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_campaigns_comment_simulation_suite_run Run the comment automation suite ~198
Run the Instagram comment-to-DM simulation suite against a campaign. Any campaign that uses comment automation has to pass it before it can publish, so run this before reaching for publish. Luca operation: POST /api/campaigns/{id}/comment-simulation-suite Required scopes: campaigns: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. 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_campaigns_create Create a campaign ~157
Create a campaign draft. Body requires name and may include graph. Luca operation: POST /api/campaigns Required scopes: campaigns: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_campaigns_draft_update Edit a campaign draft ~163
Autosave a campaign draft. Luca operation: PATCH /api/campaigns/{id}/draft Required scopes: campaigns: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_campaigns_duplicate Duplicate a campaign ~176
Copy a campaign into a fresh unpublished draft and leave the original alone. Use it to change a live campaign without touching what is currently running. Luca operation: POST /api/campaigns/{id}/duplicate Required scopes: campaigns: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_campaigns_enroll Enroll leads in a campaign ~281
Enroll a lead in the latest published campaign version. Triggers the live campaign's automation for that lead. Luca operation: POST /api/campaigns/{id}/enrollments Required scopes: campaigns: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… |
| 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_campaigns_enrollments_list List a campaign's enrollments ~162
List campaign enrollments. Luca operation: GET /api/campaigns/{id}/enrollments Required scopes: campaigns: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 | – |
| 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_campaigns_enrollments_timeline Read an enrollment timeline ~144
Read every step one enrollment has been through: what got sent, when, and how the lead responded. Luca operation: GET /api/campaigns/{id}/enrollments/{enrollmentId}/timeline Required scopes: campaigns: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 |
|---|---|---|---|
| enrollmentId | string | yes | – |
| 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_campaigns_generate Generate a campaign draft ~183
Build a campaign plan from a brief with fixed rules, not an AI model. Nothing is created or published: create the draft from the plan, review it, and publish it yourself. Luca operation: POST /api/campaigns/generate Required scopes: campaigns: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_campaigns_get Get a campaign ~109
Get campaign draft and latest published version. Luca operation: GET /api/campaigns/{id} Required scopes: campaigns: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 |
|---|---|---|---|
| id | 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_campaigns_list List campaigns ~153
List campaigns. Query supports limit, cursor, and status. Luca operation: GET /api/campaigns Required scopes: campaigns: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 |
|---|---|---|---|
| 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 |
|---|---|---|---|
| result | object | yes | – |
No examples provided.
luca_campaigns_provider_capabilities Check what a campaign's channel supports ~116
Evaluate provider capability blockers for a campaign draft. Luca operation: GET /api/campaigns/{id}/provider-capabilities Required scopes: campaigns: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 |
|---|---|---|---|
| id | 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_campaigns_publish Publish a campaign ~302
Freeze the draft as a new immutable version and point new enrollments at it. Published versions never change, and enrollments against a live campaign reach real leads. Publish is blocked when the target provider cannot do something the campaign needs, so read the provider capabilities first. Luca operation: POST /api/campaigns/{id}/publish Required scopes: campaigns: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.
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.