LeashIndex Get the report

Index / calendar

SaaS Alerts

io-github-wyre-ai-saas-alerts-mcp declares 30 capabilities across 30 tools, with 2 critical issues.

79/100 exposureHigh exposure

Manifest recorded 2026-10-14 from tools/list answered by the container image ghcr.io/wyre-ai/saas-alerts-mcp version v1.2.9 (published as the image ghcr.io/wyre-ai/saas-alerts-mcp:v1.2.9, listed in the official MCP registry as io.github.WYRE-AI/saas-alerts-mcp 1.2.9), run in an isolated container with no network access and placeholder credentials. 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 30 tools

30 of 30 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 · 5 of 30 tools

5 tools are classified as irreversible and declare no limit.

high · no-expiry · All 30 tools

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

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

3 tools can modify data and declare no limit.

low · uncapped-read · 22 of 30 tools

22 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
saas_alerts_navigateread declared
saas_alerts_statusread declared
saas_alerts_events_queryread declared
saas_alerts_events_countread declared
saas_alerts_events_query_advancedread declared
saas_alerts_events_count_advancedread declared
saas_alerts_events_scrollread declared
saas_alerts_recommended_actionsread declared
saas_alerts_customers_listread declared
saas_alerts_customers_getread declared
saas_alerts_customers_createwrite inferred
saas_alerts_customers_updatewrite inferred
saas_alerts_customers_deletedestructive declared
saas_alerts_customers_set_whitelistsdestructive declared
saas_alerts_customers_set_account_whitelistsdestructive declared
saas_alerts_users_get_mspread declared
saas_alerts_users_list_partnerread declared
saas_alerts_users_list_by_customerread declared
saas_alerts_devices_list_mappedread declared
saas_alerts_devices_list_unmappedread declared
saas_alerts_devices_list_ignoredread declared
saas_alerts_devices_list_orgsread declared
saas_alerts_billing_get_detailsread declared
saas_alerts_billing_list_datesread declared
saas_alerts_reports_list_scheduledread declared
saas_alerts_reports_get_scheduledread declared
saas_alerts_reports_create_scheduledwrite inferred
saas_alerts_reports_delete_scheduleddestructive declared
saas_alerts_partner_get_profileread declared
saas_alerts_partner_update_brandingdestructive 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.