LeashIndex Get the report

Index / devtools

io.github.matthewdtowles/iwantmymtg-mcp

io-github-matthewdtowles-iwantmymtg-mcp declares 60 capabilities across 60 tools, with 2 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.

95/100 exposureHigh exposure

Manifest recorded 2026-10-27 from tools/list answered by the npm package iwantmymtg-mcp@0.7.5 (published to npm as iwantmymtg-mcp, listed in the official MCP registry as io.github.matthewdtowles/iwantmymtg-mcp 0.7.5), 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 60 tools

60 of 60 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 · destructive-uncapped · 7 of 60 tools

7 tools are annotated by the server as destructive (destructiveHint) and declare no limit. 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.

high · no-expiry · All 60 tools

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

60 of 60 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 · 14 of 60 tools

14 tools can modify data and declare no limit.

low · uncapped-read · 39 of 60 tools

39 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_cardsread declared
get_cardread declared
get_card_pricesread declared
get_card_price_historyread declared
get_card_printingsread declared
search_setsread declared
get_setread declared
list_set_cardsread declared
get_sealed_productsread declared
get_sealed_productread declared
get_set_price_historyread declared
get_card_buylistread declared
get_market_sell_valueread declared
get_cash_vs_creditread declared
list_buy_listread declared
add_buy_listread inferred
update_buy_listread inferred
remove_buy_listdestructive declared
import_buy_listread inferred
list_inventoryread declared
get_inventory_quantitiesread declared
add_inventorywrite inferred
update_inventorywrite inferred
remove_inventorydestructive declared
import_inventory_cardswrite assumed
export_inventoryread declared
list_sealed_inventoryread declared
set_sealed_inventorywrite inferred
remove_sealed_inventorydestructive declared
list_transactionsread declared
record_transactionwrite assumed
update_transactionwrite inferred
delete_transactiondestructive declared
get_cost_basisread declared
get_portfolio_summaryread declared
get_portfolio_historyread declared
get_card_performanceread declared
get_cash_flowread declared
get_realized_gainsread declared
get_portfolio_breakdownread declared
get_portfolio_breakdown_cardsread declared
refresh_portfoliowrite assumed
list_decksread declared
get_deckread declared
create_deckwrite inferred
import_deckwrite inferred
update_deckwrite inferred
delete_deckdestructive declared
add_deck_cardwrite inferred
set_deck_card_quantitywrite inferred
remove_deck_carddestructive declared
deck_missing_to_buy_listread inferred
list_price_alertsread declared
create_price_alertwrite inferred
update_price_alertwrite inferred
delete_price_alertdestructive declared
list_notificationsread declared
get_unread_notification_countread declared
mark_notification_readread inferred
mark_all_notifications_readread 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.