{"name":"io.github.I4cTime/q-ring","slug":"i4ctime-q-ring","title":"q-ring","description":"OS keychain secrets for AI coding agents, over MCP.","url":"https://mcp.market/server/i4ctime-q-ring","rating":null,"grade":"C","score":65,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":38,"stars":5,"forks":0,"downloads_week":382,"last_push_at":"2026-09-16T03:04:01.000Z","license":"AGPL-3.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/I4cTime/q-ring","website":"https://qring.i4c.studio","version":"0.17.6","remotes":[],"packages":[{"registryType":"npm","identifier":"@i4ctime/q-ring","version":"0.17.6","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Secret storage backend. Defaults to the OS keychain; set to \"file\" for headless hosts with no Secret Service (CI, containers).","default":"keyring","choices":["keyring","file"],"name":"QRING_BACKEND"},{"description":"Passphrase for the encrypted file backend (AES-256-GCM). Required only when QRING_BACKEND=file — without it the file backend fails closed.","isSecret":true,"name":"QRING_FILE_PASSPHRASE"},{"description":"Custom path for the encrypted file store (default: ~/.config/q-ring/file-backend.enc).","format":"filepath","name":"QRING_FILE_BACKEND_PATH"}]}],"tools":[{"name":"agent_forget","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"agent_recall","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"agent_remember","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"agent_scan","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"analyze_secrets","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_log","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_policy","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_project","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"ci_validate_secrets","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"delete_secret","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"detect_anomalies","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"detect_environment","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"disentangle_secrets","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"entangle_secrets","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"env_generate","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"exec_with_secrets","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"export_audit","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"export_secrets","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_secret","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_policy_summary","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_project_context","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_secret","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"has_secret","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"health_check","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_dotenv","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"inspect_secret","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"lint_files","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_hooks","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_providers","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_secrets","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"register_hook","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"remove_hook","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"rotate_secret","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"scan_codebase_for_secrets","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_secret","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"status_dashboard","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"teleport_pack","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"teleport_unpack","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"tunnel_create","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"tunnel_destroy","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"tunnel_list","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"tunnel_read","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"validate_secret","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"verify_audit_chain","description":"","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":65,"grade":"C","scanned_at":"2026-09-19T21:32:16.390Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-19T21:32:16.408Z","components":{"code":{"score":13,"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":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 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/index.js: …= \"win32\" ? \"start\" : \"xdg-open\"; exec(`${openCmd} ${url}`); } const shutdown = () =>…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"@i4ctime/q-ring","version":"0.17.6","found":true,"license":"AGPL-3.0-only","hasInstallScripts":false,"dependencyCount":5,"publishedAt":"2026-09-16T03:05:54.829Z","repositoryUrl":"git+https://github.com/I4cTime/q-ring.git","weeklyDownloads":382}],"repo":{"found":true,"owner":"I4cTime","repo":"q-ring","archived":false,"pushedAt":"2026-09-16T03:04:01Z","stars":5,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/24039758?v=4","ownerCreatedAt":"2016-11-26T07:43:32Z","license":"AGPL-3.0"},"icon":{"url":"https://qring.i4c.studio/assets/icon-192.png","source":"registry","width":192,"height":192},"presence":{"stars":5,"forks":0,"downloadsWeek":382,"license":"AGPL-3.0","lastPushAt":"2026-09-16T03:04:01.000Z","score":38}}}},"grade_history":[{"kind":"restore","fromGrade":"F","toGrade":"C","reason":"score 65: Shell command built from a string (injection risk)","createdAt":"2026-09-19T18:55:43.535Z"}],"reviews":[]}