HalloFelix

Official remote MCP server for HalloFelix, the AI phone and WhatsApp assistant for insurance brokers (DACH). Read calls with transcripts and summaries, manage customers and outbound call campaigns, tune the voice and WhatsApp assistants, and work the WhatsApp inbox (chats, messages, notes, labels, templates). Endpoint: https://app.hallofelix.de/api/mcp (OAuth or API token).

होस्ट किया गया MCP सर्वर

npx add-mcp 'https://app.hallofelix.de/api/mcp'

Claude Code, Codex, Cursor और अन्य में इंस्टॉल होता है

दस्तावेज़

HalloFelix von InsurMagic – MCP Server

Official Model Context Protocol server for HalloFelix von InsurMagic, the AI phone and WhatsApp assistant for insurance brokers in Germany, Austria and Switzerland.

Connect Claude, ChatGPT, Cursor, VS Code or any MCP client to your HalloFelix account and let your AI agent work with everything the HalloFelix web app offers: calls, e-mails and their tasks, customers (notes, phone numbers, customer memory), outbound call campaigns, voice, e-mail and WhatsApp assistants, Vorgänge (task types), calendars and appointment types, company settings, knowledge documents, statistics and the whole WhatsApp inbox.

Server URL: https://app.hallofelix.de/api/mcp (remote, Streamable HTTP)

Authentication

  • OAuth (recommended): clients with connector support (Claude.ai, Claude Desktop, ChatGPT, Cursor, VS Code) only need the URL. You sign in with your HalloFelix account and allow access (admins of the account only).
  • API token: send your token as Authorization: Bearer <api_access_token>. Create it in the HalloFelix app under Integrationen → API.

Setup

Claude.ai / Claude Desktop

Settings → Connectors → Add custom connector → URL https://app.hallofelix.de/api/mcp → Connect.

ChatGPT

Settings → Apps & Connectors → Advanced → enable Developer mode → Create → URL https://app.hallofelix.de/api/mcp, authentication OAuth.

Claude Code

claude mcp add --transport http hallofelix https://app.hallofelix.de/api/mcp

Then run /mcp to sign in. With a token instead: append --header "Authorization: Bearer <api_access_token>".

Cursor

Add to Cursor

or in ~/.cursor/mcp.json:

{ "mcpServers": { "hallofelix": { "url": "https://app.hallofelix.de/api/mcp" } } }

VS Code (GitHub Copilot)

Install in VS Code

or code --add-mcp '{"name":"hallofelix","type":"http","url":"https://app.hallofelix.de/api/mcp"}'

Windsurf

~/.codeium/windsurf/mcp_config.json:

{ "mcpServers": { "hallofelix": { "serverUrl": "https://app.hallofelix.de/api/mcp" } } }

OpenAI Codex CLI

codex mcp add hallofelix --url https://app.hallofelix.de/api/mcp
codex mcp login hallofelix

Gemini CLI

~/.gemini/settings.json:

{ "mcpServers": { "hallofelix": { "httpUrl": "https://app.hallofelix.de/api/mcp" } } }

Any stdio-only client

{
  "mcpServers": {
    "hallofelix": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://app.hallofelix.de/api/mcp"]
    }
  }
}

Tools

