{"name":"io.github.jmedure/talkback","slug":"jmedure-talkback","title":null,"description":"Chat with your Ableton session in real-time.","url":"https://mcp.market/server/jmedure-talkback","rating":null,"grade":"C","score":57,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":25,"stars":25,"forks":4,"downloads_week":53,"last_push_at":"2026-03-24T17:15:57.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/jmedure/talkback-mcp","website":null,"version":"0.1.3","remotes":[],"packages":[{"registryType":"npm","identifier":"talkback-mcp","version":"0.1.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"WebSocket port for the Max for Live bridge connection","format":"string","name":"WS_PORT"}]}],"tools":[{"name":"analyze_mix","description":"Runs rule-based heuristic analysis for potential mix issues: frequency buildup, dynamics problems, routing inefficiencies, headroom. Only call when the user explicitly asks for mix feedback or describes a specific problem — do NOT call proactively. Findings are suggestions to consider, not problems to fix. Mix quality is subjective — frame results in context of what the user is trying to achieve. ","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_group_track","description":"Creates a new group track containing the specified tracks. Always confirm with the producer first.","write_action":true,"price_micros":0,"input_schema":null},{"name":"get_bridge_health","description":"Returns performance metrics from the M4L bridge device: poll execution time (avg/max), WebSocket message size, LiveAPI cache size, and track count. Use to diagnose performance issues or confirm the device is running efficiently.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_plugin_library","description":"Returns all audio plugins (AU, VST3) installed on this system. Use to know what tools the producer has available.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_session_context","description":"Returns a snapshot of the current Ableton session: all tracks (names, volumes, panning, mutes, sends, device chains), return tracks, master track, and routing. Call once at the start of a conversation to orient yourself. No need to call again unless the user says the session has changed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_spectral_snapshot","description":"Captures ~2 seconds of live audio from the master bus and returns peak/RMS levels across frequency bands. Transport MUST be playing — coordinate with the user on which section to analyze (e.g., 'play the chorus'). This is a point-in-time microscope, not a full-song analyzer. Use as a secondary check to verify what device parameter analysis suggests, or to detect issues invisible in the device chai","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_track_details","description":"Returns full detail for a specific track including all devices, every parameter in human-readable units, and per-device observations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_device_parameter","description":"Sets a device parameter to a new value. Pass values in human-readable units (dB, ms, Hz, ratio, percent). NEVER call without explicit user approval. Present the planned change with current → proposed values first, wait for a clear 'yes', then execute. If the user modifies the plan, re-present and re-confirm before executing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_track_routing","description":"Changes a track's output routing. Always confirm with the producer first.","write_action":false,"price_micros":0,"input_schema":null},{"name":"toggle_device_bypass","description":"Enables or bypasses a device on a track. Useful for A/B comparison. Always confirm with the user before toggling.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":57,"grade":"C","scanned_at":"2026-09-27T23:37:01.571Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-27T23:37:01.475Z","components":{"code":{"score":13,"max":25,"notes":["35 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":4,"max":15,"notes":["last push 187 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.shell-concat","severity":"high","component":"code","title":"Shell command built from a string (injection risk)","evidence":"dist/ws-bridge.js: … try { const pids = execSync(`lsof -ti:${port}`, { encoding: \"utf8\" }).trim(); …"}],"inputs":{"packages":[{"registryType":"npm","identifier":"talkback-mcp","version":"0.1.3","found":true,"license":"PolyForm-Shield-1.0.0","hasInstallScripts":false,"dependencyCount":5,"publishedAt":"2026-03-17T04:08:29.505Z","repositoryUrl":"git+https://github.com/jmedure/talkback-mcp.git","weeklyDownloads":53}],"repo":{"found":true,"owner":"jmedure","repo":"talkback-mcp","archived":false,"pushedAt":"2026-03-24T17:15:57Z","stars":25,"forks":4,"openIssues":2,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/33518800?v=4","ownerCreatedAt":"2017-11-09T13:19:59Z","license":"NOASSERTION"},"icon":{"url":"https://avatars.githubusercontent.com/u/33518800?v=4&s=128","source":"github"},"presence":{"stars":25,"forks":4,"downloadsWeek":53,"license":"NOASSERTION","lastPushAt":"2026-03-24T17:15:57.000Z","score":25}}}},"grade_history":[],"reviews":[]}