# io.github.leonardomso/luca-mcp (npm · @setluca/mcp)

Work your Luca workspace from any MCP client: 67 tools for leads, conversations, and campaigns.

- Trust score: 60/100 (medium)
- Change this week: +16
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@setluca/mcp`: 60/100 (this document), [markdown](https://verifymcp.io/servers/leonardomso-luca-mcp/setluca-mcp.md), [page](https://verifymcp.io/servers/leonardomso-luca-mcp/setluca-mcp)

## Channel facts

- Registry: `npm`
- Package: `@setluca/mcp`
- Version: `0.1.1`
- Transport: `stdio`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (98 of 102), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (98 of 102), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 19/100
  - Repository check failed: the declared repository URL returned HTTP 404.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 23 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 79/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 10291 tokens (~147/item across 70 items; 67 tools + 3 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 92/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 70% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add leonardomso-luca-mcp -- npx -y @setluca/mcp
```

### Codex

```bash
codex mcp add leonardomso-luca-mcp -- npx -y @setluca/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "leonardomso-luca-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@setluca/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add leonardomso-luca-mcp --command npx --arg -y --arg @setluca/mcp
```

### Hermes

```yaml
mcp_servers:
  leonardomso-luca-mcp:
    command: "npx"
    args: ["-y", "@setluca/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "leonardomso-luca-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@setluca/mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 60, +41)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Schema quality: unverified → good
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional] Licence: Apache-2.0

### 2026-08-01 (score 19, +19)

- [functional improvement] Schema quality: unverified → 100
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-31 (score 0, −19)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 19, −25)

- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional improvement] Dependency health: unverified → partial

### 2026-07-27 (score 44)

First indexed and scored.

## MCP tools (67)

### `luca_capabilities_get` (~125 tokens)

Luca capabilities.get

Describe Luca's public API capabilities, scopes, and boundaries.

Luca operation: GET /api/capabilities
Required scopes: leads:read, conversations:read, bookings:read, campaigns:read, broadcasts:read, webhooks:read, integrations:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_leads_list` (~155 tokens)

Luca leads.list

List leads. Query supports limit, cursor, channel, and q according to Luca OpenAPI.

Luca operation: GET /api/leads
Required scopes: leads:read
Required capability: read; data sensitivity: full_content
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `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.

Output parameters:

- `provenance` (object)
- `result` (object)

### `luca_leads_get` (~105 tokens)

Luca leads.get

Get a lead's full timeline and notes.

Luca operation: GET /api/leads/{id}
Required scopes: leads:read
Required capability: read; data sensitivity: full_content
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `id` (string, required)
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `provenance` (object)
- `result` (object)

### `luca_leads_explain` (~122 tokens)

Luca leads.explain

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 capability: read; data sensitivity: full_content
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `id` (string, required)
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `provenance` (object)
- `result`

### `luca_leads_create` (~154 tokens)

Luca leads.create

Create or upsert a lead identity. Body requires channel and externalUserId.

Luca operation: POST /api/leads
Required scopes: leads:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `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.

Output parameters:

- `result` (object)

### `luca_leads_update` (~164 tokens)

Luca leads.update

Update a lead's display name, stage, score, tags, or custom fields.

Luca operation: PATCH /api/leads/{id}
Required scopes: leads:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_leads_fieldDefinitions_list` (~141 tokens)

Luca leads.fieldDefinitions.list

List custom lead field definitions.

Luca operation: GET /api/leads/field-definitions
Required scopes: leads:read
Required capability: read; data sensitivity: full_content
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `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.
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `provenance` (object)
- `result`

### `luca_leads_fieldDefinitions_upsert` (~154 tokens)

Luca leads.fieldDefinitions.upsert

Create or update a custom lead field definition.

Luca operation: POST /api/leads/field-definitions
Required scopes: leads:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `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.

Output parameters:

- `result`

### `luca_leads_importPreview` (~109 tokens)

Luca leads.importPreview

Preview a mapped CSV lead import before applying it.

Luca operation: POST /api/leads/imports/preview
Required scopes: leads:read
Required capability: draft; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `body` (object, required)
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result`

### `luca_leads_importApply` (~152 tokens)

Luca leads.importApply

