LeashIndex Get the report

Index / storage

2ools

app-2ools-mcp declares 81 capabilities across 81 tools, with 2 critical issues.

99/100 exposureHigh exposure

Manifest recorded 2026-10-11 from tools/list on https://2ools.app/mcp, published in the official MCP registry as app.2ools/mcp 0.3.1. 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 81 tools

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

15 tools are classified as irreversible and declare no limit.

high · no-expiry · All 81 tools

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

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

28 tools can modify data and declare no limit.

low · uncapped-read · 38 of 81 tools

38 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
create_public_previewread inferred
list_build_systemsread declared
list_connected_enginesread declared
get_project_engine_workspaceread declared
attach_project_engine_workspacedestructive declared
register_existing_projectread inferred
build_from_conversationwrite inferred
start_project_on_enginewrite inferred
refine_projectwrite inferred
get_buildread declared
get_engine_dispatchread declared
compare_versionsread declared
list_approval_requestsread declared
approve_versiondestructive declared
reject_versiondestructive declared
cancel_builddestructive declared
get_account_profileread declared
update_account_profilewrite inferred
get_project_accessread declared
invite_project_membersend inferred
update_project_member_roledestructive declared
remove_project_memberdestructive declared
revoke_project_invitedestructive declared
list_projectsread declared
get_projectread declared
get_project_contextread declared
continue_projectread declared
refresh_project_cockpitread declared
activate_projectwrite assumed
get_project_missionread declared
get_project_intelligenceread declared
update_project_intelligencewrite inferred
get_project_disciplineread declared
list_project_engineering_decisionsread declared
answer_project_engineering_decisiondestructive declared
manage_project_disciplinewrite assumed
update_project_missionwrite inferred
review_project_missionwrite assumed
manage_work_watchdogwrite assumed
act_on_project_os_taskdestructive declared
update_living_planwrite inferred
render_project_previewread declared
list_project_agentsread declared
get_agentread declared
run_project_agentwrite assumed
get_project_agent_moderead declared
configure_project_agent_modewrite assumed
advance_project_agent_modewrite assumed
dispatch_project_worksend inferred
get_project_work_dispatchread declared
cancel_agent_rundestructive declared
get_project_activityread declared
wait_for_project_activityread declared
list_project_feedbackread declared
add_project_feedbackwrite inferred
resolve_project_feedbackdestructive declared
list_project_pinsread declared
add_project_pinwrite inferred
remove_project_pindestructive declared
prepare_version_exportread declared
get_version_share_linkread declared
create_version_share_linkwrite inferred
revoke_version_share_linkdestructive declared
list_artifactsread declared
get_artifactread declared
prepare_artifact_uploadwrite inferred
prepare_artifact_downloadread declared
list_artifact_approval_requestsread declared
approve_artifact_versionwrite inferred
reject_artifact_versionwrite inferred
get_task_quality_gateread declared
run_task_quality_gatewrite assumed
get_work_handoffread declared
prepare_work_handoffwrite assumed
list_work_assignmentsread declared
create_work_assignmentwrite inferred
claim_work_assignmentwrite assumed
heartbeat_work_sessionwrite assumed
checkpoint_work_sessionwrite assumed
submit_work_sessionwrite assumed
decide_work_assignmentwrite 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.