LeashIndex Get the report

Index / messaging

HAL

com-chatwithhal-mcp declares 136 capabilities across 136 tools, with 2 critical issues. One of them, no-revocation, is recorded for every server in the index because MCP has no field in which to declare a way to switch a tool off; a missing declaration is not evidence that the control is missing.

100/100 exposureHigh exposure

Manifest recorded 2026-11-08 from tools/list on https://api.chatwithhal.com/mcp, published in the official MCP registry as com.chatwithhal/mcp 1.0.0. The date changes only when the manifest does. Not verified by a maintainer.

Issues

These describe what this server's manifest declares. A product can provide controls that MCP has no way to express — token revocation, an admin console, audit logs — and this page cannot see them. The absence of a declaration is not evidence that a control is absent.

critical · no-revocation · All 136 tools

136 of 136 tools declare no way for the customer to switch them off once granted. This applies to every tool because MCP has no field in which to declare a revocation mechanism; the product may provide one outside MCP that a manifest cannot show.

critical · irreversible-uncapped · 33 of 136 tools

33 tools are classified as irreversible and declare no limit.

high · no-expiry · All 136 tools

136 of 136 tools declare no expiry. This applies to every tool because MCP has no field in which to declare an expiry; the product may provide one outside MCP that a manifest cannot show.

high · no-audit-trail · All 136 tools

136 of 136 tools declare no record of their actions that the customer can read. This applies to every tool because MCP has no field in which to declare an audit requirement; the product may provide one outside MCP that a manifest cannot show.

high · uncapped-write · 38 of 136 tools

38 tools can modify data and declare no limit.

low · uncapped-read · 65 of 136 tools

65 tools can read data and declare no limit.

Declared capabilities

How each tool was read. declared means the server's own annotation said so — self-reported and unverified. inferred is from the tool's name. assumed means nothing indicated either way.

ToolRead asBasis
list_projectsread inferred
list_conversationsread inferred
get_conversationread inferred
get_conversation_imageread inferred
set_typingwrite inferred
reply_to_conversationsend inferred
update_conversationwrite inferred
generate_ai_response_suggestionsend inferred
list_article_groupsread inferred
create_article_groupwrite inferred
update_article_groupwrite inferred
list_articlesread inferred
find_relevant_articlesread inferred
get_articleread inferred
create_articlewrite inferred
update_articlewrite inferred
delete_contactdelete inferred
list_contactsread inferred
get_contactread inferred
create_contactwrite inferred
update_contactwrite inferred
delete_companydelete inferred
list_crm_stagesread inferred
list_companiesread inferred
list_companies_by_stageread inferred
get_companyread inferred
link_contact_to_companywrite assumed
create_companywrite inferred
update_companywrite inferred
merge_companieswrite inferred
list_dealsread inferred
get_deal_pipelineread inferred
get_dealread inferred
create_dealwrite inferred
update_dealwrite inferred
set_deal_contactwrite inferred
remove_deal_contactdelete inferred
delete_dealdelete inferred
get_email_capabilities_overviewread inferred
list_email_templatesread inferred
get_email_templateread inferred
create_email_templatesend inferred
update_email_templatewrite inferred
delete_email_templatedelete inferred
preview_email_templateread inferred
validate_email_templateread inferred
send_test_email_templatesend inferred
send_test_email_campaignsend inferred
list_email_suppressionsread inferred
suppress_email_recipientsend inferred
unsuppress_email_recipientsend inferred
get_email_unsubscribe_statusread inferred
list_email_campaignsread inferred
get_email_campaignread inferred
list_event_namesread inferred
list_custom_propertiesread inferred
create_email_campaignsend inferred
update_email_campaignwrite inferred
enable_email_campaignsend inferred
disable_email_campaignsend inferred
delete_email_campaigndelete inferred
list_email_campaign_runsread inferred
get_email_campaign_runread inferred
list_email_categoriesread inferred
update_email_categorieswrite inferred
list_email_imagesread inferred
upload_email_imagesend inferred
delete_email_imagedelete inferred
list_broadcastsread inferred
get_broadcastread inferred
create_broadcastwrite inferred
update_broadcastwrite inferred
delete_broadcastdelete inferred
preview_broadcast_audienceread inferred
get_broadcast_audience_fieldsread inferred
send_test_broadcast_emailsend inferred
schedule_broadcastsend inferred
send_broadcast_nowsend inferred
cancel_broadcastdelete inferred
list_broadcast_recipientsread inferred
get_broadcast_readinessread inferred
resume_broadcastwrite assumed
select_broadcast_ab_winnersend inferred
get_email_deliverabilityread inferred
update_email_postal_addresswrite inferred
reset_email_deliverability_healthsend inferred
get_workflow_builder_referenceread inferred
list_workflowsread inferred
get_workflowread inferred
validate_workflowread inferred
create_workflowwrite inferred
update_workflowwrite inferred
delete_workflowdelete inferred
set_workflow_enabledwrite inferred
reorder_workflowswrite assumed
list_workflow_executionsread inferred
get_workflow_executionread inferred
get_workflow_email_defaultsread inferred
update_workflow_email_defaultswrite inferred
send_test_workflow_emailsend inferred
list_test_email_recipientsread inferred
track_eventread inferred
list_automationsread inferred
get_automationread inferred
create_automationwrite inferred
update_automationwrite inferred
toggle_automationwrite assumed
list_guidesread inferred
get_guideread inferred
create_guidewrite inferred
update_guidewrite inferred
toggle_guidewrite assumed
delete_guidedelete inferred
get_guide_statsread inferred
get_guide_healthread inferred
validate_guideread inferred
tag_messagesend inferred
untag_messagesend inferred
list_message_tagsread inferred
get_message_tags_statsread inferred
list_teamsread inferred
get_teamread inferred
list_macrosread inferred
get_macroread inferred
list_webhooksread inferred
create_webhookwrite inferred
update_webhookwrite inferred
delete_webhookdelete inferred
get_statisticsread inferred
get_sender_domainread inferred
configure_sender_domainsend inferred
check_sender_domainread inferred
update_sender_identitywrite inferred
remove_sender_domaindelete inferred
import_conversationwrite assumed
import_conversationswrite assumed
Answering this question about your own agent? The self-serve stack report applies the same reading to your own stack or server and gives you a dated document you can hand to a customer's security review. It is generated in your browser, with nobody to wait for. Buying one does not change this page, its score or its place in the index — see Independence.
Maintain this server? If this page misreads your manifest, or your server has changed, submit its current tools/list response and it will be re-scored and dated. Corrections are published alongside the original, not in place of it.