HAL
Customer conversations, help center, CRM, deals and email campaigns on HAL (chatwithhal.com).
What it does
HAL is an MCP server, a connector that lets an AI assistant use it as a tool. It is hosted: an assistant connects to it over the internet, nothing to install.
From the publisher's description, Electra Index matched it to 2 capabilities: crm integration and email automation. That makes it a candidate for tasks such as follow up on quotes or run email marketing campaigns.
Facts come from the Official MCP Registry, as declared by the publisher. Capabilities are matched automatically (low confidence). None of this is a test of the tool.
At a glance
How to connect
As declared in the Official MCP Registry · hosted endpoint tested by Electra Index 2h ago (live check)Hosted endpoint
https://api.chatwithhal.com/mcpstreamable-http
Required: Authorization (get it from the publisher)
MCP settings (Claude Desktop, Cursor and other MCP clients)
{
"mcpServers": {
"hal-1": {
"url": "https://api.chatwithhal.com/mcp",
"headers": {
"Authorization": "<your Authorization>"
}
}
}
}Replace the values in <angle brackets>.
Live check
Electra Index connected to the hosted endpoint 2h agoONLINE HAL answered an MCP connection on 30 Oct 2026 and introduced itself as @chatwithhal/mcp 1.0.0 (MCP protocol 2025-06-18).
134 tools offered to AI assistants
list_projects· List projects available to this MCP key. Call this first, then get_email_capabilities_overview for email features.list_conversations· List conversations with filters (status, spam, limit, offset). Each result says whether it is marked as spam.get_conversation· Get a conversation with its messages and attachment metadata. agents_typing lists teammates drafting a reply right now; if someone is, let them answer instead of replying over them. replied_to_email is set when the conversation started as aget_conversation_image· Get an image attached to a conversation message as MCP image content so the AI client can inspect it. Images over 2 MB are resized and compressed before delivery. Use an attachment ID returned by get_conversation.set_typing· Show the visitor and your teammates in the dashboard that a reply is being written. Call it right before you draft a reply the visitor will read, so a live agent sees the conversation is being handled. Do not call it for internal notes, forreply_to_conversation· Send an agent message to a conversation. To show a help article to the visitor, write `[label](hal-article:<article id or slug>)` into the `content` of reply_to_conversation. The widget renders it as a clickable card at that spot, on its owupdate_conversation· Update conversation status, assignment, snooze state, or spam. is_spam true does what "Mark as spam" does in the inbox: the conversation leaves the inbox, is marked read, and the same sender's next conversations in this project go straightgenerate_ai_response_suggestion· Generate an advisory-only HAL AI reply suggestion for the latest visitor message. Call this after get_conversation, then combine HAL's draft, evidence, and confidence with the conversation messages when composing your final answer. This toolist_article_groups· List all article groupscreate_article_group· Create a new article groupupdate_article_group· Update an article grouplist_articles· List articles, optionally filtered by group or to published ones. To show a help article to the visitor, write `[label](hal-article:<article id or slug>)` into the `content` of reply_to_conversation. The widget renders it as a clickable car
Show 88 more
find_relevant_articles· Find published help articles that fit a conversation, in the visitor's language and limited to ones this visitor may see. Matches the visitor's latest message, or `query` when given. Returns up to 6, best match first; weaker results can beget_article· Get an article with translationscreate_article· Create an article with an initial translationupdate_article· Update article properties or upsert a translationlist_contacts· List contacts with optional searchget_contact· Get a contact with full details, recent activity and the deals they are oncreate_contact· Create a new contactupdate_contact· Update a contactlist_crm_stages· List CRM pipeline stageslist_companies· List companies with optional search and stage filter. Includes companies with no linked contacts. Paginated.list_companies_by_stage· Read-only CRM board: list ALL companies grouped by pipeline stage, including companies with no linked contacts and unstaged companies. Returns per-stage deal totals so agents can reconcile Won totals with company rows. Company stage and deaget_company· Get a company with contacts, details and its deals. The company stage and deal_value mirror its primary deal.link_contact_to_company· Link an existing contact to an existing company. The operation is idempotent and both records must belong to the selected project.create_company· Create a new companyupdate_company· Update a companymerge_companies· Merge a duplicate company into a keeper. Contacts, tracked events, and CRM timeline move to the keeper; the source company is deleted. Use when the same org has a HAL-generated row and a later source-system (e.g. Apollo) id row. Refuses tolist_deals· List deals (sales opportunities). A company can have several deals: new business, expansion, renewal. Each deal has a stage, amount, expected close date, owner, next step and contacts. Filter by company, contact, stage, owner or status.get_deal_pipeline· Summarize the sales pipeline: per stage the number of deals, total and probability-weighted amount, plus open/won/lost totals, win rate and open deals whose expected close date has passed. Use list_deals for the deals themselves.get_deal· Get a deal with its company, stage, contacts and stage/amount historycreate_deal· Create a deal for a company. The company's own stage and value follow its primary deal (its newest open new-business deal).update_deal· Update a deal. Moving it to a 100% stage marks it won and a 0% stage marks it lost (pass lost_reason); moving it back to an open stage reopens it.set_deal_contact· Add a contact to a deal, or change their role on itremove_deal_contact· Remove a contact from a dealdelete_deal· Delete a deal. A company with no deals left drops out of the pipeline.get_email_capabilities_overview· Orientation for HAL email features: campaigns vs workflows vs broadcasts, templates vs project defaults vs inline design, sender domains, images, test sending, track_event, and unsubscribe/suppression. Call this before creating any campaignlist_email_templates· List reusable workflow email templates for a project.get_email_template· Get a reusable workflow email template.create_email_template· New to HAL email? Call get_email_capabilities_overview first. Create a reusable workflow email template.update_email_template· Update a reusable workflow email template.delete_email_template· Delete a reusable workflow email template. Existing campaigns keep their embedded copy.preview_email_template· Render an email template preview as subject, preheader, HTML, and plain text.validate_email_template· Validate an email template and return AI-client-friendly errors.send_test_email_template· Send a workflow email template test to an account user email address only.send_test_email_campaign· Send a test email for an existing email campaign to an account user email address only.list_email_suppressions· List email addresses suppressed for lifecycle email campaigns in a project.suppress_email_recipient· Suppress an email address so lifecycle email campaigns skip it. Defaults to category "all" (blocks everything); pass a specific category key (see list_email_categories) to block only that category.unsuppress_email_recipient· Remove an email address from the lifecycle email suppression list. Omit category to lift every suppression on the address (bounce/complaint rows are never removed); pass category to lift only that one.get_email_unsubscribe_status· Check whether an email address is currently suppressed for lifecycle email campaigns, for a given category (default "all").list_email_campaigns· List email campaigns backed by visitor workflows.get_email_campaign· Get email campaign details.list_event_names· List tracked lifecycle event names seen in a project.list_custom_properties· List visitor custom properties and sampled metadata keys available for campaign predicates and conditions.create_email_campaign· New to HAL email? Call get_email_capabilities_overview first. Create an email campaign using campaign language instead of workflow graph internals.update_email_campaign· Update an email campaign.enable_email_campaign· Enable an email campaign.disable_email_campaign· Disable an email campaign.delete_email_campaign· Delete an email campaign. Refuses if another workflow in the project still chains into it via trigger_campaign or next_campaign_id.list_email_campaign_runs· List email campaign runs with delivery, open, and click data.get_email_campaign_run· Get one email campaign run with clicked URLs.list_email_categories· List a project's email categories used for per-category unsubscribe/preferences (marketing, product updates, transactional, ...). A project with no customized categories returns the built-in defaults.update_email_categories· Replace the full set of email categories for a project (upserts by key, removes any key not included). Refused with the referencing suppressions/broadcasts/workflows if a key still in use would be removed.list_email_images· List images in a project’s email image library, newest first. Use these for lifecycle/workflow email `image` blocks.upload_email_image· Upload an image to a project's email image library so it can be used in lifecycle/workflow email `image` blocks (email_block_types.image.url must be an absolute URL — external hosting is no longer required). Provide exactly one of data_basedelete_email_image· Delete an image from a project’s email image library. Remove it from any email templates first, or the image block will break.list_broadcasts· List one-off email broadcasts for a project.get_broadcast· Get a single email broadcast, including delivery/open/click counts. With an A/B test, `ab_test` has its settings, `phase` (testing, waiting, winner_sending, done, skipped, cancelled), `ends_at` (automatic winner pick), the `winner`, and `recreate_broadcast· New to HAL email? Call get_email_capabilities_overview first. Create a draft (or scheduled, if scheduled_at is set) one-off email broadcast. Does not send anything.update_broadcast· Update a draft or scheduled broadcast (name, email content, audience, schedule, list-hygiene or tracking options, A/B test).delete_broadcast· Delete a broadcast. Refused while it is actively sending.preview_broadcast_audience· Preview who a broadcast (or a candidate audience) would reach: match count, suppressed count, contacts left out by list hygiene (invalid/disposable/role addresses, unengaged, recently emailed) per reason, and a sample.get_broadcast_audience_fields· List the fields available for building a broadcast audience (contact/company builtins, sampled metadata keys, valid operators per type).send_test_broadcast_email· Send a test of a broadcast email to an account user email address only (never to real contacts).schedule_broadcast· Schedule a draft (or reschedule a scheduled) broadcast to send at a future time.send_broadcast_now· IMMEDIATELY sends this broadcast to its whole live audience - a real, irreversible email blast to real contacts, not a test. You MUST call preview_broadcast_audience first and pass its exact `count` as confirm_recipient_count; a mismatch iscancel_broadcast· Cancel a scheduled, in-progress, or paused broadcast. Recipients not yet sent to are marked cancelled.list_broadcast_recipients· List the per-recipient delivery status for a broadcast.get_broadcast_readiness· Deliverability checklist for a broadcast before sending: sender authentication (custom domain, DMARC, MAIL FROM/SPF), postal address, project bounce/complaint health, warm-up capacity (how many days the send will be spread over), and contenresume_broadcast· Resume a paused broadcast. Broadcasts auto-pause when their bounce or spam-complaint rate is too high, or when a scheduled send hits a blocking deliverability check; `pause_reason` says why. Only resume after the user understands the reasonselect_broadcast_ab_winner· End a broadcast's A/B test early and send the winner to the rest of the audience now, instead of waiting for the automatic pick. `ab_test.results` on get_broadcast shows each variant's open/click rates. Pass `variant` to choose it; omit itget_email_deliverability· Project email reporting. Always returns: health (last 30 days across every campaign, workflow and broadcast: sent, sent_last_24h, delivered, hard bounces (bounced), soft bounces, complaints and their rates, plus the status that blocks broadupdate_email_postal_address· Set the physical mailing address shown in the footer of every marketing/lifecycle email (required by CAN-SPAM). Pass null or an empty string to remove it. Confirm the exact address with the user first.reset_email_deliverability_health· Start a fresh 30-day health window for a project that is blocked from sending broadcasts by old bounces or complaints. ONLY use this after the bounced and complained addresses have been suppressed (list_email_suppressions / suppress_email_rget_workflow_builder_reference· New to HAL email? Call get_email_capabilities_overview first. Static reference for building visitor workflows through create_workflow/update_workflow/validate_workflow: trigger shapes, node types, graph rules, condition/predicate operators,list_workflows· List visitor workflows for a project (trigger + branching graph automations), ordered by priority.get_workflow· Get a visitor workflow including its full node/edge graph definition.validate_workflow· Validate a visitor workflow definition without saving it. Same input as create_workflow.create_workflow· New to HAL email? Call get_email_capabilities_overview first. Create a visitor workflow: a trigger plus a branching graph of condition/send_widget_message/send_email/trigger_campaign/end nodes. Call get_workflow_builder_reference first.update_workflow· Update a visitor workflow. Partial: only provided fields change. If trigger fields change without a new definition, the existing trigger node is synced in place.delete_workflow· Delete a visitor workflow. Refuses if another workflow in the project still chains into it via trigger_campaign or next_campaign_id.set_workflow_enabled· Enable or disable a visitor workflow.reorder_workflows· Reorder visitor workflows by priority; the first id in the list gets the highest priority.list_workflow_executions· List execution history for a visitor workflow.get_workflow_execution· Get one visitor workflow execution.get_workflow_email_defaults· Get the project default email design used to seed new send_email nodes.update_workflow_email_defaults· Update the project default email design (subject/preheader/theme/template_document) used to seed new send_email nodes. Merges into the project config without touching other settings.send_test_workflow_email· Send a real test email for one send_email node in a workflow to an account user email address only.list_test_email_recipients· List account user emails allowed as workflow/email test recipients.track_event· Track a lifecycle event exactly like the public track-event API. THIS CAN SEND REAL EMAILS: matching enabled api_trigger workflows fire immediately for real contacts. Use dry_run to preview matches without tracking or sending anything. Work
The first 100 are shown.
What "online" means: the server answered an MCP connection at the time of the check. It is not a guarantee of security, quality or continuous uptime. How we test: we open an MCP session and ask for the tool list, as an AI assistant would. We never run a tool and never send a key. Checked every few days. Method
Is this your server? Monitoring Pro: a check every 30 minutes and an email within the hour when it stops answering. Launch offer: $39.99 once, for life.
Tasks it helps with
Share of each task's required capabilities it covers| Follow up on quotes CRM Integration · Email Automation | 100% |
| Run email marketing campaigns Email Automation | 50% |
| Enrich CRM contacts CRM Integration | 50% |
| Book sales meetings Email Automation | 50% |
| Draft emails Email Automation | 50% |
| Manage my inbox Email Automation | 50% |
| Run satisfaction surveys Email Automation | 50% |
| Send and chase invoices Email Automation | 50% |
Similar tools
Listed for the same task: follow up on quotes- ActivecampaignREMOTELOCALActiveCampaign MCP Pack — email marketing + CRM (API v3)
- SendbloxREMOTELOCALAI outreach + email sending connected to your CRM. Requires a paid Sendblox account
- SendPulseREMOTELOCALEmpower AI agents with SendPulse email, CRM, chatbot, SMTP, and course automation
- GigonomREMOTELOCALSmall-business CRM, tasks, social posting, email campaigns, analytics and growth hypotheses
- RaiseKitREMOTELOCALCRM for VC fundraising. Pipeline, Gmail drafts, deck signals, VC intel — from your AI
- Trumpia MCP by usefulapiREMOTELOCALRead Trumpia lists, subscribers, keywords and reports; add contacts and send SMS or email campaigns
Ready-made AI agents
- $49/mo · free plan · Prices & score →
- $19.99/mo · free plan · Prices & score →
- $59/mo · Prices & score →
- On quote · Prices & score →
Facts & evidence
Each fact shows where it was seen and when.| Fact | Value | Evidence | Source | Last confirmed |
|---|---|---|---|---|
| Hosted endpoint | https://api.chatwithhal.com/mcp | DECLARED | SRC-001 Official MCP Registry | 2h ago |
| Local install (package) | no | DECLARED | SRC-001 Official MCP Registry | 2h ago |
| Remote access (hosted) | yes | DECLARED | SRC-001 Official MCP Registry | 2h ago |
| Website | https://chatwithhal.com/docs/mcp | DECLARED | SRC-001 Official MCP Registry | 2h ago |
| Registry status | active | DECLARED | SRC-001 Official MCP Registry | 2h ago |
| Version | 1.0.0 | DECLARED | SRC-001 Official MCP Registry | 2h ago |
| MCP server | yes | DECLARED | SRC-001 Official MCP Registry | 2h ago |
Change history
- NEW30 Oct 2026first seen in the index
Is this page accurate?
Flag it and our robot re-checks the official source. Reports never change a score.Is HAL still online?
Free alerts · no accountDo you run HAL? Know when it stops answering
For publishers · optionalIts hosted endpoint can be monitored. Monitoring Pro connects every 30 minutes like an AI assistant, emails you within the hour when it stops answering, keeps a 90-day availability history and adds your answer rate to your badge.
Monitoring never changes a score or a rank.
Questions about HAL
How do I connect HAL?
Use the hosted endpoint https://api.chatwithhal.com/mcp in your assistant's MCP settings. The exact settings are in "How to connect" above, as declared in the Official MCP Registry.
Does HAL need an API key or token?
Yes. The registry entry lists a required value: Authorization. Get it from the publisher.
What tools does HAL offer?
When Electra Index connected on 30 Oct 2026, it listed 134 tools: list_projects, list_conversations, get_conversation, get_conversation_image, set_typing, reply_to_conversation, update_conversation, generate_ai_response_suggestion and more. The full list is in "Live check" above.
Is HAL online?
Yes. Its hosted endpoint answered an MCP connection from Electra Index 2h ago.
What can I use HAL for?
Based on its description, it is most relevant to: follow up on quotes, run email marketing campaigns, enrich CRM contacts, book sales meetings.