LeashIndex Get the report

Index / other

PlayByKey Music Theory

com-playbykey-theory-mcp declares 32 capabilities across 32 tools, with 1 critical issue.

47/100 exposureElevated

Manifest recorded 2026-10-11 from tools/list answered by the npm package @playbykey/theory-mcp@1.6.0 (published to npm as @playbykey/theory-mcp, listed in the official MCP registry as com.playbykey/theory-mcp 1.6.0), 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.

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

32 of 32 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.

high · no-expiry · All 32 tools

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

32 of 32 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 · 1 of 32 tools

1 tool can modify data and declares no limit.

low · uncapped-read · 31 of 32 tools

31 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_mode_notesread inferred
get_parent_scale_modesread inferred
get_modal_rootread inferred
get_relative_minorread inferred
get_relative_majorread inferred
get_mode_inforead inferred
get_circle_of_fifthsread inferred
get_key_signatureread inferred
get_scale_notesread inferred
build_note_mapread inferred
resolve_intervalread inferred
get_semitone_distanceread inferred
get_scale_degreeread inferred
is_note_in_scaleread inferred
get_sharpsread inferred
get_flatsread inferred
get_enharmonic_labelsread inferred
get_chord_notesread inferred
get_diatonic_chordsread inferred
get_chord_by_degreeread inferred
get_available_inversionsread inferred
get_chord_inversionread inferred
get_progression_in_keyread inferred
get_roman_numeralread inferred
transposewrite inferred
note_to_midiread inferred
midi_to_noteread inferred
note_to_frequencyread inferred
get_melodic_minor_notesread inferred
get_melodic_minor_mode_notesread inferred
get_harmonic_minor_mode_notesread inferred
get_bebop_scale_notesread 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.