Apply a mapped lead import with consent evidence.

Luca operation: POST /api/leads/imports/apply
Required scopes: leads:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `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.

Output parameters:

- `result`

### `luca_leads_identities_attach` (~162 tokens)

Luca leads.identities.attach

Attach a verified or claimed identity to a lead.

Luca operation: POST /api/leads/{id}/identities
Required scopes: leads:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result`

### `luca_leads_consents_grant` (~162 tokens)

Luca leads.consents.grant

Grant explicit lead consent for a channel purpose.

Luca operation: POST /api/leads/{id}/consents
Required scopes: leads:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result`

### `luca_leads_consents_revoke` (~165 tokens)

Luca leads.consents.revoke

Revoke explicit lead consent for a channel purpose.

Luca operation: POST /api/leads/{id}/consents/revoke
Required scopes: leads:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result`

### `luca_leads_notes_add` (~162 tokens)

Luca leads.notes.add

Append a coach note to a lead. Body requires body.

Luca operation: POST /api/leads/{id}/notes
Required scopes: leads:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_conversations_list` (~151 tokens)

Luca conversations.list

List recent conversations. Query supports limit, cursor, channel, and q.

Luca operation: GET /api/conversations
Required scopes: conversations:read
Required capability: read; data sensitivity: full_content
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `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.

Output parameters:

- `provenance` (object)
- `result` (object)

### `luca_conversations_get` (~105 tokens)

Luca conversations.get

Get a conversation with messages and lead context.

Luca operation: GET /api/conversations/{id}
Required scopes: conversations:read
Required capability: read; data sensitivity: full_content
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `id` (string, required)
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `provenance` (object)
- `result` (object)

### `luca_reviewQueue_list` (~153 tokens)

Luca reviewQueue.list

List review-queue items when the API key has review queue access.

Luca operation: GET /api/review-queue
Required scopes: review_queue:read
Required capability: read; data sensitivity: full_content
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `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.

Output parameters:

- `provenance` (object)
- `result` (object)

### `luca_reviewQueue_explain` (~127 tokens)

Luca reviewQueue.explain

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 capability: read; data sensitivity: full_content
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `id` (string, required)
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `provenance` (object)
- `result`

### `luca_bookings_list` (~150 tokens)

Luca bookings.list

List bookings. Query supports limit, cursor, status, and upcoming.

Luca operation: GET /api/bookings
Required scopes: bookings:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `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.

Output parameters:

- `result` (object)

### `luca_bookings_create` (~153 tokens)

Luca bookings.create

Create a provider-neutral booking record. Body requires leadId and slotAt.

Luca operation: POST /api/bookings
Required scopes: bookings:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `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.

Output parameters:

- `result` (object)

### `luca_bookings_update` (~154 tokens)

Luca bookings.update

Reschedule or update booking status.

Luca operation: PATCH /api/bookings/{id}
Required scopes: bookings:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_bookings_cancel` (~144 tokens)

Luca bookings.cancel

Cancel a booking.

Luca operation: DELETE /api/bookings/{id}
Required scopes: bookings:write
Required capability: 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.

Input parameters:

- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_campaigns_list` (~149 tokens)

Luca campaigns.list

List campaigns. Query supports limit, cursor, and status.

Luca operation: GET /api/campaigns
Required scopes: campaigns:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `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.

Output parameters:

- `result` (object)

### `luca_campaigns_get` (~105 tokens)

Luca campaigns.get

Get campaign draft and latest published version.

Luca operation: GET /api/campaigns/{id}
Required scopes: campaigns:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `id` (string, required)
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_campaigns_create` (~152 tokens)

Luca campaigns.create

Create a campaign draft. Body requires name and may include graph.

Luca operation: POST /api/campaigns
Required scopes: campaigns:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `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.

Output parameters:

- `result` (object)

### `luca_campaigns_generate` (~153 tokens)

Luca campaigns.generate

Generate a safe AI campaign plan without creating or publishing it.

Luca operation: POST /api/campaigns/generate
Required scopes: campaigns:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `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.

Output parameters:

- `result` (object)

### `luca_campaigns_draft_update` (~158 tokens)

Luca campaigns.draft.update

Autosave a campaign draft.

Luca operation: PATCH /api/campaigns/{id}/draft
Required scopes: campaigns:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_campaigns_enrollments_list` (~151 tokens)

