LeashIndex Get the report

Index / messaging

Courier

io-github-trycourier-courier declares 173 capabilities across 173 tools, with 2 critical issues.

100/100 exposureHigh exposure

Manifest recorded 2026-10-11 from tools/list on https://mcp.courier.com, published in the official MCP registry as io.github.trycourier/courier 1.3.7. 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 173 tools

173 of 173 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 · 47 of 173 tools

47 tools are classified as irreversible and declare no limit.

high · no-expiry · All 173 tools

173 of 173 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 173 tools

173 of 173 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 · 45 of 173 tools

45 tools can modify data and declare no limit.

low · uncapped-read · 81 of 173 tools

81 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_messagesread declared
get_messageread declared
get_message_contentread declared
get_message_historyread declared
list_notificationsread declared
get_notification_contentread declared
get_notification_draft_contentread declared
create_notificationwrite inferred
get_notificationread declared
replace_notificationwrite assumed
put_notification_contentwrite assumed
put_notification_elementwrite inferred
put_notification_localewrite inferred
list_notification_versionsread declared
list_notification_checksread declared
list_providersread declared
get_providerread declared
list_provider_catalogread declared
get_routing_strategyread declared
list_routing_strategiesread declared
list_preference_sectionsread declared
get_preference_sectionread declared
list_preference_topicsread declared
get_preference_topicread declared
create_journeywrite inferred
get_journeyread declared
replace_journeydestructive declared
create_journey_templatewrite inferred
put_journey_template_contentdestructive declared
put_journey_template_localewrite inferred
list_journeysread declared
list_journey_templatesread declared
get_journey_templateread declared
get_journey_template_contentread declared
get_notification_metricsread declared
get_tenantread declared
list_tenantsread declared
list_tenant_usersread declared
get_user_profile_by_idread declared
get_user_list_subscriptionsread declared
get_user_preferencesread declared
get_user_preference_topicread declared
list_user_tenantsread declared
list_brandsread declared
get_brandread declared
courier_installation_guideread declared
list_automationsread declared
list_audiencesread declared
get_audienceread declared
list_audience_membersread declared
list_listsread declared
get_listread declared
get_list_subscribersread declared
list_digest_instancesread declared
update_audiencewrite inferred
delete_audiencedestructive declared
get_audit_eventread declared
list_audit_eventsread declared
generate_jwt_for_userwrite assumed
invoke_automation_templatewrite assumed
invoke_ad_hoc_automationwrite assumed
cancel_automationdelete inferred
list_automation_runsread declared
list_automation_run_stepsread declared
create_brandwrite inferred
update_brandwrite inferred
delete_branddestructive declared
create_bulk_jobwrite inferred
add_bulk_userswrite inferred
run_bulk_jobwrite assumed
get_bulk_jobread declared
list_bulk_usersread declared
track_inbound_eventread inferred
create_listread inferred
subscribe_user_to_listread inferred
unsubscribe_user_from_listdestructive declared
delete_listdestructive declared
restore_listread inferred
bulk_subscribe_to_listdestructive declared
add_subscribers_to_listread inferred
cancel_messagedestructive declared
resend_messagesend inferred
trace_messageread declared
archive_notificationdestructive declared
publish_notificationsend inferred
update_notification_checkswrite inferred
cancel_notification_submissiondestructive declared
create_or_merge_userwrite inferred
replace_profiledestructive declared
patch_profilewrite inferred
delete_profiledestructive declared
subscribe_user_to_listsread inferred
delete_user_list_subscriptionsdestructive declared
send_messagesend inferred
send_message_templatesend inferred
send_message_to_listsend inferred
send_message_to_list_templatesend inferred
create_or_update_tenantwrite inferred
delete_tenantdestructive declared
update_tenant_preferencewrite inferred
delete_tenant_preferencedestructive declared
list_tenant_templatesread declared
get_tenant_templateread declared
replace_tenant_templatesend inferred
publish_tenant_templatesend inferred
get_tenant_template_versionread declared
delete_tenant_templatedestructive declared
get_translationread declared
update_translationwrite inferred
list_user_push_tokensread declared
get_user_push_tokenread declared
create_or_replace_user_push_tokenwrite inferred
bulk_add_user_tokenswrite inferred
patch_user_tokenwrite inferred
delete_user_tokendestructive declared
update_user_preference_topicwrite inferred
delete_user_preference_topicdestructive declared
add_user_to_tenantwrite inferred
remove_user_from_tenantdestructive declared
bulk_add_user_tenantswrite inferred
remove_all_user_tenantsdestructive declared
bulk_update_user_preferenceswrite inferred
bulk_replace_user_preferencesdestructive declared
archive_requestdestructive declared
create_routing_strategywrite inferred
replace_routing_strategywrite assumed
archive_routing_strategydestructive declared
list_routing_strategy_notificationsread declared
invoke_journeywrite assumed
publish_journeysend inferred
archive_journeydestructive declared
list_journey_versionsread declared
replace_journey_templatewrite assumed
archive_journey_templatedestructive declared
publish_journey_templatesend inferred
list_journey_template_versionsread declared
cancel_journeydestructive declared
list_journey_runsread declared
get_journey_runread declared
list_journey_run_stepsread declared
create_providerwrite inferred
update_providerdestructive declared
delete_providerdestructive declared
create_preference_sectionwrite inferred
replace_preference_sectionwrite assumed
archive_preference_sectiondestructive declared
publish_preferencessend inferred
create_preference_topicwrite inferred
replace_preference_topicwrite assumed
archive_preference_topicdestructive declared
list_preference_logsread declared
release_digestwrite assumed
release_user_digestwrite assumed
list_broadcastsread declared
create_broadcastwrite inferred
get_broadcastread declared
rename_broadcastwrite inferred
delete_broadcastdestructive declared
get_broadcast_contentread declared
put_broadcast_contentwrite assumed
send_broadcastsend inferred
schedule_broadcastsend inferred
cancel_broadcast_scheduledestructive declared
duplicate_broadcastwrite assumed
list_preview_devicesread declared
list_preview_device_setsread declared
create_preview_device_setread inferred
get_preview_device_setread declared
replace_preview_device_setread inferred
archive_preview_device_setdestructive declared
create_preview_runread inferred
list_preview_runsread declared
get_preview_runread declared
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.