LeashIndex Get the report

Index / devtools

McuBuddy

io-github-cunjun-mcubuddy declares 104 capabilities across 104 tools, with 2 critical issues.

99/100 exposureHigh exposure

Manifest recorded 2026-10-15 from tools/list answered by the PyPI package McuBuddy==0.5.1 (published to PyPI as McuBuddy, listed in the official MCP registry as io.github.cunjun/mcubuddy 0.5.1), run in an isolated container with no network access and no credentials. The date changes only when the manifest does. Not verified by a maintainer.

Note. Installed with the MCP Python SDK held below version 2.0. With the newest SDK this version of the package stopped before it could list its tools.

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 104 tools

104 of 104 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 · 2 of 104 tools

2 tools are classified as irreversible and declare no limit.

high · no-expiry · All 104 tools

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

104 of 104 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 · 63 of 104 tools

63 tools can modify data and declare no limit.

low · uncapped-read · 39 of 104 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
get_runtime_configread inferred
list_demo_profilesread inferred
load_demo_profilewrite assumed
match_chip_namewrite assumed
get_target_inforead inferred
list_supported_targetsread inferred
list_tool_safetyread inferred
list_validation_recordsread inferred
configure_probewrite inferred
configure_logwrite inferred
configure_elfwrite inferred
configure_buildwrite inferred
discover_keil_projectsread inferred
configure_keil_projectwrite assumed
connect_with_configwrite assumed
doctorread inferred
board_smoke_testread inferred
first_contactwrite assumed
run_debug_loopwrite assumed
build_projectwrite assumed
flash_firmwarewrite assumed
start_gdb_serverwrite assumed
stop_gdb_serverwrite assumed
get_gdb_server_statusread inferred
start_jlink_gdb_serverwrite assumed
stop_jlink_gdb_serverwrite assumed
get_jlink_gdb_server_statusread inferred
list_connected_probesread inferred
probe_connectwrite assumed
probe_disconnectwrite assumed
probe_haltwrite assumed
probe_resumewrite assumed
probe_resetwrite assumed
set_breakpointwrite inferred
list_conditional_breakpointsread inferred
set_breakpoints_for_function_rangewrite inferred
clear_breakpointwrite assumed
clear_all_breakpointswrite assumed
continue_targetwrite assumed
read_stopped_contextread inferred
probe_stepwrite assumed
elf_addr_to_sourceread inferred
source_stepwrite assumed
disassemblewrite assumed
get_localsread inferred
set_localwrite inferred
run_to_sourcewrite assumed
run_to_functionwrite inferred
dwarf_backtracewrite assumed
backtracewrite assumed
step_outwrite assumed
step_overwrite assumed
erase_flashwrite assumed
program_flashwrite assumed
verify_flashread inferred
probe_write_memorywrite inferred
probe_read_memoryread inferred
dump_memoryread inferred
memory_findread inferred
step_n_instructionsread inferred
read_memory_mapread inferred
compare_elf_to_flashread inferred
memory_snapshotwrite assumed
memory_diffread inferred
log_tracewrite assumed
reset_and_tracewrite assumed
read_stack_usageread inferred
diagnose_memory_corruptionwrite assumed
list_rtos_tasksread inferred
rtos_task_contextread inferred
rtos_switch_contextwrite assumed
read_rtt_logread inferred
watch_symbolwrite assumed
elf_list_functionsread inferred
elf_symbol_inforead inferred
read_symbol_valueread inferred
write_symbol_valuewrite inferred
probe_set_watchpointwrite inferred
probe_remove_watchpointdelete inferred
probe_clear_all_watchpointsdelete inferred
probe_read_registersread inferred
probe_read_fpu_registersread inferred
read_cycle_counterread inferred
read_swo_logread inferred
probe_read_mpu_regionsread inferred
probe_continue_untilwrite assumed
elf_loadwrite assumed
log_connectwrite assumed
log_disconnectwrite assumed
log_tailwrite assumed
disconnect_allwrite assumed
svd_loadwrite assumed
svd_list_peripheralsread inferred
svd_get_registersread inferred
svd_read_peripheralread inferred
svd_write_registerwrite inferred
svd_write_fieldwrite inferred
diagnose_peripheral_stuckwrite assumed
diagnose_stack_overflowwrite assumed
diagnose_interrupt_issuewrite assumed
diagnose_clock_issuewrite assumed
diagnose_hardfaultwrite assumed
diagnose_startup_failurewrite assumed
diagnosewrite 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.