Luca campaigns.enrollments.list

List campaign enrollments.

Luca operation: GET /api/campaigns/{id}/enrollments
Required scopes: campaigns:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `id` (string, required)
- `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.
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_campaigns_enroll` (~240 tokens)

Luca campaigns.enroll

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 capability: 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.

Input parameters:

- `body` (object, required)
- `confirm` (boolean): This tool has a real-world side effect (sends messages or re-triggers downstream automations). Pass confirm: true to proceed; the call is rejected without it.
- `id` (string, required)
- `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.

Output parameters:

- `result`

### `luca_campaigns_analytics` (~114 tokens)

Luca campaigns.analytics

Read campaign attribution and performance analytics.

Luca operation: GET /api/campaigns/{id}/analytics
Required scopes: analytics:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `id` (string, required)
- `query` (object)
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_campaigns_providerCapabilities` (~111 tokens)

Luca campaigns.providerCapabilities

Evaluate provider capability blockers for a campaign draft.

Luca operation: GET /api/campaigns/{id}/provider-capabilities
Required scopes: campaigns:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `id` (string, required)
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_campaigns_commentEvents_list` (~155 tokens)

Luca campaigns.commentEvents.list

List matched, suppressed, blocked, and replayed comment automation events.

Luca operation: GET /api/campaigns/comment-events
Required scopes: campaigns:read
Required capability: read; data sensitivity: full_content
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `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.

Output parameters:

- `provenance` (object)
- `result` (object)

### `luca_campaigns_simulations_list` (~150 tokens)

Luca campaigns.simulations.list

List persisted campaign simulation runs.

Luca operation: GET /api/campaigns/{id}/simulations
Required scopes: campaigns:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `id` (string, required)
- `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.
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_campaigns_simulations_create` (~163 tokens)

Luca campaigns.simulations.create

Run a persisted dry-run simulation without sending messages.

Luca operation: POST /api/campaigns/{id}/simulations
Required scopes: campaigns:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_campaigns_simulations_get` (~121 tokens)

Luca campaigns.simulations.get

Get a campaign simulation run with trace.

Luca operation: GET /api/campaigns/{id}/simulations/{simulationId}
Required scopes: campaigns:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `id` (string, required)
- `simulationId` (string, required)
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_broadcasts_list` (~150 tokens)

Luca broadcasts.list

List broadcasts. Query supports limit, cursor, and status.

Luca operation: GET /api/broadcasts
Required scopes: broadcasts:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `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.

Output parameters:

- `result` (object)

### `luca_broadcasts_get` (~102 tokens)

Luca broadcasts.get

Get broadcast detail.

Luca operation: GET /api/broadcasts/{id}
Required scopes: broadcasts:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `id` (string, required)
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_broadcasts_create` (~152 tokens)

Luca broadcasts.create

Create a broadcast draft. Body requires campaignId and name.

Luca operation: POST /api/broadcasts
Required scopes: broadcasts:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `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.

Output parameters:

- `result` (object)

### `luca_broadcasts_preview` (~159 tokens)

Luca broadcasts.preview

Refresh broadcast recipient and sample-message preview.

Luca operation: POST /api/broadcasts/{id}/preview
Required scopes: broadcasts:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_broadcasts_approve` (~155 tokens)

Luca broadcasts.approve

Approve a safe broadcast draft and snapshot recipients.

Luca operation: POST /api/broadcasts/{id}/approve
Required scopes: broadcasts:write
Required capability: 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.

Input parameters:

- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_broadcasts_launch` (~220 tokens)

Luca broadcasts.launch

Launch an approved broadcast. Sends messages to live leads.

Luca operation: POST /api/broadcasts/{id}/launch
Required scopes: broadcasts:write
Required capability: 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.

Input parameters:

- `confirm` (boolean): This tool has a real-world side effect (sends messages or re-triggers downstream automations). Pass confirm: true to proceed; the call is rejected without it.
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_broadcasts_pause` (~161 tokens)

Luca broadcasts.pause

Pause a running broadcast with an optional operator reason.