ToolWhat it doesAccess
list_callsLists phone calls handled by the HalloFelix voice AI (inbound and outbound) with transcript, summary, extracted data points and task (status with its dashboard label, assignee name, task type)read
get_callFull call record: transcript, summary, summary data points, customer, campaign and assistantread
update_callRates a call and sets its task: status, assignee (team member by id, name or e-mail) and task type (Vorgang, by id or name)write, destructive
bulk_update_call_statusSets the task status of up to 1000 calls at oncewrite, destructive
delete_callPermanently deletes a call with its recording, transcript, task and noteswrite, destructive
start_outbound_callStarts a real phone call: the AI call assistant phones the customer's primary number now (or at scheduled_at)write
list_call_notesInternal notes on a call's task, newest firstread
add_call_noteAdds an internal note to a call's taskwrite
list_emailsLists e-mails handled by the HalloFelix e-mail assistant, newest first, with summary, customer and task (status with its dashboard label, assignee name, task type)read
get_emailFull e-mail record: sender, recipients, subject, body, summary, customer and taskread
update_emailRates an e-mail and sets its task: status, assignee (team member by id, name or e-mail) and task type (Vorgang, by id or name)write, destructive
list_email_notesInternal notes on an e-mail's task, newest firstread
add_email_noteAdds an internal note to an e-mail's taskwrite
update_noteChanges the text of a call, e-mail or customer notewrite, destructive
delete_notePermanently deletes a call, e-mail or customer notewrite, destructive
list_customersLists customers (contacts the AI calls or chats with) with phone numbers (type with its dashboard label), call handling (Anrufbehandlung, with label), call count and last call timeread
get_customerFull customer recordread
create_customerCreates a customerwrite
import_customersCreates up to 500 customers in one callwrite
update_customerEdits a customer: names, e-mail, language, external id, call handling and WhatsApp AI exclusionwrite, destructive
delete_customerPermanently deletes a customer with phone numbers, notes, appointments and memorywrite, destructive
add_customer_phone_numberAdds a phone number to a customerwrite
update_customer_phone_numberMakes a customer's phone number the primary one (is_primary: true) and/or sets its typewrite, destructive
delete_customer_phone_numberRemoves a phone number from a customer (not the customer's last one)write, destructive
list_customer_notesInternal notes on a customer, newest firstread
add_customer_noteAdds an internal note to a customerwrite
get_customer_memoryWhat the AI remembers about a customer (vehicles, address, preferences, contact windows, notes), with origin and status of each factread
add_customer_memory_factAdds a fact the AI should remember about a customerwrite
update_customer_memory_factCorrects a fact (value) or rejects it (status "rejected", also hides a CRM fact)write, destructive
delete_customer_memory_factPermanently deletes a memory fact (CRM facts cannot be deleted, only rejected)write, destructive
list_campaignsLists outbound call campaigns with status (and its dashboard label), success and answer ratesread
get_campaignFull campaign record with computed statisticsread
create_campaignCreates an outbound call campaignwrite
start_campaignStarts or resumes a campaign: the AI begins calling its customerswrite
set_campaign_statusChanges a campaign run statuswrite, destructive
update_campaignEdits a draft campaign (name, assistant, first sentence, goal, attempts, retry interval, customers, schedule, business hours; customer_ids replaces the customer list) and/or archives or unarchives any campaignwrite, destructive
delete_campaignPermanently deletes a campaign (its calls stay, without the campaign link)write, destructive
list_call_assistantsLists the voice AI phone assistants (id, name, phone number, voice id and name, usage)read
get_call_assistantFull editable configuration of a call assistant (greeting, voice, routing, SMS/email, booking, opening hours, Vorgänge, …)read
update_call_assistantChanges settings of a live call assistantwrite, destructive
list_voicesLists the voices a call assistant can speak with, as offered in the dashboard: id (the stored call_voice value), name, gender, description, whether recommended or newly added, and a preview recording URLread
list_whatsapp_assistantsLists the WhatsApp AI assistantsread
get_whatsapp_assistantFull editable configuration of a WhatsApp AI assistant, with the dashboard names of the AI schedule, the Vorgänge and the handoff targets next to their values and idsread
update_whatsapp_assistantChanges settings of a live WhatsApp assistantwrite, destructive
create_call_assistantCreates a new call assistantwrite
list_email_assistantsLists the e-mail AI assistants (id, name, usage)read
get_email_assistantName, instructions and Vorgänge (task_type_ids, and task_types with their names) of an e-mail assistantread
create_email_assistantCreates an e-mail assistant with the account default Vorgängewrite
update_email_assistantChanges an e-mail assistantwrite, destructive
create_whatsapp_assistantCreates a WhatsApp assistant (counts against the assistant limit)write
delete_whatsapp_assistantPermanently deletes a WhatsApp assistant with its macros, documents and rules; numbers using it get no AI replies until another assistant is setwrite, destructive
list_whatsapp_macro_runsMacro runs of a WhatsApp assistant that stopped and need a person: state unknown (the document may or may not have arrived) or failed_terminal (it did not)read
resolve_whatsapp_macro_runCloses a macro run by hand (state resolved_manually); nothing is sentwrite
retry_whatsapp_macro_runSends the macro run document to the customer again over WhatsAppwrite
test_whatsapp_assistantSends a test message to a WhatsApp assistant and returns its simulated reply (or the macro it would fire)write
list_usersLists the team members a WhatsApp chat can be assigned to, with id, name and e-mail (the id is the assigned_user_id of a chat)read
get_member_limitThe account's member limit from its subscription, the number of billable members and whether another member can be invitedread
invite_team_memberAdds a person to the HalloFelix account and sends them an invitation e-mail (new users get a sign-in link)write
remove_team_memberRemoves a member from the account: they lose access, their per-user data in this account (push subscriptions, read state, voice clip, Keasy connection) is deleted and the WhatsApp chats assigned to them become unassignedwrite, destructive
list_whatsapp_accountsLists the connected WhatsApp business numbers (inboxes) with their inbox settingsread
get_whatsapp_accountOne connected WhatsApp business number with its inbox settings (AI, read receipts, automated messages, opening hours, AI schedule, assistant), with the dashboard labels of read receipts and AI schedule and the assistant nameread
list_whatsapp_conversationsLists WhatsApp chats with labels, customer, assignment (user id and name), status with its inbox label (Offen, Erledigt, KI deaktiviert) and last messageread
get_whatsapp_conversationOne WhatsApp chat with labels, customer, assignment (user id and name), status with its inbox label and last messageread
update_whatsapp_conversationClose (Erledigt) or reopen, snooze, assign (assigned_user_id = team member by user id, full name, first name or e-mail; null hands the chat back to the AI), set partner control, pause the AI for the customer, mark read/unread, name the contact, link a customer or set the notes the AI reads about the contactwrite, destructive
list_whatsapp_messagesMessages of a WhatsApp chat, oldest firstread
send_whatsapp_messageSends a message into an existing WhatsApp chat on behalf of the business: text, reply buttons (1-3, titles max 20 chars), a list (1-10 rows) or a templatewrite
start_whatsapp_conversationSends an approved template to a phone number, creating the contact and chat if needed (new chats always need a template)write
list_whatsapp_notesInternal team notes of a WhatsApp chat (never sent to the customer)read
add_whatsapp_noteAdds an internal team note to a WhatsApp chatwrite
add_whatsapp_voice_noteAdds an internal voice note to a WhatsApp chat: a WebM or Ogg recording (max. 10 MB, max. 5 minutes) downloaded from a public HTTPS URL is stored and transcribed, and the transcript becomes the note textwrite
list_whatsapp_labelsAll WhatsApp conversation labels of the accountread
add_whatsapp_conversation_labelsAdds labels to a chat and keeps the existing oneswrite
set_whatsapp_conversation_labelsReplaces all labels of a chat (an empty list removes all)write, destructive
list_whatsapp_templatesMessage templates of a WhatsApp number with their live Meta review statusread
get_whatsapp_templateOne template with its current Meta review statusread
create_whatsapp_templateCreates a template and submits it to Meta for review; it is sendable once status is approvedwrite
list_task_typesLists the task types ("Vorgänge") the assistants recognise and file: own task types and HalloFelix base templates, with name, description, instruction, emoji, active flag and whether they are editable (base templates must be detached first)read
get_task_typeOne task type (Vorgang) with its instruction and flagsread
create_task_typeCreates an own task type (Vorgang)write
update_task_typeChanges a task type: name, description, instruction, emoji (own or detached task types only) and/or activewrite, destructive
detach_task_typeTurns an active HalloFelix base template into an own, editable copy (" (Individuell)") that takes over its assistants; the base template is deactivatedwrite
delete_task_typeDeletes an own or detached task type and removes it from all assistantswrite, destructive
list_appointment_typesLists the appointment types (Termintypen) the call and WhatsApp assistants can book, with duration, buffers and the condition when to use themread
create_appointment_typeAdds an appointment type to exactly one call or WhatsApp assistantwrite
update_appointment_typeChanges an appointment typewrite, destructive
delete_appointment_typeDeletes an appointment type; the assistant can no longer book itwrite, destructive
list_calendarsLists the connected calendars (Google, Microsoft, iCloud, …) the assistants check and book intoread
get_calendarOne connected calendar with the appointments HalloFelix booked into itread
update_calendarRenames a connected calendar in HalloFelixwrite, destructive
delete_calendarDisconnects a calendar: assistants stop checking and booking it, and the provider connection is revoked when no other calendar uses it (reconnecting needs the dashboard)write, destructive
list_calendar_eventsBusy times of a connected calendar between from and to (ISO-8601, at most 92 days, max. 200 events)read
book_calendar_appointmentBooks an appointment into the real connected calendar of the business (fails with 409 slot_taken if the slot is busy)write
get_accountCompany profile and locations the assistants use, recording settings (save_audio_recording, recording_retention_days) and the customer memory switchread
update_accountChanges company settingswrite, destructive
get_crm_ai_accessWhether the WhatsApp AI may look up customer data in the connected CRM, which parts (contracts, damages, Vorgänge, master data, health lines) and the CRM connectionsread
update_crm_ai_accessChanges the CRM data access of the AIwrite, destructive
list_documentsLists the knowledge documents (PDF/DOCX) the assistants answer from, with their status (processing, done, failed)read
delete_documentDeletes a knowledge document; the assistants no longer answer from itwrite, destructive
upload_documentAdds a knowledge document the assistants answer from: a PDF or Word (.docx) file of max. 1 MB, downloaded from a public HTTPS URLwrite
get_assistant_voice_introWhether a call assistant plays a recorded greeting instead of its spoken first sentence, with the file name and a playback link valid for 60 minutesread
upload_assistant_voice_introSets or replaces the recorded greeting a call assistant plays at the start of calls (MP3, WAV or WebM, max. 2 MB), downloaded from a public HTTPS URLwrite, destructive
delete_assistant_voice_introDeletes the recorded greeting of a call assistant; it speaks its text first sentence againwrite, destructive
get_campaign_voice_introWhether a campaign's calls start with a recorded first sentence, with the file name and a playback link valid for 60 minutesread
upload_campaign_voice_introSets or replaces the recorded first sentence of a campaign's calls (MP3, WAV or WebM, max. 2 MB), downloaded from a public HTTPS URLwrite, destructive
delete_campaign_voice_introDeletes the recorded first sentence of a campaign; its calls use the text first sentence againwrite, destructive
add_whatsapp_pdf_templateAdds a PDF (max. 16 MB, downloaded from a public HTTPS URL) to a WhatsApp assistantwrite
delete_whatsapp_pdf_templateRemoves a PDF from a WhatsApp assistant and deletes the stored filewrite, destructive
set_whatsapp_template_header_mediaSets or replaces the default header file of a WhatsApp template with an image, video or document header, used when the template is sent without its own file: JPEG/PNG max. 5 MB, MP4/3GPP max. 16 MB or PDF max. 16 MB, downloaded from a public HTTPS URLwrite, destructive
delete_whatsapp_template_header_mediaRemoves the default header file of a WhatsApp template; sending the template then needs its own filewrite, destructive
get_insightsDashboard KPIs for a date range (default: last 30 days) compared with the period before: calls, call length and minutes, e-mails, WhatsApp messages (all / AI), a daily chart, open items, company figures and the Vorgang distributionread
get_crm_connectionWhether a CRM (Professional Works, blau direkt, arisecur, VEMA or JDC / iCRM) is connected to the account, when its contacts last synced and whether its login failedread
search_crm_contactsSearches the contacts HalloFelix synced from the connected CRM by name, e-mail or phone, most relevant firstread
get_crm_contactA synced CRM contact with details read live from the CRM: salutation, address, birthday, phone numbers, e-mail, statusread
list_crm_archive_destinationsThe contact's contracts, damages and Vorgänge in the CRM, read live; their ids are the archive destinations for calls, chats and documentsread
list_crm_contact_filesThe documents in the contact's Kundenakte in the CRM, read liveread
upload_crm_documentUploads a file (max. 10 MB, downloaded from a public HTTPS URL) to the connected CRM: into the contact's Kundenakte and/or onto its contracts, damages or Vorgängewrite
list_customer_crm_contact_matchesSynced CRM contacts that share a phone number or the e-mail with a HalloFelix customer, and which contact the customer is linked toread
link_customer_crm_contactLinks a customer to a synced CRM contact: the customer's name, phone numbers and e-mail are overwritten with the contact's, and another customer of the account with the contact's phone number is merged into this one (its calls, chats and notes move over and it is deleted)write, destructive
archive_call_in_crmStores the call's transcript as PDF in the connected CRM: in the contact's Kundenakte and/or on contracts, damages or Vorgängewrite, destructive
archive_whatsapp_chat_in_crmStores selected messages and notes of a WhatsApp chat as one PDF in the connected CRM: in the contact's Kundenakte and/or on contracts, damages or Vorgängewrite
upload_whatsapp_files_to_crmUploads files sent or received in a WhatsApp chat (photos, PDFs, …) to the connected CRM: into the contact's Kundenakte and/or onto contracts, damages or Vorgängewrite
get_webhookWhether an API webhook destination is configured, and its SHA-256 fingerprint (the URL itself is never returned)read
set_webhookSets the API webhook URL (public HTTPS)write, destructive
get_call_enrichmentWhether a pre-call enrichment URL is configured, and its SHA-256 fingerprint (the URL itself is never returned)read
set_call_enrichmentSets or removes (null) the pre-call enrichment URL (public HTTPS)write, destructive
update_whatsapp_accountChanges the inbox settings of a WhatsApp number; only sent fields changewrite, destructive
list_whatsapp_template_foldersTemplate folders of a WhatsApp number, each with its templatesread
create_whatsapp_template_folderCreates a template folder (exists only in HalloFelix, not at Meta)write
rename_whatsapp_template_folderRenames a template folderwrite, destructive
delete_whatsapp_template_folderDeletes a template folder; its templates move back to the default folder (the templates themselves stay)write, destructive
move_whatsapp_template_to_folderFiles a template in a folder of the same WhatsApp numberwrite, destructive
list_whatsapp_ai_exclusionsCustomers the WhatsApp AI never answers; their chats go to the teamread
set_whatsapp_ai_exclusionexcluded=true: the AI stops answering this customer in all chats and the team takes them over; false: their chats go back to the AIwrite, destructive
open_whatsapp_conversationFinds or creates the chat with a phone number on a WhatsApp number without sending anythingwrite
delete_whatsapp_conversationPermanently deletes a chat with all its messages, notes and files for the whole teamwrite, destructive
search_whatsapp_messagesSearches the messages of all WhatsApp chats (archived too), newest first: text, captions and voice transcriptionsread
react_to_whatsapp_messageReacts to a customer message with an emoji the customer sees at once (emoji null removes the reaction)write
retry_whatsapp_messageSends a failed outbound text or template again (within 24h of the failure) as a new message to the customerwrite
list_scheduled_whatsapp_messagesTemplates scheduled to be sent into a chat that have not gone out yet, soonest firstread
schedule_whatsapp_templateSchedules an approved template to be sent into a chat at a future timewrite
cancel_scheduled_whatsapp_messageCancels a scheduled template before it is sentwrite, destructive
send_whatsapp_mediaSends an image, video, document or audio from a public URL into a chat (within the 24h window, WhatsApp size limits apply)write
list_whatsapp_mediaFiles of a chat (both directions), newest first, 50 per pageread
create_whatsapp_labelCreates a conversation label (at most 20 per account)write
update_whatsapp_labelRenames or recolors a labelwrite, destructive
delete_whatsapp_labelDeletes a label; it disappears from every chat that had itwrite, destructive
remove_whatsapp_conversation_labelTakes one label off a chat and keeps the otherswrite, destructive

Notes

  • Free-form WhatsApp messages only work within 24 h of the customer's last message; outside that window send an approved template.
  • Call recording links are signed and valid for 60 minutes.
  • Full REST API and webhook reference: https://app.hallofelix.de/docs/external-api.md

Support

support@hallofelix.de · hallofelix.de · InsurMagic GmbH