{"name":"io.github.NellInc/saferagenticai-mcp","slug":"nellinc-saferagenticai-mcp","title":null,"description":"Read-only tools over the Safer Agentic AI framework: 238 patterns + 14 heuristics.","url":"https://mcp.market/server/nellinc-saferagenticai-mcp","rating":null,"grade":"A","score":88,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":28,"stars":0,"forks":0,"downloads_week":41,"last_push_at":"2026-09-03T15:09:40.000Z","license":"MIT"},"uptime":{"percent":100,"checks":7,"ok":7,"last_checked_at":"2026-09-21T03:31:08.662Z","last_ok_at":"2026-09-21T03:31:08.662Z","latency_ms":775},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/NellInc/saferagenticai-mcp","website":null,"version":"0.3.6","remotes":[{"type":"streamable-http","url":"https://mcp.saferagenticai.org/mcp"}],"packages":[{"registryType":"pypi","identifier":"saferagenticai-mcp","version":"0.3.6","transport":{"type":"stdio"}}],"tools":[{"name":"find_patterns_for_task","description":"Given a natural-language task description (e.g., 'I'm building a tool-using agent that runs shell commands'), return the most relevant patterns grouped by suite. Use this as a starting point for any cross-cutting design question; then follow up with get_requirement on specific pattern_ids. Defaults to verbosity='compact' (cheap triage); pass 'full' to inline snippets and confidence flags.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"task":{"type":"string","minLength":5,"maxLength":500},"limit":{"type":"integer","minimum":1,"maximum":25,"default":8},"verbosity":{"type":"string","enum":["compact","full"],"default":"compact"}},"required":["task"],"additionalProperties":false}},{"name":"get_cross_references","description":"Return outgoing adjacencies for a pattern. `explicit_cross_references` are author-asserted (each pattern's `cross_references` YAML field). `inferred_adjacent` (when include_inferred=true) currently returns *same-suite siblings only* — it does not do semantic similarity. Treat inferred entries as 'neighbours worth scanning,' not as endorsed dependencies.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","maxLength":500},"include_inferred":{"type":"boolean","default":true}},"required":["id"],"additionalProperties":false}},{"name":"get_operational_heuristic","description":"Retrieve a single operational heuristic by id (e.g., 'OH::geoffrey-pattern'). Returns the full entry: principle, framework mapping, evidence sources from production deployment, design patterns, anti-patterns, and discovery narrative.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","maxLength":500}},"required":["id"],"additionalProperties":false}},{"name":"get_requirement","description":"Retrieve one subgoal (framework normative content + Pattern layer guidance) by pattern_id (e.g., 'D3::idx2::sandboxing') or display_id (e.g., 'D3.2'). display_id may resolve to multiple subgoals — underlined variants share display_ids.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","maxLength":500},"include_pattern":{"type":"boolean","default":true}},"required":["id"],"additionalProperties":false}},{"name":"get_reverse_references","description":"Return patterns that reference the given pattern_id in their cross_references. Complement to get_cross_references (outgoing); this shows incoming. Use to find all consumers of a given pattern.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","maxLength":500}},"required":["id"],"additionalProperties":false}},{"name":"list_operational_heuristics","description":"List operational heuristics distilled from production agentic AI deployment (Claude Code, Rewind). These are cross-cutting safety principles discovered through building and operating AI agents, mapped to framework suites. Optional filters: suite_id (heuristics relevant to a specific suite), query (keyword search across titles and principles). Separate from the normative pattern layer — different category of knowledge.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"suite_id":{"type":"string","maxLength":500,"description":"Filter by framework suite (e.g., 'D3', 'I2')"},"query":{"type":"string","maxLength":500,"description":"Keyword search across titles, principles, narratives"}},"additionalProperties":false}},{"name":"list_requirements","description":"List subgoals matching filters (suite_id, suite_type, content_type, min_confidence, missing_pattern_only). Results capped by limit (default 50, max 100).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"suite_id":{"type":"string","maxLength":500},"suite_type":{"type":"string","enum":["driver","inhibitor"]},"content_type":{"type":"string","enum":["code-applicable","governance","process","ecosystem"]},"min_confidence":{"type":"string","enum":["low","medium","high"]},"missing_pattern_only":{"type":"boolean"},"include_pattern":{"type":"boolean","default":false},"limit":{"type":"integer","minimum":1,"maximum":100,"default":50}},"additionalProperties":false}},{"name":"list_suites","description":"List all 16 suites in the SaferAgenticAI framework (9 drivers + 7 inhibitors) with subgoal counts and titles. Call this first to orient.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"list_unreviewed","description":"Return patterns that have not been human-reviewed yet (no reviewed_by). Sorted low-confidence first, then needs_human_review flagged, then alpha. Use during Phase 3 review to pick the next pattern to examine.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":250}},"additionalProperties":false}},{"name":"resolve_id","description":"Resolve a loose reference (partial id, display_id, slug fragment, or title keyword) to canonical pattern_id(s). Call this when you have a rough reference and need the exact id before calling get_requirement. Always returns candidates — never 'not found'.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":500},"limit":{"type":"integer","minimum":1,"maximum":20,"default":5}},"required":["query"],"additionalProperties":false}},{"name":"review_stats","description":"Coverage stats: total patterns, reviewed %, per-suite and per-confidence breakdown. Surfaces load-time validation issue count.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"search_patterns","description":"Field-weighted keyword search across the framework. Substring match on lowercased terms; field weights: title 10x, summary 4x, SFR text 3x, description 2x, pattern body 1x. `matched_in` reports the highest-weighted field that matched. No semantic / embedding search — known limitation, see /mcp.html. Use verbosity='compact' to drop snippets and confidence flags (~70% smaller payload) when triaging.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","minLength":2,"maxLength":500},"limit":{"type":"integer","minimum":1,"maximum":50,"default":10},"verbosity":{"type":"string","enum":["compact","full"],"default":"full"}},"required":["query"],"additionalProperties":false}}],"scan":{"score":88,"grade":"A","scanned_at":"2026-09-20T16:17:49.941Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T16:17:49.826Z","components":{"code":{"score":20,"max":25,"notes":["250 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 908ms"]},"poisoning":{"score":15,"max":15,"notes":["12 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 17 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"saferagenticai_mcp-0.3.6/saferagenticai_mcp/_data/suites/I2/I2--idx9--supervisory-systems-and-adjudication.yaml: …ent):\\n \\ \\ # Fast tier: rule eval (policy-as-code)\\n flags = RULE_EN…"}],"inputs":{"probes":[{"url":"https://mcp.saferagenticai.org/mcp","reachable":true,"authRequired":false,"latencyMs":908,"serverInfo":{"name":"saferagenticai","version":"1.28.1"}}],"packages":[{"registryType":"pypi","identifier":"saferagenticai-mcp","version":"0.3.6","found":true,"weeklyDownloads":41,"license":"MIT","dependencyCount":5,"publishedAt":"2026-09-03T15:08:40.660076Z","repositoryUrl":"https://github.com/NellInc/saferagenticai-mcp"}],"repo":{"found":true,"owner":"NellInc","repo":"saferagenticai-mcp","archived":false,"pushedAt":"2026-09-03T15:09:40Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/5419314?v=4","ownerCreatedAt":"2013-09-09T15:18:22Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/5419314?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":41,"license":"MIT","lastPushAt":"2026-09-03T15:09:40.000Z","score":28}}}},"grade_history":[],"reviews":[]}