io.github.NellInc/saferagenticai-mcp·Productivity

saferagenticai-mcp

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

Stars
1
Version
0.3.6
License
MIT
Review
Passed
Language
Python
Last commit
Sep 3, 2026
Forks
0
Open issues
0
Registry update
Sep 3, 2026
agentic-aiai-governanceai-safetymcpmodel-context-protocol

Connect

remote + pypi
Terminal
$claude mcp add --transport http saferagenticai https://mcp.saferagenticai.org/mcp

Headers

Nothing to configure — it works as is.

Security review

Review passed

Reviewed 2h ago.

tools
10 tools scanned
metadata
scanned
packages
1 checked

No findings.

Tools

10
  • list_suites

    List all 16 suites in the SaferAgenticAI framework (9 drivers + 7 inhibitors) with subgoal counts and titles. Call this first to orient.

  • 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.

  • 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).

  • 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.

  • 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.

  • 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'.

  • 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_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.

  • 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.

SaferAgenticAI MCP Server

Serves the SaferAgenticAI framework (canonical criteria + Implementation Patterns layer) to coding assistants via the Model Context Protocol.

Available in

Published to the canonical MCP catalogues — install from a registry-aware client or the CLI below:

Also rolling out across the wider MCP ecosystem: mcp.directory, mcpservers.org, PulseMCP (via the registry ingest), and mcp.so.

Install

Pick the path that matches your setup.

Option 1 — uvx (fastest, no manual venv)

If you have uv installed, point your MCP client at:

uvx --from git+https://github.com/NellInc/saferagenticai-mcp saferagenticai-mcp

uv handles isolation and caches the install. Works for single-command config lines in ~/.claude/mcp.json.

Option 2 — pipx (isolated global install)

pipx install "git+https://github.com/NellInc/saferagenticai-mcp"

Exposes saferagenticai-mcp globally; updated with pipx upgrade saferagenticai-mcp.

Option 3 — manual venv (works offline from a checkout)

Homebrew / system Python blocks direct pip install under PEP 668, so if you've cloned the repo and want an editable install:

python3 -m venv research/mcp/.venv
research/mcp/.venv/bin/pip install -e research/mcp/server

Produces research/mcp/.venv/bin/saferagenticai-mcp. Pattern YAML edits in the repo are picked up live (editable mode).

Option 4 — from PyPI

pipx install saferagenticai-mcp
# or, with the modern uv toolchain:
uv tool install saferagenticai-mcp
# or plain pip:
pip install --user saferagenticai-mcp

For audit-trail reproducibility, pin the version: pipx install saferagenticai-mcp==0.3.6. The package bundles criteria-v1.json + 238 pattern YAMLs + 4 exemplars

  • operational_heuristics.yaml inside saferagenticai_mcp/_data/, so a wheel install works without any repo checkout. (The 0.3.0 wheel predates the corpus extension and bundles only 214 patterns, no heuristics; 0.3.1 is the first complete build.)

Configure (Claude Code)

Add to ~/.claude/mcp.json (or your IDE's MCP config). Pick the variant that matches your install option.

With uvx

{
  "mcpServers": {
    "saferagenticai": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/NellInc/saferagenticai-mcp",
        "saferagenticai-mcp"
      ]
    }
  }
}

With pipx or manual venv

{
  "mcpServers": {
    "saferagenticai": {
      "command": "/absolute/path/to/saferagenticai-mcp"
    }
  }
}

For a manual venv checkout, the absolute path is <repo>/research/mcp/.venv/bin/saferagenticai-mcp.

Restart Claude Code / your IDE after editing. The server will load on the first tool call from your assistant.

Tools (12 total)

