{"name":"io.github.K-Dense-AI/labmcp-ms-worklist","slug":"k-dense-ai-labmcp-ms-worklist","title":"LC-MS Worklist Builder","description":"MCP server that builds and validates LC-MS worklists for MassLynx, SCIEX OS, MassHunter, Xcalibur.","url":"https://mcp.market/server/k-dense-ai-labmcp-ms-worklist","rating":null,"grade":"A","score":91,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":37,"stars":6,"forks":0,"downloads_week":166,"last_push_at":"2026-09-26T22:47:14.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/K-Dense-AI/lab-instrument-mcps","website":"https://github.com/K-Dense-AI/lab-instrument-mcps/tree/main/servers/chemistry/ms-worklist","version":"0.1.1","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"labmcp-ms-worklist","version":"0.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Instrument address, e.g. serial:///dev/ttyUSB0 or tcp://192.168.1.50:5025","name":"LABMCP_ADDRESS"},{"description":"Set to 1 to use the built-in simulator (no hardware)","name":"LABMCP_SIMULATE"},{"description":"Set to 1 to disable all state-changing tools","name":"LABMCP_READ_ONLY"},{"description":"Safety limit overrides, e.g. max_temperature_c=80","name":"LABMCP_LIMITS"}]}],"tools":[{"name":"add_samples","description":"Append samples to a draft worklist (the worklist's defaults and automatic positions apply; any blank/QC/randomisation plan is re-applied to the longer list with the same seed).","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_worklist","description":"Create an in-memory draft worklist from a sample list plus defaults (methods, injection volume, tray positions, data-file naming pattern). Nothing is written to disk until export_worklist. Injection volumes above the max_injection_volume_ul limit are refused.","write_action":true,"price_micros":0,"input_schema":null},{"name":"export_worklist","description":"Validate the draft and write the vendor import file into the output folder. Returns the path, a preview of the first lines, warnings and import instructions. Refuses if validation finds errors or the file exists (unless overwrite=true). This does not start an acquisition: a person imports the file into the acquisition software.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_worklist","description":"Show a draft worklist in run order, with its defaults, blank/QC plan, randomisation seed and the history of operations applied to it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_worklist","description":"Parse an existing MassLynx, SCIEX OS, MassHunter or Xcalibur import file from the output folder into a draft, so it can be validated, edited or exported in another vendor's format. Columns without a neutral equivalent are kept verbatim. Only reads; nothing is written.","write_action":false,"price_micros":0,"input_schema":null},{"name":"insert_qc_blanks","description":"Insert blanks and QC injections and optionally randomise the run order (with a recorded seed). Replaces any previous plan, so calling it again does not duplicate blanks. The plan is re-applied whenever samples are added; data-file names follow the new run order.","write_action":true,"price_micros":0,"input_schema":null},{"name":"list_formats","description":"List the supported import formats (Waters MassLynx, SCIEX OS, Agilent MassHunter, Thermo Xcalibur): columns, required fields, sample-type names, file extensions, how to import, what is verified against vendor documents and what is assumed, and the source URLs. Also lists the position patterns and the formats that were researched but not implemented.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_worklists","description":"List the draft worklists in memory and the files in the output folder.","write_action":false,"price_micros":0,"input_schema":null},{"name":"validate_worklist","description":"Check a draft against the target format: required fields, duplicate data-file names, characters Windows does not allow in file names, tray/vial position format and plate bounds, injection volume (> 0 and <= the max_injection_volume_ul limit), and method file extensions. Errors block export; warnings don't.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":91,"grade":"A","scanned_at":"2026-09-27T05:27:12.268Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T05:27:12.219Z","components":{"code":{"score":25,"max":25,"notes":["7 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":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"labmcp-ms-worklist","version":"0.1.1","found":true,"weeklyDownloads":166,"license":"Apache-2.0","dependencyCount":1,"publishedAt":"2026-09-26T22:46:11.402413Z","repositoryUrl":"https://github.com/K-Dense-AI/lab-instrument-mcps/tree/main/servers/chemistry/ms-worklist"}],"repo":{"found":true,"owner":"K-Dense-AI","repo":"lab-instrument-mcps","archived":false,"pushedAt":"2026-09-26T22:47:14Z","stars":6,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/238572432?v=4","ownerCreatedAt":"2025-10-16T21:22:41Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/238572432?v=4&s=128","source":"github"},"presence":{"stars":6,"forks":0,"downloadsWeek":166,"license":"Apache-2.0","lastPushAt":"2026-09-26T22:47:14.000Z","score":37}}}},"grade_history":[],"reviews":[]}