LeashIndex Get the report

Index / data

io.github.duncanbottrill/deskhand

io-github-duncanbottrill-deskhand declares 113 capabilities across 113 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.

100/100 exposureHigh exposure

Manifest recorded 2026-11-02 from tools/list answered by the npm package deskhand@1.0.1 (published to npm as deskhand, listed in the official MCP registry as io.github.duncanbottrill/deskhand 1.0.1), 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 113 tools

113 of 113 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 · 11 of 113 tools

11 tools are classified as irreversible and declare no limit.

high · no-expiry · All 113 tools

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

113 of 113 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 · 81 of 113 tools

81 tools can modify data and declare no limit.

low · uncapped-read · 21 of 113 tools

21 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
figma_server_inforead inferred
figma_get_contextread inferred
figma_get_selection_historyread inferred
figma_bridge_diagnosticsread inferred
figma_licence_statusread inferred
figma_licence_activatewrite assumed
figma_executewrite assumed
figma_job_statusread inferred
figma_job_canceldelete inferred
figma_list_pagesread inferred
figma_get_nodesread inferred
figma_set_fillswrite inferred
figma_set_strokeswrite inferred
figma_create_rectanglewrite inferred
figma_set_textwrite inferred
figma_clone_nodeswrite assumed
figma_delete_nodesdelete inferred
figma_move_nodeswrite inferred
figma_resize_nodeswrite assumed
figma_set_size_limitswrite inferred
figma_set_opacitywrite inferred
figma_set_visiblewrite inferred
figma_set_clips_contentwrite inferred
figma_set_corner_radiuswrite inferred
figma_group_nodeswrite assumed
figma_ungroup_nodeswrite assumed
figma_create_framewrite inferred
figma_create_textwrite inferred
figma_set_selectionwrite inferred
figma_set_current_pagewrite inferred
figma_export_nodewrite assumed
figma_screenshotwrite assumed
figma_compare_to_referencewrite assumed
figma_export_batchwrite assumed
figma_resolve_iconread inferred
figma_place_iconwrite inferred
figma_place_chromewrite inferred
figma_review_screenwrite assumed
figma_brand_stylesread inferred
figma_set_image_fillwrite inferred
figma_snapshotwrite inferred
figma_restore_snapshotwrite assumed
figma_list_snapshotsread inferred
figma_get_design_rulesread inferred
figma_create_ellipsewrite inferred
figma_set_effectswrite inferred
figma_set_auto_layoutwrite inferred
figma_get_local_stylesread inferred
figma_apply_stylewrite assumed
figma_create_componentwrite inferred
figma_create_instancewrite inferred
figma_get_local_variablesread inferred
figma_search_variablesread inferred
figma_search_nodesread inferred
figma_search_componentsread inferred
figma_search_stylesread inferred
figma_get_childrenread inferred
figma_set_variablewrite inferred
figma_create_linewrite inferred
figma_set_constraintswrite inferred
figma_detach_instancewrite assumed
figma_set_layout_alignwrite inferred
figma_rename_nodewrite inferred
figma_reorder_nodewrite assumed
figma_set_text_stylewrite inferred
figma_create_paint_stylewrite inferred
figma_create_text_stylewrite inferred
figma_delete_styledelete inferred
figma_create_variable_collectionwrite inferred
figma_create_variablewrite inferred
figma_rename_variablewrite inferred
figma_delete_variablesdelete inferred
figma_delete_variable_collectiondelete inferred
figma_rename_variable_collectionwrite inferred
figma_rename_modewrite inferred
figma_add_modewrite inferred
figma_delete_modedelete inferred
figma_set_variable_modewrite inferred
figma_unbind_variabledelete inferred
figma_create_pagewrite inferred
figma_rename_pagewrite inferred
figma_delete_pagedelete inferred
figma_reparent_nodeswrite inferred
figma_move_to_pagewrite inferred
figma_swap_instancewrite assumed
figma_duplicate_pagewrite assumed
figma_set_rotationwrite inferred
figma_combine_as_variantswrite inferred
figma_create_stickywrite inferred
figma_set_stickywrite inferred
figma_create_shape_with_textwrite inferred
figma_set_shape_typewrite inferred
figma_create_connectorwrite inferred
figma_set_connectorwrite inferred
figma_create_sectionwrite inferred
figma_set_sectionwrite inferred
figma_create_tablewrite inferred
figma_set_table_cellwrite inferred
figma_insert_table_rowwrite inferred
figma_insert_table_columnwrite inferred
figma_remove_table_rowdelete inferred
figma_remove_table_columndelete inferred
figma_resize_table_rowwrite assumed
figma_resize_table_columnwrite assumed
figma_move_table_rowwrite inferred
figma_move_table_columnwrite inferred
figma_create_code_blockwrite inferred
figma_set_code_blockwrite inferred
figma_create_link_previewread inferred
figma_get_reactionsread inferred
figma_add_reactionwrite inferred
figma_remove_reactiondelete inferred
figma_set_flow_starting_pointwrite 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.