Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.setluca/luca-mcp

NPM · @SETLUCA/MCP · 2 COMPONENTS · SCANNED AUG 22

Work your Luca workspace from any MCP client: 183 API tools + 15 task tools for leads and calls.

48 Trust /100
Trust breakdown (6 categories)

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 →

Supply Chain Security50
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 0 of 7 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency19
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 30375 tokens (~151/item across 201 items; 198 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 Management3
  • Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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 (92% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @setluca/mcp

# add to Claude Code
claude mcp add setluca-luca-mcp -- npx -y @setluca/mcp
# add to Codex CLI
codex mcp add setluca-luca-mcp -- npx -y @setluca/mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "setluca-luca-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@setluca/mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add setluca-luca-mcp --command npx --arg -y --arg @setluca/mcp
# ~/.hermes/config.yaml
mcp_servers:
  setluca-luca-mcp:
    command: "npx"
    args: ["-y", "@setluca/mcp"]
// mcp.json
{
  "mcpServers": {
    "setluca-luca-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@setluca/mcp"
      ]
    }
  }
}
Changelog

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.

  • 22 Aug 26 0
    • Malware scan: unverified → pass security
    • Stability: unverified → 0.03 functional
    • Package version: 0.2.0 → 0.2.1 functional
  • 21 Aug 26 48

    First indexed and scored.

Diagnostics

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 22 Aug 2026 · Analysed npm/@setluca/mcp@0.2.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm
Dependencies 7 packages
Packages resolved 7
Tree resolution Complete
MCP tools · 198 exposed · ~30,285 tokens

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.

Tool Tokens
luca_campaigns_versions_list ~130

List a campaign's published version history. Published versions cannot change, so this is the record of what actually ran rather than what the draft says today. Luca operation: GET /api/campaigns/{id}/versions 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.

NameTypeReqDescription
idstringyes
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_capabilities_get ~125

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.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_close_call_loop ~433

File what happened on a call and what it was worth, in one call. Reports attendance on the call event (completed, no_show, rescheduled, or cancelled) and, when an outcome is given, records the booking outcome: won with an amount, lost with a reason id from luca_bookings_outcomeReasons_list, or open with the next follow-up. Nothing is sent to the lead. Example: { bookingId, attendance: "completed", outcome: "won", amountMinor: 250000, currency: "USD" }.

NameTypeReqDescription
amountMinorintegerDeal value in minor units (cents) when outcome is won.
attendancestringyesWhat happened to the call itself.
bookingIdstringyesThe booking whose call just happened.
currencystringISO-4217 currency for amountMinor, uppercase.
expectedVersionintegerThe outcome version you read, when correcting an earlier outcome. A stale version returns 409 with the current one.
followUpTimezonestringRequired when outcome is open: IANA timezone the follow-up is scheduled in.
idempotencyKeystringReuse the same key when retrying this exact report. Both writes are scoped by route, so one key covers the pair.
lossReasonDefinitionIdstringRequired when outcome is lost: a reason id from luca_bookings_outcomeReasons_list.
nextFollowUpAtstringRequired when outcome is open: ISO-8601 follow-up time.
notesstringThe coach's notes on the call, stored on the call event.
outcomestringThe revenue outcome. Leave it off to report attendance only and record the money later.
outcomeNotestringNote stored on the revenue outcome, separate from notes.
ratingintegerThe coach's 1-5 rating of the call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.

No output schema declared.

No examples provided.

luca_coach_auditLog ~192

Read the coach-visible audit trail, newest first, filterable by actor type, action, action prefix, or target. It is the one read that spans every domain, so use it to check what a previous run actually did instead of replaying each list route. Luca operation: GET /api/audit-log Required scopes: coach:read Required capability: read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.

NameTypeReqDescription
maxPagesintegerMax 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.
queryobject
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_coach_niche ~106

Read the coach's canonical niche, the cohort key their benchmarks are compared against. Luca operation: GET /api/coaches/niche Required scopes: coach:read Required capability: read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_coach_nicheProfile ~126

Read the coach's offer, audience, price range, promised outcomes, disqualifiers, and FAQs. This is the context that decides whether a lead is a fit. Luca operation: GET /api/coaches/niche-profile Required scopes: coach:read Required capability: read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultyes

No examples provided.

luca_coach_objectionPlaybook ~120

Read how the coach wants each objection type handled — price, timing, trust, fit — before drafting a reply to one. Luca operation: GET /api/coaches/objection-playbook Required scopes: coach:read Required capability: read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultyes

No examples provided.

luca_coach_postCallCrmMapping ~121

Read which CRM field each post-call value writes to. Check this before a CRM push to know what will land where. Luca operation: GET /api/coaches/post-call-crm-mapping Required scopes: coach:read Required capability: read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_coach_postCallDealSync ~110

