LeashIndex Get the report

Index / crm

workload.zero

de-workloadzero-mcp declares 151 capabilities across 151 tools, with 3 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.workloadzero.de/mcp, published in the official MCP registry as de.workloadzero/mcp 1.0.3. 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 151 tools

151 of 151 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 · 34 of 151 tools

34 tools are classified as irreversible or destructive and declare no limit. 29 of them are counted only because the server annotated them destructiveHint. 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.

critical · uncapped-spend · 1 of 151 tools

1 tool is classified as moving money and declares no dollar limit. A cap on the number of payments does not bound their amount.

high · no-expiry · All 151 tools

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

151 of 151 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 · 54 of 151 tools

54 tools can modify data and declare no limit.

low · uncapped-read · 63 of 151 tools

63 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
get_my_profileread declared
update_my_profilewrite inferred
list_usersread declared
get_my_colleaguesread declared
list_team_membersread declared
searchread declared
list_notificationsread declared
mark_notifications_readread inferred
get_activity_feedread declared
list_projectsread declared
get_projectread declared
create_projectwrite inferred
update_projectwrite inferred
delete_projectdestructive declared
get_project_budgetread declared
list_project_membersread declared
add_project_memberwrite inferred
update_project_memberwrite inferred
remove_project_memberdestructive declared
list_clientsread declared
create_clientwrite inferred
list_tasksread declared
get_taskread declared
create_taskwrite inferred
update_taskwrite inferred
assign_task_to_mewrite inferred
unassign_me_from_taskdelete inferred
list_subtasksread declared
move_task_on_boardwrite inferred
add_task_linkwrite inferred
remove_task_linkdestructive declared
set_task_work_linksdestructive declared
delete_taskdestructive declared
restore_taskdelete inferred
list_deleted_tasksread declared
get_task_historyread declared
list_task_tagsread declared
add_task_commentwrite inferred
update_task_commentwrite inferred
delete_task_commentdestructive declared
toggle_task_comment_reactionwrite inferred
attach_file_to_taskwrite assumed
remove_task_attachmentdestructive declared
get_my_time_entriesread declared
list_time_entriesread declared
log_timewrite assumed
update_time_entrywrite inferred
delete_time_entrydestructive declared
start_timerwrite assumed
stop_timerwrite assumed
get_active_timerread declared
discard_timerdestructive declared
get_todays_goalsread declared
get_week_goalsread declared
list_goalsread declared
get_goals_for_taskread declared
create_goalwrite inferred
update_goalwrite inferred
complete_goalwrite assumed
check_goal_itemread inferred
delete_goaldestructive declared
list_my_absencesread declared
list_absencesread declared
request_absencewrite inferred
update_absencewrite inferred
delete_absencedestructive declared
review_absencedestructive declared
list_invoicesread declared
get_invoiceread declared
create_invoice_from_timewrite inferred
create_invoicewrite inferred
update_invoicewrite inferred
delete_invoicedestructive declared
record_invoice_paymentpay inferred
list_invoice_paymentsread declared
get_invoice_pdfread declared
get_revenueread declared
get_unbilled_hoursread declared
list_billing_clientsread declared
list_billing_entitiesread declared
create_billing_entitywrite inferred
update_billing_entitywrite inferred
list_quotesread declared
get_quoteread declared
estimate_quoteread declared
create_quotewrite inferred
update_quotewrite inferred
delete_quotedestructive declared
get_quote_pdfread declared
convert_quote_to_invoicedestructive declared
send_quotedestructive declared
list_dealsread declared
get_dealread declared
create_dealwrite inferred
upsert_dealsend inferred
update_dealwrite inferred
move_deal_stagewrite inferred
mark_deal_wonwrite assumed
mark_deal_lostdestructive declared
link_deal_to_projectwrite assumed
delete_dealdestructive declared
convert_dealwrite assumed
find_deal_by_refread declared
list_companiesread declared
get_companyread declared
upsert_companywrite inferred
update_companywrite inferred
delete_companydestructive declared
list_contactsread declared
get_contactread declared
upsert_contactsend inferred
update_contactwrite inferred
delete_contactdestructive declared
list_sales_activitiesread declared
create_sales_activitywrite inferred
update_sales_activitywrite inferred
complete_sales_activitywrite assumed
delete_sales_activitydestructive declared
list_leadsread declared
create_leadwrite inferred
update_leadwrite inferred
delete_leaddestructive declared
qualify_leadwrite assumed
convert_leadwrite assumed
list_pipelinesread declared
create_pipelinewrite inferred
update_pipelinedestructive declared
set_default_pipelinewrite inferred
delete_pipelinedestructive declared
get_sales_reportread declared
check_suppressionread declared
add_suppressionwrite inferred
list_suppressionsread declared
mark_gdpr_answeredwrite inferred
list_chatsread declared
get_chat_messagesread declared
send_messagedestructive declared
send_direct_messagedestructive declared
create_chatwrite inferred
edit_messagedestructive declared
delete_messagedestructive declared
mark_chat_readread inferred
get_unread_countsread declared
list_filesread declared
list_recent_filesread declared
search_filesread declared
get_file_detailsread declared
get_file_linkread declared
upload_filewrite inferred
create_folderwrite inferred
delete_filedestructive 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.