LeashIndex Get the report

Index / storage

Hermoso: AI Ad Generator

io-github-hermoso-ai-hermoso-ai-ad-generator declares 188 capabilities across 188 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://app.hermoso.ai/mcp?tools=app-create&src=registry, published in the official MCP registry as io.github.hermoso-ai/hermoso-ai-ad-generator 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 188 tools

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

45 tools are classified as irreversible or destructive and declare no limit. 37 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 188 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 188 tools

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

188 of 188 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 · 79 of 188 tools

79 tools can modify data and declare no limit.

low · uncapped-read · 64 of 188 tools

64 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
enable_toolsread inferred
find_toolsread declared
call_tooldestructive declared
hermoso_capabilitiesread declared
hermoso_creditsread declared
buy_creditspay inferred
report_bugwrite assumed
request_featurewrite inferred
billing_statusread declared
upgrade_planwrite assumed
set_auto_reloadwrite inferred
list_brandsread declared
use_brandwrite assumed
create_brandwrite inferred
delete_branddestructive declared
upload_filewrite inferred
save_to_drivewrite assumed
import_from_cloudwrite assumed
list_drive_filesread declared
get_drive_fileread declared
update_drive_filedestructive declared
delete_drive_filedestructive declared
create_drive_folderwrite inferred
create_sheetwrite inferred
append_to_sheetwrite assumed
read_sheetread declared
export_swipefile_deckwrite assumed
list_notion_pagesread declared
save_to_notionwrite assumed
append_to_notion_pagewrite inferred
read_notion_pageread declared
export_schedule_to_notionsend inferred
query_notion_databaseread declared
update_notion_rowdestructive declared
create_docwrite inferred
append_to_docwrite assumed
read_docread declared
list_sheet_tabsread declared
update_sheetdestructive declared
clear_sheet_rangedestructive declared
manage_sheet_tabsdestructive declared
format_sheetdestructive declared
update_docdestructive declared
save_to_onedrivewrite assumed
list_onedrive_filesread declared
get_onedrive_fileread declared
update_onedrive_filedestructive declared
delete_onedrive_filedestructive declared
share_onedrive_filedestructive declared
onedrive_file_permissionsdestructive declared
convert_onedrive_filewrite assumed
create_onedrive_folderwrite inferred
plan_adwrite assumed
clone_videowrite assumed
click_to_adwrite assumed
generate_imagewrite assumed
edit_imagewrite inferred
headline_variantswrite assumed
resize_adwrite assumed
localize_adwrite assumed
make_thumbnailwrite assumed
generate_voicewrite assumed
generate_sfxwrite assumed
generate_musicwrite assumed
generate_textwrite assumed
render_adwrite assumed
make_template_adwrite assumed
make_motion_filmwrite assumed
finish_videosend inferred
post_editsend inferred
edit_timelinewrite inferred
video_framesread inferred
fix_beatwrite assumed
clip_videowrite assumed
add_subtitleswrite inferred
make_explainerwrite assumed
resume_jobwrite assumed
make_serieswrite assumed
make_effectwrite assumed
product_sizzlewrite assumed
generate_videowrite assumed
generate_avatarwrite assumed
stitch_videowrite assumed
get_jobread declared
plan_weeksend inferred
list_skillsread declared
get_skillread declared
save_skillwrite assumed
delete_skilldestructive declared
list_memoryread declared
rememberwrite assumed
forgetdestructive declared
tidy_memorydestructive declared
list_swipefileread declared
save_to_swipefilewrite assumed
update_saved_creatordestructive declared
list_playbooksread declared
save_playbookwrite assumed
delete_playbookdestructive declared
list_creatorsread declared
save_creatorwrite inferred
delete_creatordestructive declared
update_branddestructive declared
store_getread declared
get_settingsread declared
update_settingsdestructive declared
list_connectorsread declared
list_connector_accountsread declared
set_connector_accountsdestructive declared
disconnect_connectordestructive declared
connect_connectordestructive declared
leave_connectordestructive declared
list_teamread declared
invite_memberdestructive declared
remove_memberdestructive declared
set_roledestructive declared
list_jobsread declared
list_errorsread declared
error_detailread declared
find_competitorsread inferred
pull_competitor_adswrite assumed
set_competitor_watchdestructive declared
list_watch_findingsread declared
research_adswrite assumed
search_meta_adsread inferred
search_google_adsread inferred
search_linkedin_adsread inferred
find_creatorsread inferred
search_postsread inferred
tiktok_ideassend inferred
search_tiktokread inferred
search_instagramread inferred
search_youtuberead inferred
search_redditread inferred
search_threadsread inferred
search_meta_placesread inferred
fetch_social_dataread inferred
get_brandread declared
draft_branddestructive declared
list_libraryread declared
delete_library_itemdestructive declared
fetch_assetread declared
analyze_videoread inferred
repurpose_transcriptwrite assumed
find_soundread inferred
make_insertwrite inferred
score_adwrite assumed
check_videoread inferred
reframe_videowrite assumed
repurpose_videowrite assumed
repurpose_imagewrite assumed
add_presenterwrite inferred
insert_scenewrite inferred
upscale_videowrite assumed
finish_draftwrite assumed
restyle_videowrite assumed
edit_videowrite inferred
multiply_adwrite assumed
hook_variantswrite assumed
dub_videowrite assumed
change_voicewrite assumed
recast_motionwrite inferred
recast_hookwrite assumed
face_checkread declared
plan_variationswrite assumed
make_static_adswrite assumed
make_listing_setread inferred
list_productsread inferred
add_productdestructive declared
refresh_productsdestructive declared
update_productdestructive declared
remove_productdestructive declared
competitor_teardownwrite assumed
check_ad_policyread inferred
clone_staticwrite assumed
remix_staticwrite assumed
mine_angleswrite assumed
list_product_photosread inferred
set_product_imagedestructive declared
fetch_app_screensread inferred
list_meta_postsread declared
list_published_postsread declared
list_hooksread declared
list_templatesread declared
post_performanceread declared
diagnose_postsread declared
collect_post_metricssend inferred
backfill_postssend inferred
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.