Read the CRM pipeline and the stage each call outcome moves a deal to. Luca operation: GET /api/coaches/post-call-deal-sync Required scopes: coach:read Required capability: read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_coach_postCallSettings ~119

Read the coach's post-call preferences: what gets summarized, what gets pushed to the CRM, and what the coach fills in themselves. Luca operation: GET /api/coaches/post-call-settings Required scopes: coach:read Required capability: read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_coach_profile ~123

Read the coach's account record: name, timezone, business hours, and tone slider. Use it to know when the coach is reachable and how formal they want to sound. Luca operation: GET /api/coaches/me Required scopes: coach:read Required capability: read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_conversations_get ~105

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.

NameTypeReqDescription
idstringyes
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
provenanceobject
resultobjectyes

No examples provided.

luca_conversations_list ~151

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.

NameTypeReqDescription
maxPagesintegerMax 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.
queryobject
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
provenanceobject
resultobjectyes

No examples provided.

luca_conversations_messages ~167

Page backward through a thread's older messages, for threads longer than the window the conversation read returns. Luca operation: GET /api/conversations/{id}/messages 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.

NameTypeReqDescription
idstringyes
maxPagesintegerMax 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.
queryobject
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
provenanceobject
resultobjectyes

No examples provided.

luca_conversations_send ~280

Send a message to the lead on their channel right away. This is the one conversation tool that reaches a real person without a reviewer seeing the message first, which is why it needs an explicit confirm. Prefer drafting into the review queue unless the coach has asked for this message to go out now. Luca operation: POST /api/conversations/{id}/send Required scopes: conversations: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.

NameTypeReqDescription
bodyobjectyes
confirmbooleanThis tool has a real-world side effect: it messages a real lead, starts outbound touches, or re-triggers downstream automations. Pass confirm: true to proceed; the call is rejected without it.
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_draft_reply ~162

Draft a voice-matched reply for a lead on demand and queue it for review — the middle step of the reply loop (triage → draft → approve). Optional guidance steers tone or content. Nothing is sent; approve it with luca_approve_and_send. Example: call with { leadId, guidance: "keep it short and warm" }.

NameTypeReqDescription
guidancestringOptional steer for tone or content of the draft.
idempotencyKeystringReuse the same key when retrying this exact draft.
leadIdstringyesThe lead to draft a reply for.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.

No output schema declared.

No examples provided.

luca_find_leads ~133

Search the coach's leads by free-text query and optional channel. Use this to locate a lead before drafting, booking, or flagging. Example: call with { query: "maria instagram" } to find Maria's Instagram lead.

NameTypeReqDescription
channelstringOptional channel filter (telegram, instagram, messenger, whatsapp).
limitintegerMax results (default 10).
querystringyesFree-text search: name, handle, or keyword.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.

No output schema declared.

No examples provided.

luca_flag_for_human ~182

Add a note to a lead, tagged [needs-human], that the coach sees on the lead's timeline. This is an ordinary note with a prefix — it does not route, alert, or reprioritize anything. Use when a conversation needs judgment an agent should not exercise (payment claims, distress, legal), and tell the coach directly if it is urgent. Example: call with { leadId, reason: "lead mentioned a refund dispute" }.

NameTypeReqDescription
idempotencyKeystringReuse the same key when retrying this exact flag.
leadIdstringyesThe lead to flag.
reasonstringyesWhy a human should look — shown to the coach verbatim.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.

No output schema declared.

No examples provided.

luca_insights_dismiss ~166

Dismiss one insight the coach does not want to act on. Use this rather than leaving it unread forever. Luca operation: POST /api/insights/{id}/dismiss Required scopes: insights: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.

NameTypeReqDescription
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_insights_markActioned ~169

Record that the thing an insight asked for was actually done. Use it after doing the work, not instead of it. Luca operation: POST /api/insights/{id}/action Required scopes: insights: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.

NameTypeReqDescription
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_insights_markRead ~161

Mark one insight read, so it stops coming back at the top of the feed. Luca operation: POST /api/insights/{id}/read Required scopes: insights: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.

NameTypeReqDescription
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_insights_settings_get ~136

Read which insight alerts reach the coach and how. The row is created with defaults on the first read, so this never 404s. Check it before concluding a quiet feed means nothing is happening — it may just be muted. Luca operation: GET /api/insights/settings 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.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_insights_settings_update ~167

Merge-patch the coach's alert-delivery settings. Send only what you are changing; anything left out keeps its current value. Luca operation: PUT /api/insights/settings Required scopes: insights: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.

NameTypeReqDescription
bodyobjectyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_insights_unreadCount ~113