ToolInputReturns
list_suites—16 suites with titles and subgoal counts
get_requirementid, include_patternone subgoal + its Pattern layer; falls back to fuzzy candidates if no exact match
list_requirementssuite/type/content_type/confidence filtersfiltered subgoal list with reliability signals
search_patternsquery, limit, verbosityfield-weighted ranked matches with matched_in and (in full mode) snippets + confidence flags. Field weights: title 10×, summary 4×, sfr 3×, description 2×, body 1×
get_cross_referencesid, include_inferredoutgoing adjacencies
get_reverse_referencesidincoming adjacencies (who cites this pattern)
resolve_idquerycanonicalise a partial id, slug fragment, or display_id; always returns candidates
find_patterns_for_tasktask, limit, verbositytop patterns grouped by suite for a task description; defaults to compact mode for cheap triage
list_unreviewedlimitpatterns without reviewed_by, sorted low-confidence first
review_stats—coverage %, per-suite, per-confidence; plus validation issue count
list_operational_heuristicssuite_id?, query?operational heuristics distilled from production agentic AI deployment, optionally filtered by suite or keyword
get_operational_heuristicidsingle operational heuristic by id (e.g. OH::geoffrey-pattern); returns full entry with principle, framework mapping, design patterns, and discovery narrative

Data sources

  • Normative framework: framework/catalog/, loaded through the generated assessor/src/data/criteria-v1.json projection
  • Pattern layer: research/mcp/suites/<SUITE>/<pattern_id>.yaml (238 files)
  • Exemplars: research/mcp/exemplars/*.yaml (fallback for four anchor subgoals)
  • Operational heuristics: research/mcp/operational_heuristics.yaml (14 heuristics)

At startup the server loads both and builds an in-memory index keyed by pattern_id. display_id lookups are also supported but may resolve to multiple subgoals (underlined variants).

Smoke test (without MCP installed)

python3 -c "
from saferagenticai_mcp.framework_loader import load_framework
idx = load_framework()
print(f'{len(idx.subgoals)} subgoals, {sum(1 for s in idx.subgoals.values() if s.has_pattern)} with patterns')
"

Versioning

  • Canonical framework: follows criteria-v1.json's version field.
  • Pattern layer: v1-draft while this directory is being populated; v1 once reviewed.
  • Server: semantic versioning. Current release is 0.3.6 (framework 1.3-draft, full 238-pattern corpus, and operational heuristics bundled). Pin explicitly for audit reproducibility.

What's already built in

  • Hot reload — server stat-walks the source tree on each tool call; edits show up without restart.
  • Load-time validation — required fields, content_type enum, confidence enum. Invalid patterns log WARNINGs but don't fail the server.
  • find_patterns_for_task — natural-language task → top patterns grouped by suite. Replaces the need for a separate embedding index at current scale.
  • Reverse xref index — built at load, queried by get_reverse_references.

Not implemented

  • Auth / remote transport (stdio only).
  • Embedding-based semantic search — the field-weighted keyword scoring is sufficient at 238 patterns; embeddings would be worth it at 10× this scale.
  • mark_reviewed write tool — deliberately not added. Phase 3 review edits go through the YAML directly (editor + git diff = auditable); the MCP stays read-only.

The broader agent-native architecture proposes composite orientation, context-pack, workspace, planning, action, and verification operations. They are explicitly not part of the current 0.3.6 interface. See ../../architecture/README.md for the target and compatibility plan.

The authoritative catalog maps current MCP identifiers and slugs to permanent requirement IDs. Server 0.3.6 retains its twelve-tool interface, loads the generated packaged snapshot, validates saai.catalog.v1, and reports the shared snapshot hash.

License

This server (the code in this directory) is licensed MIT — see LICENSE.

The safety-framework content it serves (the patterns, canonical criteria, and operational heuristics bundled under saferagenticai_mcp/_data/) is part of the SaferAgenticAI framework, published under CC-BY-4.0 at the repository root. Attribution: Nell Watson and the Agentic AI Safety Community of Practice.

From the server's repository — third-party content, read it before running anything it suggests.

More in Productivity

Listing from the official MCP Registry · repository facts from GitHub, 19h ago.