# io.github.NellInc/saferagenticai-mcp

> Read-only tools over the Safer Agentic AI framework: 238 patterns + 14 heuristics.

- name: io.github.NellInc/saferagenticai-mcp
- version: 0.3.6
- connection class: R0 (autonomous)
- trust: 91/100
- quality: 83/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.NellInc%2Fsaferagenticai-mcp
- tools: https://api.protogrid.dev/v1/servers/io.github.NellInc%2Fsaferagenticai-mcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "saferagenticai-mcp": {
      "type": "http",
      "url": "https://mcp.saferagenticai.org/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 99
- freshness: 85
- provenance: 80
- drivers: +repository +namespace-matches-repo +reachable +uptime-98% ~updated-47d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 83/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 10 of 10 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: find_patterns_for_task (idempotentHint); get_reverse_references (idempotentHint); list_suites (idempotentHint); …
- pass `tools.token_cost`: about 1,475 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 14 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: 100 (weight 15)

- pass `deps.known_vulns`: no known advisory in 31 resolved packages
- pass `deps.mcp_sdk_version`: mcp 1.30.0, no known advisory
- pass `deps.resolvable`: saferagenticai-mcp@0.3.6 resolved: 31 packages

- tools: 10, about 1,475 tokens to load them all
- tool set hash: aeab8e717f118764c2c5923cc37ba3e0
- tools last changed: 2026-10-16T05:44:38.744Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.NellInc/saferagenticai-mcp.svg)](https://protogrid.dev/servers/io.github.NellInc/saferagenticai-mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-16 `review_stats` removed
  - Coverage stats: total patterns, reviewed %, per-suite and per-confidence breakdown. Surfaces load-time validation issue count.
- 2026-10-16 `list_unreviewed` removed
  - 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.
- 2026-09-30 `get_operational_heuristic` changed (annotations)
- 2026-09-30 `list_operational_heuristics` changed (annotations)
- 2026-09-30 `get_reverse_references` changed (annotations)
- 2026-09-30 `review_stats` changed (annotations)
- 2026-09-30 `list_unreviewed` changed (annotations)
- 2026-09-30 `find_patterns_for_task` changed (annotations)
- 2026-09-30 `resolve_id` changed (annotations)
- 2026-09-30 `get_cross_references` changed (annotations)

Full history: https://api.protogrid.dev/v1/servers/io.github.NellInc%2Fsaferagenticai-mcp/changes

## Dependencies

- pypi saferagenticai-mcp@0.3.6: resolved, 30 dependencies, MCP SDK mcp 1.30.0

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.saferagenticai.org/mcp (streamable-http, auth none, reachable true, uptime30d 0.9830508)

## Packages

- pypi saferagenticai-mcp@0.3.6

## Tools (10)

- `find_patterns_for_task`: 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.
- `get_cross_references`: 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.
- `get_operational_heuristic`: 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.
- `get_requirement`: 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.
- `get_reverse_references`: 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.
- `list_operational_heuristics`: 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.
- `list_requirements`: List subgoals matching filters (suite_id, suite_type, content_type, min_confidence, missing_pattern_only). Results capped by limit (default 50, max 100).
- `list_suites`: List all 16 suites in the SaferAgenticAI framework (9 drivers + 7 inhibitors) with subgoal counts and titles. Call this first to orient.
- `resolve_id`: 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'.
- `search_patterns`: Field-weighted keyword search across the framework. Terms match at word starts on lowercased text and are IDF-weighted, so rare terms outrank ubiquitous ones; field weights: title 10x, summary 4x, SFR text 3x (all of a subgoal's SFRs scored as one field), 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.