Luca operation: POST /api/broadcasts/{id}/pause
Required scopes: broadcasts:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_broadcasts_retry` (~231 tokens)

Luca broadcasts.retry

Retry failed broadcast recipients after operator review. Re-sends messages to leads.

Luca operation: POST /api/broadcasts/{id}/retry
Required scopes: broadcasts:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `confirm` (boolean): This tool has a real-world side effect (sends messages or re-triggers downstream automations). Pass confirm: true to proceed; the call is rejected without it.
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_broadcasts_cancel` (~165 tokens)

Luca broadcasts.cancel

Cancel a draft, approved, running, paused, or failed broadcast.

Luca operation: POST /api/broadcasts/{id}/cancel
Required scopes: broadcasts:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_webhooks_subscriptions_list` (~139 tokens)

Luca webhooks.subscriptions.list

List outbound webhook subscriptions.

Luca operation: GET /api/webhook-subscriptions
Required scopes: webhooks:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `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.
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_webhooks_subscriptions_create` (~149 tokens)

Luca webhooks.subscriptions.create

Create an outbound webhook subscription.

Luca operation: POST /api/webhook-subscriptions
Required scopes: webhooks:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `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.

Output parameters:

- `result` (object)

### `luca_webhooks_subscriptions_update` (~158 tokens)

Luca webhooks.subscriptions.update

Update an outbound webhook subscription.

Luca operation: PATCH /api/webhook-subscriptions/{id}
Required scopes: webhooks:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_webhooks_testDelivery` (~152 tokens)

Luca webhooks.testDelivery

Queue a canonical test webhook event.

Luca operation: POST /api/webhook-subscriptions/test-delivery
Required scopes: webhooks:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `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.

Output parameters:

- `result` (object)

### `luca_webhooks_deliveries_list` (~150 tokens)

Luca webhooks.deliveries.list

List webhook deliveries.

Luca operation: GET /api/webhook-subscriptions/deliveries
Required scopes: webhooks:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `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.

Output parameters:

- `result` (object)

### `luca_webhooks_signatureGuide` (~101 tokens)

Luca webhooks.signatureGuide

Describe Luca webhook HMAC verification.

Luca operation: GET /api/webhook-subscriptions/signature-guide
Required scopes: webhooks:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_webhooks_deliveries_replay` (~240 tokens)

Luca webhooks.deliveries.replay

Replay one webhook delivery without changing the event id. Re-triggers the subscriber's downstream automation.

Luca operation: POST /api/webhook-subscriptions/deliveries/{deliveryId}/replay
Required scopes: webhooks:write
Required capability: 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.

Input parameters:

- `confirm` (boolean): This tool has a real-world side effect (sends messages or re-triggers downstream automations). Pass confirm: true to proceed; the call is rejected without it.
- `deliveryId` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_webhooks_events_replay` (~238 tokens)

Luca webhooks.events.replay

Replay one canonical webhook event. Re-triggers subscribers' downstream automations.

Luca operation: POST /api/webhook-subscriptions/events/{eventId}/replay
Required scopes: webhooks:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `confirm` (boolean): This tool has a real-world side effect (sends messages or re-triggers downstream automations). Pass confirm: true to proceed; the call is rejected without it.
- `eventId` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_webhooks_events_bulkReplay` (~230 tokens)

Luca webhooks.events.bulkReplay

Bulk replay webhook events by type and time range. Re-triggers downstream automations at scale.

Luca operation: POST /api/webhook-subscriptions/events/replay
Required scopes: webhooks:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `confirm` (boolean): This tool has a real-world side effect (sends messages or re-triggers downstream automations). Pass confirm: true to proceed; the call is rejected without it.
- `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.

Output parameters:

- `result` (object)

### `luca_integrations_connectors_list` (~145 tokens)

Luca integrations.connectors.list

List Zapier, Make, and CRM provider capabilities.

Luca operation: GET /api/integrations/connectors
Required scopes: integrations:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `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.
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_integrations_crm_oauthUrl` (~121 tokens)

Luca integrations.crm.oauthUrl

Create a CRM provider OAuth URL.

Luca operation: GET /api/integrations/crm/providers/{provider}/oauth-url
Required scopes: integrations:write
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `provider` (string, required)
- `query` (object)
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_integrations_crm_oauthCallback` (~158 tokens)

