LeashIndex Get the report

Index / payments

Outil.io

io-outil-outil declares 258 capabilities across 258 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://outil.io/mcp, published in the official MCP registry as io.outil/outil 2.1.1. 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 258 tools

258 of 258 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 · 66 of 258 tools

66 tools are classified as irreversible or destructive and declare no limit. 55 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 · 5 of 258 tools

5 tools are classified as moving money and declare no dollar limit. A cap on the number of payments does not bound their amount.

high · no-expiry · All 258 tools

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

258 of 258 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 · 74 of 258 tools

74 tools can modify data and declare no limit.

low · uncapped-read · 118 of 258 tools

118 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_operator_guideread declared
batch_actionsdestructive declared
batch_recordsdestructive declared
describe_resourcesread declared
list_recordsread declared
get_recordread declared
create_recordread inferred
update_recorddestructive declared
delete_recorddestructive declared
duplicate_recordread inferred
list_crm_form_responsesread declared
get_contact_form_responsesread declared
list_conversationsread declared
get_conversationread declared
save_conversationdestructive declared
send_conversation_messagedestructive declared
describe_collectionsread declared
list_collectionsread declared
create_collectionwrite inferred
prepare_collection_automationwrite assumed
get_collectionread declared
update_collectiondestructive declared
set_collection_statewrite inferred
claim_collectionwrite assumed
import_collection_rowswrite assumed
report_collectionwrite assumed
list_collection_rowsread declared
update_collection_rowdestructive declared
export_collection_rowsread declared
delete_collectiondestructive declared
describe_formsread declared
list_formsread declared
list_form_responsesread declared
get_form_responseread declared
update_form_responsedestructive declared
export_form_responsesread declared
describe_sales_journeysread declared
get_journey_plan_stateread declared
list_journey_service_optionsread declared
list_sales_journeysread declared
get_sales_journeyread declared
create_sales_journeywrite inferred
update_sales_journeydestructive declared
get_sales_journey_resultsread declared
describe_payment_pagesread declared
list_payment_pagesread declared
get_payment_pageread declared
create_payment_pagepay inferred
update_payment_pagepay inferred
get_payment_page_webhookread declared
configure_payment_page_webhookpay inferred
retry_payment_page_webhookpay inferred
delegate_task_to_monassociewrite assumed
get_task_monassocie_missionread declared
list_workflow_app_connectionsread declared
get_workflow_app_watchread declared
get_workflow_communicationread declared
describe_automationread declared
save_flowwrite assumed
save_agentwrite assumed
save_taskwrite assumed
run_flowwrite assumed
run_agentwrite assumed
list_runsread declared
get_runread declared
control_runwrite assumed
run_taskwrite assumed
set_task_statewrite inferred
claim_taskwrite assumed
complete_taskwrite assumed
get_flow_endpointread declared
rotate_flow_endpointdestructive declared
delete_flowdestructive declared
delete_agentdestructive declared
delete_taskdestructive declared
get_publication_statusread declared
rebuild_static_publicationwrite assumed
describe_form_webhooksread declared
get_dashboardread declared
get_contact_overviewread declared
change_contact_tagwrite assumed
bulk_contactswrite assumed
restore_contactwrite assumed
delete_contact_permanentlydestructive declared
export_contactsread declared
import_contactswrite assumed
send_newsletterdestructive declared
get_newsletter_statsread declared
send_smsdestructive declared
plan_prospect_searchread inferred
import_prospectswrite assumed
convert_prospectwrite assumed
exclude_prospectwrite assumed
check_social_postread inferred
publish_social_postsend inferred
check_ad_campaignread inferred
create_ad_campaignwrite inferred
queue_outreach_messagessend inferred
approve_outreach_messagessend inferred
claim_browser_taskswrite assumed
report_browser_taskwrite assumed
send_whatsappdestructive declared
send_telegramdestructive declared
get_telegram_invite_linkread declared
setup_telegram_webhooksend inferred
subscribe_to_campaignwrite assumed
stop_contact_campaigndestructive declared
resume_contact_campaignwrite assumed
refund_orderpay inferred
cancel_subscriptiondestructive declared
approve_commissionwrite inferred
create_enrollment_access_linkwrite inferred
create_affiliate_access_linkwrite inferred
create_community_member_access_linkwrite inferred
cancel_bookingdestructive declared
configure_domainwrite assumed
get_domain_statusread declared
verify_domainread inferred
get_page_statsread declared
find_page_by_slugread declared
list_teaching_coursesread declared
get_teaching_courseread declared
reorder_coursewrite assumed
enroll_studentsend inferred
review_assignmentdestructive declared
download_teaching_fileread declared
get_workspace_settingsread declared
update_workspace_settingsdestructive declared
get_identityread declared
connect_crayondestructive declared
list_teamread declared
add_team_memberwrite inferred
update_asset_metadatadestructive declared
create_workspacewrite inferred
retry_workflow_runwrite assumed
describe_workflowsread declared
set_workflow_statedestructive declared
workflow_historyread declared
simulate_workflowread declared
list_jobsread declared
list_api_keysread declared
create_api_keywrite inferred
revoke_api_keydestructive declared
get_authentication_optionsread declared
list_form_webhooksread declared
create_form_webhookwrite inferred
update_form_webhookdestructive declared
delete_form_webhookdestructive declared
rotate_form_webhook_secretdestructive declared
list_form_deliveriesread declared
preview_form_mappingdestructive declared
list_connectionsread declared
configure_connectiondestructive declared
remove_connectiondestructive declared
describe_connectionsread declared
upload_assetwrite inferred
list_projectsread declared
create_projectwrite inferred
switch_projectread inferred
open_in_outilread declared
preview_site_templatesread declared
get_template_import_guideread declared
list_managed_templatesread declared
create_template_draftwrite inferred
open_template_draftwrite assumed
get_template_reviewread declared
record_template_componentswrite assumed
update_template_metadatadestructive declared
publish_templatedestructive declared
archive_templatedestructive declared
preview_componentsread declared
create_editor_pagewrite inferred
describe_page_compositionread declared
search_componentsread declared
get_componentread declared
compose_pagedestructive declared
list_website_templatesread declared
record_website_inventorywrite assumed
create_website_from_templatewrite inferred
describe_editor_capabilitiesread declared
get_page_versionread declared
get_page_outlineread declared
get_page_blocksread declared
capture_page_imagesread declared
show_previewread declared
get_page_structureread declared
get_page_elementsread declared
apply_page_changesdestructive declared
list_form_submissionsread declared
connect_form_collectiondestructive declared
prepare_clone_improvementwrite assumed
get_clone_reviewread declared
record_clone_reviewwrite assumed
inspect_page_regionread declared
apply_clone_repairsdestructive declared
clone_websitedestructive declared
get_website_cloneread declared
control_website_clonewrite assumed
check_site_completenessread declared
get_page_revisionread declared
restore_section_revisiondestructive declared
enhance_imagewrite assumed
get_image_versionsread declared
select_image_versionwrite assumed
import_image_urlwrite assumed
get_site_activityread declared
get_current_siteread declared
describe_site_projectsread declared
list_site_projectsread declared
create_site_projectwrite inferred
get_site_projectread declared
add_site_project_messagesend inferred
request_site_proposalwrite inferred
get_site_project_jobread declared
cancel_site_project_jobdestructive declared
submit_site_proposalwrite assumed
get_site_proposalread declared
apply_site_proposaldestructive declared
publish_site_projectdestructive declared
get_site_template_documentread declared
list_site_templatesread declared
create_site_from_templatewrite inferred
list_pagesread declared
get_pageread declared
describe_page_styleread declared
list_template_sectionsread declared
copy_template_sectionread inferred
insert_html_sectiondestructive declared
search_photosread declared
import_html_pagewrite assumed
create_pagewrite inferred
edit_live_pagedestructive declared
batch_update_pagesdestructive declared
update_pagedestructive declared
publish_pagedestructive declared
list_revisionsread declared
restore_revisiondestructive declared
list_slide_themesread declared
create_presentationwrite inferred
list_presentationsread declared
get_presentationread declared
update_slidewrite inferred
insert_slidewrite inferred
delete_slidedestructive declared
move_slidewrite inferred
set_presentation_themewrite inferred
rename_presentationwrite inferred
delete_presentationdestructive declared
embed_presentationread declared
export_presentationread declared
generate_presentationwrite assumed
presentation_jobread declared
rewrite_slidewrite assumed
add_slide_aiwrite inferred
search_slide_imagesread declared
set_slide_imagewrite inferred
add_voiceoverwrite inferred
import_pptxwrite 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.