LeashIndex Get the report

Index / storage

PerfuMate

app-perfumate-perfumate declares 45 capabilities across 45 tools, with 2 critical issues.

91/100 exposureHigh exposure

Manifest recorded 2026-10-21 from tools/list on https://perfumate.app/mcp, published in the official MCP registry as app.perfumate/perfumate 1.1.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 45 tools

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

3 tools are classified as irreversible and declare no limit.

high · no-expiry · All 45 tools

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

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

23 tools can modify data and declare no limit.

low · uncapped-read · 19 of 45 tools

19 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
search_materialsread declared
get_materialread declared
check_formularead declared
find_starting_formularead declared
my_accountread declared
list_formulasread declared
get_formularead declared
list_versionsread declared
create_formulawrite inferred
edit_formulawrite inferred
update_formulawrite inferred
rename_folderwrite inferred
duplicate_formulawrite assumed
save_versionwrite inferred
branch_versionwrite assumed
open_versionwrite inferred
rename_versionwrite inferred
list_shelfread declared
get_shelf_materialread declared
add_to_shelfwrite inferred
update_bottlewrite inferred
make_dilutionwrite assumed
update_materialwrite inferred
list_batchesread declared
log_batchwrite assumed
journal_notewrite inferred
list_notesread declared
write_notewrite inferred
list_shoppingread declared
shopping_listdestructive declared
set_preferenceswrite inferred
delete_itemsread declared
confirm_deletedestructive declared
list_deletedread declared
restore_deleteddelete inferred
undo_last_changewrite assumed
get_scent_profileread declared
find_substitutesread declared
use_substituteread inferred
rebuild_from_shelfwrite assumed
insert_accordwrite inferred
view_accordread declared
decompose_accordwrite assumed
resync_accordwrite assumed
scale_to_concentrationwrite 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.