Luca integrations.crm.oauthCallback

Exchange a CRM OAuth code and store encrypted credentials.

Luca operation: POST /api/integrations/crm/oauth/callback
Required scopes: integrations:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `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.

Output parameters:

- `result` (object)

### `luca_integrations_crm_connections_list` (~141 tokens)

Luca integrations.crm.connections.list

List CRM connections.

Luca operation: GET /api/integrations/crm/connections
Required scopes: integrations:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `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.
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_integrations_crm_connections_create` (~156 tokens)

Luca integrations.crm.connections.create

Create or update a workspace-scoped CRM connection.

Luca operation: POST /api/integrations/crm/connections
Required scopes: integrations:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `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.

Output parameters:

- `result` (object)

### `luca_integrations_crm_connections_schema` (~111 tokens)

Luca integrations.crm.connections.schema

Discover CRM provider schema.

Luca operation: GET /api/integrations/crm/connections/{id}/schema
Required scopes: integrations:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `id` (string, required)
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_integrations_crm_connections_health` (~155 tokens)

Luca integrations.crm.connections.health

Probe CRM provider health.

Luca operation: POST /api/integrations/crm/connections/{id}/health
Required scopes: integrations:write
Required capability: 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.

Input parameters:

- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_integrations_crm_connections_webhooksSetup` (~167 tokens)

Luca integrations.crm.connections.webhooksSetup

Configure CRM provider webhook status.

Luca operation: POST /api/integrations/crm/connections/{id}/webhooks/setup
Required scopes: integrations:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_integrations_crm_mappings_suggest` (~160 tokens)

Luca integrations.crm.mappings.suggest

Suggest CRM field mappings.

Luca operation: POST /api/integrations/crm/connections/{id}/mappings/suggest
Required scopes: integrations:write
Required capability: 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.

Input parameters:

- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_integrations_crm_mappings_confirm` (~164 tokens)

Luca integrations.crm.mappings.confirm

Confirm CRM field mappings.

Luca operation: PUT /api/integrations/crm/connections/{id}/mappings
Required scopes: integrations:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_integrations_crm_syncRuns_list` (~156 tokens)

Luca integrations.crm.syncRuns.list

List CRM sync history.

Luca operation: GET /api/integrations/crm/connections/{id}/sync-runs
Required scopes: integrations:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `id` (string, required)
- `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.
- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

### `luca_integrations_crm_syncRuns_create` (~170 tokens)

Luca integrations.crm.syncRuns.create

Create a CRM dry-run or live sync run.

Luca operation: POST /api/integrations/crm/connections/{id}/sync-runs
Required scopes: integrations:write
Required capability: 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.

Input parameters:

- `body` (object, required)
- `id` (string, required)
- `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.

Output parameters:

- `result` (object)

### `luca_integrations_events_list` (~144 tokens)

Luca integrations.events.list

List integration event log.

Luca operation: GET /api/integrations/events
Required scopes: integrations:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `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.

Output parameters:

- `result` (object)

### `luca_voice_profile` (~110 tokens)

Luca voice.profile

Read a non-verbatim voice-fingerprint summary: version, example count, and last refresh. No corpus text.

Luca operation: GET /api/voice/profile
Required scopes: voice:read
Required capability: read; data sensitivity: redacted
Does not require idempotency.
Use workspaceId or workspaceSlug to override the default workspace configured by environment.

Input parameters:

- `workspaceId` (string): Optional Luca workspace id override.
- `workspaceSlug` (string): Optional Luca workspace slug override.

Output parameters:

- `result` (object)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/leonardomso-luca-mcp/setluca-mcp#diagnostics

## Score history

- 2026-08-03: 60
- 2026-08-02: 60
- 2026-08-01: 19
- 2026-07-31: 0
- 2026-07-30: 19
- 2026-07-28: 44
- 2026-07-27: 44

## Links

- npm package: https://www.npmjs.com/package/@setluca/mcp
- Socket report: https://socket.dev/npm/package/@setluca/mcp
- Changelog RSS feed: https://verifymcp.io/servers/leonardomso-luca-mcp/setluca-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/leonardomso-luca-mcp/setluca-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/leonardomso-luca-mcp/setluca-mcp