How many insights the coach has not read yet. Cheap enough to poll before pulling the whole feed. Luca operation: GET /api/insights/unread-count 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.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_connectors_list ~103

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.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_crm_connections_create ~156

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.

NameTypeReqDescription
bodyobjectyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_crm_connections_health ~155

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.

NameTypeReqDescription
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_crm_connections_list ~99

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.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_crm_connections_schema ~111

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.

NameTypeReqDescription
idstringyes
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_crm_connections_webhooksSetup ~167

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.

NameTypeReqDescription
bodyobjectyes
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_crm_mappings_confirm ~164

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.

NameTypeReqDescription
bodyobjectyes
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_crm_mappings_suggest ~160

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.

NameTypeReqDescription
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_crm_oauthCallback ~158

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.

NameTypeReqDescription
bodyobjectyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_crm_oauthUrl ~121

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.

NameTypeReqDescription
providerstringyes
queryobject
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_crm_syncRuns_create ~170

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.

NameTypeReqDescription
bodyobjectyes
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_crm_syncRuns_list ~114

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.

NameTypeReqDescription
idstringyes
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_crm_webhooks_record ~182

Record an inbound CRM provider webhook event. Idempotent on the provider's event id, so a redelivery is recorded once. Luca operation: POST /api/integrations/crm/webhooks/{provider} 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.

NameTypeReqDescription
bodyobjectyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
providerstringyes
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_integrations_events_list ~144

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.

NameTypeReqDescription
maxPagesintegerMax 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.
queryobject
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_knowledge_approveSuggestion ~249

Approve a profile suggestion and write it into the coach's profile. Every later draft reads the result, so check the excerpt supports the change before approving. Luca operation: POST /api/knowledge/suggestions/{id}/approve Required scopes: knowledge: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.

NameTypeReqDescription
confirmbooleanThis tool has a real-world side effect: it messages a real lead, starts outbound touches, or re-triggers downstream automations. Pass confirm: true to proceed; the call is rejected without it.
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_knowledge_rejectSuggestion ~164

Reject a profile suggestion so it stops being offered. The profile is left as it stands. Luca operation: POST /api/knowledge/suggestions/{id}/reject Required scopes: knowledge:write Required 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.

NameTypeReqDescription
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_knowledge_sources_disconnect ~171

Delete a knowledge source. Its pending suggestions go with it; values the coach already approved stay in the profile, because approving copies them there. Luca operation: DELETE /api/knowledge/sources/{id} Required scopes: knowledge:write Required 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.

NameTypeReqDescription
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_knowledge_sources_list ~135

List the content sources the coach has connected — Notion, Google Docs, a website, an Instagram bio — with the sync state of each one. Connecting a new source is app-only; this lists what is already there. Luca operation: GET /api/knowledge/sources Required scopes: knowledge:read Required capability: read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_knowledge_sources_sync ~183

Queue a re-read of one knowledge source now rather than waiting for its next scheduled sync. It returns as soon as the job is queued, so any new suggestions appear on a later read. Luca operation: POST /api/knowledge/sources/{id}/sync Required scopes: knowledge:write Required 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.

NameTypeReqDescription
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_knowledge_suggestions ~124

List profile changes proposed from the coach's own knowledge sources, each with the excerpt it was drawn from and the value it would replace. Luca operation: GET /api/knowledge/suggestions Required scopes: knowledge:read Required capability: read; data sensitivity: redacted Does not require idempotency. Use workspaceId or workspaceSlug to override the default workspace configured by environment.

NameTypeReqDescription
queryobject
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_leads_consents_grant ~162

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.

NameTypeReqDescription
bodyobjectyes
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultyes

No examples provided.

luca_leads_consents_revoke ~165

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.

NameTypeReqDescription
bodyobjectyes
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultyes

No examples provided.

luca_leads_create ~154

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.

NameTypeReqDescription
bodyobjectyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_leads_draft ~175

Draft a voice-matched reply for a lead on demand and queue it for review. Optional guidance steers tone or content. Luca operation: POST /api/leads/{id}/draft 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.

NameTypeReqDescription
bodyobjectyes
idstringyes
idempotencyKeystringStable key for safe retries. If omitted, the MCP server generates a unique key for this call.
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
resultobjectyes

No examples provided.

luca_leads_explain ~122

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.

NameTypeReqDescription
idstringyes
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
provenanceobject
resultyes

No examples provided.

luca_leads_fieldDefinitions_list ~99

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.

NameTypeReqDescription
workspaceIdstringOptional Luca workspace id override.
workspaceSlugstringOptional Luca workspace slug override.
NameTypeReqDescription
provenanceobject
resultyes

No examples provided.