{"name":"io.github.hpdkhoa/weaponlab-mcp","slug":"hpdkhoa-weaponlab-mcp","title":"Weapon Lab","description":"Find and fix first-person weapon bugs behind a gate: your game's probe measures, the Gate judges","url":"https://mcp.market/server/hpdkhoa-weaponlab-mcp","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":18,"stars":1,"forks":0,"downloads_week":null,"last_push_at":"2026-10-14T12:57:10.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/hpdkhoa/weaponlab-mcp","website":null,"version":"0.1.0","remotes":[],"packages":[{"registryType":"pypi","identifier":"weaponlab-mcp","version":"0.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"The project folder holding weaponlab.json; the current folder if not set","name":"WEAPONLAB_PROJECT"},{"description":"Blender's executable for Motion Lab, if it is not on the PATH or in the usual install folder","name":"WEAPONLAB_BLENDER"}]}],"tools":[{"name":"contract_check","description":"Checks a file a probe reads or writes against the probe contract.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gate_add_case","description":"Adds or replaces a case.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gate_approve","description":"Marks a passed proposal approved. Only on a person's word.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gate_cases","description":"The cases (each a known bug as a metric, a weapon, an action and a pass rule).","write_action":false,"price_micros":0,"input_schema":null},{"name":"gate_evals","description":"Each provider's eval: faults caught, good cases passed, trusted.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gate_metrics","description":"Every metric: provider, unit, which way is better, tolerance.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gate_proposals","description":"Every proposal: passed, approved.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gate_propose","description":"A staged change measured and judged; the proposal waits for a person's approval.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gate_run","description":"Measures the weapons with the providers (probe, rig, or the project's own) and stores the run.","write_action":true,"price_micros":0,"input_schema":null},{"name":"gate_set_baseline","description":"A run's rows become the baseline (merged over the old).","write_action":false,"price_micros":0,"input_schema":null},{"name":"gate_verdict","description":"Pass only if the target cases pass, nothing else got worse past its tolerance and the checks are trusted.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gate_weapons","description":"The project's weapons.","write_action":false,"price_micros":0,"input_schema":null},{"name":"motion_render","description":"Dev views of parts dumps (not the game's view).","write_action":false,"price_micros":0,"input_schema":null},{"name":"motion_roll","description":"One clip's hand turned about its forearm, the twist bones sharing it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"motion_roll_profile","description":"The hand's roll about its forearm through a clip (0 thumb up; past 80 degrees breaks the forearm's range).","write_action":false,"price_micros":0,"input_schema":null},{"name":"motion_roll_set","description":"A set of clips rolled, each from its own start, saved under new names (<name>_<suffix>).","write_action":false,"price_micros":0,"input_schema":null},{"name":"motion_track","description":"A sliding part's track rebuilt on its axis from its seat.","write_action":false,"price_micros":0,"input_schema":null},{"name":"probe_plan","description":"The job's weapons the probe would get.","write_action":false,"price_micros":0,"input_schema":null},{"name":"probe_run","description":"One probe run: rows, and screenshots and parts dumps at the moments.","write_action":true,"price_micros":0,"input_schema":null},{"name":"probe_status","description":"The processes that must not run with the probe, running now.","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_info","description":"The project in use: its folder, data, specs and work folders, the probe command, Blender.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rig_align","description":"A magazine's line into its well over a reload's moments: worst offset and tilt while in the well.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rig_facts","description":"The weapon spec's facts (order, side, below, in) on a dump.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rig_fist","description":"A melee hilt against the fist's grip channel, and the turn and move that lay it in (try them with probe_run's tune; a palm-down fist can hold the hilt right and still point the blade sideways: look at the screenshot).","write_action":false,"price_micros":0,"input_schema":null},{"name":"rig_part_line","description":"A sliding part's path against its axis: line_cm and seat_cm.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rig_pieces","description":"A parts dump's pieces (triangles, centre, bounds, extents) and twins (a piece drawn twice).","write_action":false,"price_micros":0,"input_schema":null},{"name":"spec_list","description":"Every weapon spec: marks, actions, marks still proposed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"spec_read","description":"One weapon's spec, with the default limits filled in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"spec_validate","description":"Every problem with a spec, as sentences (empty: whole).","write_action":false,"price_micros":0,"input_schema":null},{"name":"spec_write","description":"Saves a whole spec and returns what changed.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-10-14T17:39:55.877Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-14T17:39:55.794Z","components":{"code":{"score":25,"max":25,"notes":["15 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":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"weaponlab-mcp","version":"0.1.0","found":true,"license":"MIT","dependencyCount":2,"publishedAt":"2026-10-14T13:54:29.460482Z"}],"repo":{"found":true,"owner":"hpdkhoa","repo":"weaponlab-mcp","archived":false,"pushedAt":"2026-10-14T12:57:10Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/56827800?v=4","ownerCreatedAt":"2019-10-21T11:37:12Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/56827800?v=4&s=128","source":"github"},"presence":{"stars":1,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-10-14T12:57:10.000Z","score":18}}}},"grade_history":[],"reviews":[]}