{"name":"io.github.slymnysr/sift","slug":"slymnysr-sift","title":"sift","description":"Runs a command, keeps every byte on disk, returns only the lines that matter","url":"https://mcp.market/server/slymnysr-sift","rating":null,"grade":"B","score":72,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":27,"stars":0,"forks":0,"downloads_week":66,"last_push_at":"2026-09-11T12:22:39.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/slymnysr/sift","website":"https://github.com/slymnysr/sift","version":"1.1.0","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"sift-cli","version":"1.1.0","runtimeHint":"uvx","transport":{"type":"stdio"},"runtimeArguments":[{"description":"The server half is an extra. The command line alone has no dependencies, and somebody who wants it should not have to carry a protocol library for it.","value":"sift-cli[mcp]","type":"named","name":"--from"}],"packageArguments":[{"description":"Serve over stdio. The same server the sift-mcp command starts.","value":"mcp","type":"positional","valueHint":"mcp"}],"environmentVariables":[{"description":"A free NVIDIA NIM key. Optional: without one every tool still runs the command, still keeps every byte, and still returns the exit code -- what is lost is the model's choice of lines, not the output. Also read from ~/.config/nvidia/api_key.","isSecret":true,"name":"NVIDIA_API_KEY"}]}],"tools":[{"name":"digest","description":"Return a distilled view of the file at `path`.","write_action":false,"price_micros":0,"input_schema":null},{"name":"digest_many","description":"Return a distilled view of each file in `paths`.","write_action":false,"price_micros":0,"input_schema":null},{"name":"follow","description":"Return what the run behind `handle` has said since the last look.","write_action":false,"price_micros":0,"input_schema":null},{"name":"outline","description":"Return what the file at `path` declares.","write_action":false,"price_micros":0,"input_schema":null},{"name":"peek","description":"Return lines `first` to `last` of a capture or a file, unchanged.","write_action":false,"price_micros":0,"input_schema":null},{"name":"run","description":"Run `command` and return the lines that mattered.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":72,"grade":"B","scanned_at":"2026-09-19T19:16:55.115Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:16:55.097Z","components":{"code":{"score":20,"max":25,"notes":["26 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":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 8 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"exec.shell-true","severity":"medium","component":"code","title":"subprocess with shell=True","evidence":"sift_cli-1.1.0/src/sift/capture.py: … writes, and report how it ended. `shell=True` exists because pipes and globs are hal…"}],"inputs":{"packages":[{"registryType":"pypi","identifier":"sift-cli","version":"1.1.0","found":true,"weeklyDownloads":66,"license":"MIT","dependencyCount":1,"publishedAt":"2026-09-09T19:44:36.595807Z","repositoryUrl":"https://github.com/slymnysr/sift"}],"repo":{"found":true,"owner":"slymnysr","repo":"sift","archived":false,"pushedAt":"2026-09-11T12:22:39Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/275347614?v=4","ownerCreatedAt":"2026-04-11T18:36:31Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":66,"license":"MIT","lastPushAt":"2026-09-11T12:22:39.000Z","score":27}}}},"grade_history":[],"reviews":[]}