{"name":"io.github.Solteris-Dev/pir-mcp","slug":"solteris-dev-pir-mcp","title":null,"description":"Motion sensor for AI agents: tells when a screen region changes or goes still. Scores, never pixels.","url":"https://mcp.market/server/solteris-dev-pir-mcp","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":28,"stars":1,"forks":0,"downloads_week":126,"last_push_at":"2026-09-16T21:11:53.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Solteris-Dev/pir-mcp","website":null,"version":"0.1.0","remotes":[],"packages":[{"registryType":"npm","identifier":"pir-mcp","version":"0.1.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Screenshot command template writing binary PPM to stdout; {x} {y} {w} {h} substituted. Default: grim (wlroots).","format":"string","name":"PIR_CAPTURE_CMD"},{"description":"Interactive rectangle selector printing 'x,y wxh'. Default: slurp. Empty disables the pick tools.","format":"string","name":"PIR_SELECT_CMD"},{"description":"Prints 'x,y wxh' for window {id}. Default: Hyprland via jq. Empty disables window regions.","format":"string","name":"PIR_WINDOW_GEOMETRY_CMD"},{"description":"Interactive window pick printing the window id. Default: Hyprland + slurp.","format":"string","name":"PIR_PICK_WINDOW_CMD"},{"description":"Cap for blocking calls, ms (default 540000); keep under the host's MCP tool timeout.","format":"number","name":"PIR_MAX_WAIT_MS"}]}],"tools":[{"name":"pir_define_region","description":"Name a rectangle of the screen to watch. Coordinates are in the global layout the capture tool uses","write_action":false,"price_micros":0,"input_schema":null},{"name":"pir_define_window","description":"Watch a window rather than a fixed rectangle: geometry is looked up from the window id before","write_action":false,"price_micros":0,"input_schema":null},{"name":"pir_list_regions","description":"The regions currently defined, with their geometry and masks.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pir_pick_mask","description":"Ask the person to draw a rectangle inside an existing region that should be ignored (a clock, a","write_action":false,"price_micros":0,"input_schema":null},{"name":"pir_pick_region","description":"Ask the person at the screen to draw the rectangle to watch (a selector such as slurp appears;","write_action":false,"price_micros":0,"input_schema":null},{"name":"pir_pick_window","description":"Ask the person at the screen to click the window to watch (visible windows are offered as boxes;","write_action":false,"price_micros":0,"input_schema":null},{"name":"pir_remove_region","description":"Forget a region.","write_action":true,"price_micros":0,"input_schema":null},{"name":"pir_sample","description":"Capture the region once and score it against the previous sample of the same region (null on the","write_action":false,"price_micros":0,"input_schema":null},{"name":"pir_wait_for_change","description":"Block until the region looks different from how it looked when this call started, or until","write_action":false,"price_micros":0,"input_schema":null},{"name":"pir_wait_for_stillness","description":"Block until consecutive samples have stayed below threshold for still_for_ms, or until timeout_ms.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-19T19:44:44.130Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:44:44.046Z","components":{"code":{"score":25,"max":25,"notes":["11 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 3 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"pir-mcp","version":"0.1.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-09-16T21:09:52.221Z","repositoryUrl":"git+https://github.com/Solteris-Dev/pir-mcp.git","weeklyDownloads":126}],"repo":{"found":true,"owner":"Solteris-Dev","repo":"pir-mcp","archived":false,"pushedAt":"2026-09-16T21:11:53Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/44207665?v=4","ownerCreatedAt":"2018-10-16T16:51:37Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/44207665?v=4&s=128","source":"registry","width":128,"height":128},"presence":{"stars":1,"forks":0,"downloadsWeek":126,"license":"MIT","lastPushAt":"2026-09-16T21:11:53.000Z","score":28}}}},"grade_history":[],"reviews":[]}