LeashIndex Get the report

Index / crm

Cosend

app-cosend-mcp declares 98 capabilities across 98 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://mcp.cosend.app/mcp, published in the official MCP registry as app.cosend/mcp 2026.11.6. 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 98 tools

98 of 98 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 · destructive-uncapped · 48 of 98 tools

48 tools are annotated by the server as destructive (destructiveHint) and declare no limit. In MCP that annotation marks a tool that may make destructive changes rather than only additive ones; it does not say the change cannot be undone.

high · no-expiry · All 98 tools

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

98 of 98 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.

low · uncapped-read · 50 of 98 tools

50 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
whoamiread declared
list_conversationsread declared
search_conversationsread declared
read_conversationread declared
send_messagedestructive declared
list_contactsread declared
upsert_contactdestructive declared
set_contact_consentdestructive declared
list_templatesread declared
submit_templatedestructive declared
list_automationsread declared
validate_automationread declared
upsert_automationdestructive declared
deploy_automationdestructive declared
set_automation_statedestructive declared
list_runsread declared
get_runread declared
get_usageread declared
resolve_conversationdestructive declared
create_setup_linkdestructive declared
check_setup_linkread declared
cancel_setup_linkdestructive declared
whatsapp_linkread declared
template_checkread declared
message_costread declared
get_conversationread declared
search_messagesread declared
get_messageread declared
get_mediaread declared
get_inbox_overviewread declared
mark_readdestructive declared
translate_messagedestructive declared
draft_replydestructive declared
update_conversationdestructive declared
bulk_update_conversationsdestructive declared
take_over_conversationdestructive declared
ask_for_conversationdestructive declared
list_chat_notesread declared
chat_notesdestructive declared
list_inbox_viewsread declared
inbox_viewsdestructive declared
get_contactread declared
update_contactdestructive declared
tag_contactdestructive declared
delete_contactdestructive declared
merge_contactsdestructive declared
list_contact_fieldsread declared
contact_fieldsdestructive declared
import_contactsdestructive declared
list_contact_importsread declared
list_numbersread declared
get_numberread declared
list_connectorsread declared
get_integration_accountsread declared
list_google_loginsread declared
get_setup_guideread declared
get_templateread declared
change_templatedestructive declared
sync_templatesdestructive declared
list_template_category_changesread declared
acknowledge_category_changedestructive declared
get_automationread declared
manage_automationdestructive declared
test_automationdestructive declared
run_automationdestructive declared
cancel_rundestructive declared
get_automation_catalogueread declared
automation_recipesread declared
get_reply_orderread declared
list_membersread declared
get_billingread declared
get_reportread declared
get_data_policyread declared
upload_mediadestructive declared
get_assistant_personaread declared
update_assistant_personadestructive declared
get_knowledgeread declared
change_knowledgedestructive declared
try_assistantdestructive declared
get_business_profileread declared
update_numberdestructive declared
manage_numberdestructive declared
read_integrationread declared
manage_integrationdestructive declared
create_spreadsheetdestructive declared
get_authoring_chatread declared
describe_automationdestructive declared
get_approvalsread declared
request_approvaldestructive declared
list_audiencesread declared
create_audiencedestructive declared
list_campaignsread declared
get_campaignread declared
create_campaigndestructive declared
update_campaigndestructive declared
preview_campaigndestructive declared
send_campaigndestructive declared
cancel_campaigndestructive 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.