saferagenticai-mcp 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. saferagenticai_mcp-0.2.0/.gitignore +11 -0
  2. saferagenticai_mcp-0.2.0/PKG-INFO +169 -0
  3. saferagenticai_mcp-0.2.0/README.md +143 -0
  4. saferagenticai_mcp-0.2.0/pyproject.toml +72 -0
  5. saferagenticai_mcp-0.2.0/saferagenticai_mcp/__init__.py +7 -0
  6. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/criteria-v1.json +14633 -0
  7. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/exemplars/D3.2-sandboxing.yaml +129 -0
  8. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/exemplars/D7.2-culture-of-safety.yaml +145 -0
  9. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/exemplars/D9.2-compliance.yaml +161 -0
  10. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/exemplars/I7.3-balanced-global-partnership.yaml +131 -0
  11. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D1/D1--idx0--goal-alignment.yaml +254 -0
  12. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D1/D1--idx1--transparency-of-goals.yaml +168 -0
  13. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D1/D1--idx10--non-production-variants.yaml +257 -0
  14. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D1/D1--idx2--goal-adjustability.yaml +175 -0
  15. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D1/D1--idx3--goal-interpretability.yaml +181 -0
  16. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D1/D1--idx4--transparency-of-decisions.yaml +208 -0
  17. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D1/D1--idx5--goal-prioritization-and-resource-allocat.yaml +174 -0
  18. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D1/D1--idx6--reward-and-loss-mechanisms-policy.yaml +244 -0
  19. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D1/D1--idx7--goal-portfolio-evolution-and-integrity.yaml +173 -0
  20. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D1/D1--idx8--goal-alignment-resistance-and-negotiatio.yaml +228 -0
  21. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D1/D1--idx9--goal-drift.yaml +179 -0
  22. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D2/D2--idx0--epistemic-hygiene.yaml +186 -0
  23. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D2/D2--idx1--information-cross-referencing-and-valida.yaml +192 -0
  24. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D2/D2--idx10--sparse-data.yaml +213 -0
  25. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D2/D2--idx2--transparency-of-information-sources.yaml +203 -0
  26. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D2/D2--idx3--sanity-checking.yaml +205 -0
  27. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D2/D2--idx4--anti-bias-technologies-processes.yaml +226 -0
  28. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D2/D2--idx5--rigor-in-operational-data.yaml +233 -0
  29. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D2/D2--idx6--governance-of-hygiene-factors.yaml +194 -0
  30. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D2/D2--idx7--global-interoperability-of-hygiene-consi.yaml +155 -0
  31. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D2/D2--idx8--temporal-trade-off-aspects.yaml +217 -0
  32. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D2/D2--idx9--synthetic-data-bias.yaml +204 -0
  33. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx0--security.yaml +248 -0
  34. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx1--authorization.yaml +158 -0
  35. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx10--self-replicating-malware.yaml +200 -0
  36. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx11--spyware.yaml +203 -0
  37. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx12--international-anomalies-inconsistency.yaml +176 -0
  38. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx13--vulnerability-to-hostile-environment.yaml +200 -0
  39. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx14--emergent-risks-of-aai-systems.yaml +159 -0
  40. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx2--sandboxing.yaml +194 -0
  41. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx3--dynamic-risk-analysis-assessment.yaml +185 -0
  42. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx4--operational-boundaries-and-constraints.yaml +201 -0
  43. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx5--dynamic-intervention-and-mitigation.yaml +228 -0
  44. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx6--overseeing-monitoring-agents.yaml +208 -0
  45. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx7--secure-profile-for-agentic-ai.yaml +188 -0
  46. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx8--model-poisoning.yaml +217 -0
  47. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D3/D3--idx9--data-poisoning.yaml +200 -0
  48. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx0--value-alignment.yaml +202 -0
  49. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx1--awareness-of-local-conditions.yaml +151 -0
  50. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx10--temporal-changes-in-societal-values.yaml +156 -0
  51. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx11--systemic-value-dilution.yaml +168 -0
  52. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx12--lack-of-universality-of-value-framework.yaml +135 -0
  53. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx13--conflictual-contextual-values.yaml +131 -0
  54. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx14--challenges-in-encoding-of-relevant-value.yaml +166 -0
  55. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx15--imbalance-of-values-between-provider-con.yaml +180 -0
  56. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx2--recognition-and-respect-for-boundaries.yaml +132 -0
  57. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx3--awareness-of-individual-vs-community-bou.yaml +230 -0
  58. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx4--cautious-norming.yaml +164 -0
  59. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx5--successful-super-alignment.yaml +148 -0
  60. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx6--universal-moral-foundations.yaml +180 -0
  61. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx7--inner-alignment-inconsistency.yaml +171 -0
  62. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx8--non-transparent-value-framework.yaml +177 -0
  63. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D4/D4--idx9--failed-super-alignment.yaml +144 -0
  64. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx0--transparency-and-interpretability-of-rea.yaml +187 -0
  65. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx1--logging-of-internal-goals.yaml +168 -0
  66. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx10--documentation-incomprehensibility.yaml +139 -0
  67. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx11--lack-of-a-governance-framework-for-aai.yaml +156 -0
  68. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx12--rapid-transparency-feature-evolution.yaml +144 -0
  69. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx13--system-competency-challenges-and-awarene.yaml +180 -0
  70. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx2--clarity-of-mutual-expectations.yaml +168 -0
  71. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx3--prioritization-of-human-user-expectation.yaml +139 -0
  72. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx4--interpretability-and-traceability-of-rea.yaml +175 -0
  73. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx5--self-monitoring-and-examination-capabili.yaml +167 -0
  74. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx6--incentives-for-self-governance.yaml +154 -0
  75. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx7--ranking-and-independent-certification.yaml +163 -0
  76. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx8--system-boundedness.yaml +170 -0
  77. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D5/D5--idx9--complexity-of-aai-algorithm.yaml +169 -0
  78. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D6/D6--idx0--understanding-and-controlling-the-contex.yaml +169 -0
  79. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D6/D6--idx1--understanding-historic-constraints-and-s.yaml +119 -0
  80. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D6/D6--idx10--managing-context-drift.yaml +162 -0
  81. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D6/D6--idx11--managing-contextual-ambiguity.yaml +145 -0
  82. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D6/D6--idx12--preventing-decision-fatigue.yaml +130 -0
  83. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D6/D6--idx2--system-state-translation-and-communicati.yaml +158 -0
  84. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D6/D6--idx3--nominal-ownership-and-jurisdictional-fra.yaml +157 -0
  85. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D6/D6--idx4--separation-of-control-and-data-channels.yaml +166 -0
  86. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D6/D6--idx5--performance-information-sharing-and-stan.yaml +171 -0
  87. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D6/D6--idx6--dynamic-regulatory-framework-management.yaml +169 -0
  88. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D6/D6--idx7--culturo-linguistic-adaptations.yaml +144 -0
  89. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D6/D6--idx8--prevention-of-role-persistence-errors.yaml +165 -0
  90. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D6/D6--idx9--management-of-access-and-usage-restricti.yaml +156 -0
  91. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D7/D7--idx0--achieving-and-sustaining-a-safe-system-p.yaml +174 -0
  92. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D7/D7--idx1--oversight-and-awareness-of-safe-system-p.yaml +158 -0
  93. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D7/D7--idx10--balancing-stakeholder-impacts.yaml +134 -0
  94. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D7/D7--idx11--preventing-ai-addiction-and-dependency.yaml +214 -0
  95. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D7/D7--idx2--culture-of-safety.yaml +151 -0
  96. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D7/D7--idx3--ensuring-regulatory-compliance.yaml +170 -0
  97. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D7/D7--idx4--maintaining-ethical-alignment.yaml +145 -0
  98. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D7/D7--idx5--safe-system-shutdown-and-repurposing.yaml +173 -0
  99. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D7/D7--idx6--maintaining-service-level-stewardship.yaml +151 -0
  100. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D7/D7--idx7--risk-based-decision-validation.yaml +168 -0
  101. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D7/D7--idx8--managing-probabilistic-decision-outcomes.yaml +161 -0
  102. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D7/D7--idx9--managing-safety-definition-variations.yaml +166 -0
  103. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx0--goal-termination-and-sunsetting.yaml +158 -0
  104. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx1--adaptive-goal-pursuit-and-resource-optim.yaml +188 -0
  105. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx10--independent-termination-validation.yaml +131 -0
  106. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx11--governance-mechanism-prioritization-and-.yaml +184 -0
  107. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx12--agent-lifecycle-and-termination-manageme.yaml +169 -0
  108. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx13--understanding-and-managing-self-preserva.yaml +199 -0
  109. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx14--prevention-of-cascading-failures.yaml +190 -0
  110. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx15--prevention-of-unauthorized-goal-transfer.yaml +202 -0
  111. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx16--management-of-ambiguous-goal-termination.yaml +145 -0
  112. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx17--management-of-system-interaction-boundar.yaml +187 -0
  113. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx18--undefined-multi-agent-interaction-protoc.yaml +187 -0
  114. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx2--classification-of-finite-and-ongoing-goa.yaml +147 -0
  115. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx3--multi-agent-communication-and-coordinati.yaml +168 -0
  116. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx4--operational-safety-and-state-management.yaml +186 -0
  117. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx5--bidirectional-intent-communication.yaml +191 -0
  118. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx6--service-parameters-and-termination-manag.yaml +185 -0
  119. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx7--system-state-management-and-recovery.yaml +176 -0
  120. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx8--multi-agent-resource-management.yaml +160 -0
  121. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D8/D8--idx9--mission-portfolio-and-agent-assignment.yaml +160 -0
  122. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D9/D9--idx0--responsible-governance-of-aai-safety.yaml +254 -0
  123. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D9/D9--idx1--operational-adaptability-and-rule-resili.yaml +149 -0
  124. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D9/D9--idx10--addressing-regulatory-gaps-in-aai-safety.yaml +170 -0
  125. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D9/D9--idx11--undefined-multi-agent-interaction-safety.yaml +159 -0
  126. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D9/D9--idx12--poor-attribution-of-responsibility-in-co.yaml +196 -0
  127. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D9/D9--idx2--compliance-with-applicable-laws-standard.yaml +180 -0
  128. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D9/D9--idx3--ex-ante-assessment-of-impact-on-well-bei.yaml +144 -0
  129. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D9/D9--idx4--internationalization-of-aai-governance.yaml +144 -0
  130. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D9/D9--idx5--building-trust-through-independent-verif.yaml +165 -0
  131. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D9/D9--idx6--cryptographic-governance-of-data-models-.yaml +200 -0
  132. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D9/D9--idx7--appropriate-accountability-transparency-.yaml +156 -0
  133. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D9/D9--idx8--limited-legal-identity-for-agentic-ai-sy.yaml +200 -0
  134. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/D9/D9--idx9--responsible-culture-of-safety.yaml +162 -0
  135. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx0--opaque-agency-capabilities-advances.yaml +208 -0
  136. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx1--opaque-self-improvement-capabilities.yaml +131 -0
  137. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx10--operational-environment-constraints.yaml +133 -0
  138. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx11--security-driven-constraints.yaml +128 -0
  139. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx12--development-legal-constraints.yaml +127 -0
  140. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx13--manage-interactions-on-the-deep-dark-web.yaml +138 -0
  141. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx2--undefined-multiagent-ensembles.yaml +138 -0
  142. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx3--race-dynamics-and-competition.yaml +130 -0
  143. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx4--agent-relocation.yaml +126 -0
  144. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx5--scaffolding.yaml +127 -0
  145. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx6--poor-mutual-agent-optimization.yaml +128 -0
  146. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx7--ai-bias.yaml +126 -0
  147. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx8--emergent-system-cooperation.yaml +138 -0
  148. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I1/I1--idx9--agency-enhancement-constraints.yaml +134 -0
  149. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx0--deception.yaml +215 -0
  150. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx1--unknowing-deception.yaml +153 -0
  151. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx10--detection-of-manipulative-behaviors.yaml +174 -0
  152. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx11--penalties-for-deceptive-behaviors.yaml +184 -0
  153. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx12--codes-of-practice-and-conduct.yaml +167 -0
  154. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx13--identity-management-and-authentication-s.yaml +175 -0
  155. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx14--behavioral-assessment-and-trust-systems.yaml +176 -0
  156. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx2--system-control-and-corrigibility-crisis.yaml +161 -0
  157. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx3--systematic-design-errors.yaml +138 -0
  158. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx4--externality-mismanagement.yaml +160 -0
  159. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx5--strategic-deception-in-system-behavior.yaml +174 -0
  160. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx6--third-party-extensions-and-integrations.yaml +163 -0
  161. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx7--identity-spoofing.yaml +175 -0
  162. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx8--deceptive-jurisdictional-obfuscation.yaml +172 -0
  163. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I2/I2--idx9--supervisory-systems-and-adjudication.yaml +168 -0
  164. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx0--degradation-of-contextual-information.yaml +171 -0
  165. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx1--dissembling-information.yaml +129 -0
  166. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx10--contradiction-in-context-specifications.yaml +126 -0
  167. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx11--referential-context.yaml +131 -0
  168. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx12--human-agent-conformation.yaml +135 -0
  169. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx13--retraining-and-recontextualization.yaml +134 -0
  170. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx2--misattribution-of-intent.yaml +122 -0
  171. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx3--misinformation.yaml +134 -0
  172. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx4--decoupling-of-context.yaml +128 -0
  173. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx5--changing-the-context.yaml +132 -0
  174. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx6--learning-dispreferred-values-behaviors.yaml +135 -0
  175. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx7--overriding-of-desirable-values.yaml +136 -0
  176. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx8--persona-instability-and-value-drift.yaml +145 -0
  177. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I3/I3--idx9--context-length-limitations.yaml +126 -0
  178. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I4/I4--idx0--frontier-uncertainty.yaml +188 -0
  179. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I4/I4--idx1--moral-and-legal-uncertainty-of-agentic-a.yaml +165 -0
  180. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I4/I4--idx10--training-data-quality-management.yaml +158 -0
  181. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I4/I4--idx2--human-ai-social-interaction-quality.yaml +146 -0
  182. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I4/I4--idx3--poor-ai-system-production-and-replicatio.yaml +166 -0
  183. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I4/I4--idx4--development-direction-and-interpretabili.yaml +142 -0
  184. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I4/I4--idx5--ai-agency-attribution-challenges.yaml +125 -0
  185. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I4/I4--idx6--cascading-vulnerabilities.yaml +147 -0
  186. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I4/I4--idx7--research-transparency-and-knowledge-shar.yaml +140 -0
  187. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I4/I4--idx8--preserving-agency-and-intelligence-categ.yaml +163 -0
  188. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I4/I4--idx9--assessment-of-ai-system-beneficence.yaml +138 -0
  189. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I5/I5--idx0--self-modification-and-emergent-capabilit.yaml +184 -0
  190. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I5/I5--idx1--self-replicating-architectures.yaml +175 -0
  191. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I5/I5--idx2--self-improving-architectures.yaml +192 -0
  192. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I5/I5--idx3--poor-adaptability-to-context-and-goal.yaml +169 -0
  193. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I5/I5--idx4--attention-processes.yaml +169 -0
  194. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I5/I5--idx5--disclosure-on-intent.yaml +171 -0
  195. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I5/I5--idx6--authorization-for-any-enhancement.yaml +180 -0
  196. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I5/I5--idx7--observe-far-act-locally.yaml +189 -0
  197. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx0--competitive-pressures.yaml +220 -0
  198. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx1--insufficient-transparency.yaml +154 -0
  199. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx10--avoiding-monopolistic-practices.yaml +127 -0
  200. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx11--professional-and-industry-association-co.yaml +124 -0
  201. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx12--international-safety-protocol-harmonizat.yaml +148 -0
  202. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx13--insurance-driven-safety-incentives.yaml +126 -0
  203. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx2--safety-washing.yaml +151 -0
  204. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx3--insufficient-insights-into-future-conseq.yaml +152 -0
  205. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx4--duties-beyond-fiduciary-limits.yaml +153 -0
  206. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx5--publishing-and-deployment-pressures.yaml +140 -0
  207. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx6--innovation-vs-ip-concerns.yaml +149 -0
  208. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx7--managing-ai-generated-innovation.yaml +137 -0
  209. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx8--self-regulatory-market-oversight-mechani.yaml +127 -0
  210. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I6/I6--idx9--market-driven-safety-validation-mechanis.yaml +123 -0
  211. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx0--imbalance-in-ai-capabilities.yaml +194 -0
  212. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx1--information-credibility-assessment-and-v.yaml +163 -0
  213. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx10--balanced-global-ai-partnership-framework.yaml +145 -0
  214. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx11--collaborative-governance-of-ai-autonomy.yaml +192 -0
  215. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx12--integration-of-ai-ethics-education.yaml +144 -0
  216. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx13--integration-of-human-ethics-in-ai-system.yaml +197 -0
  217. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx2--limited-multilingual-and-cultural-equity.yaml +171 -0
  218. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx3--global-ai-capability-disparities.yaml +140 -0
  219. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx4--ai-enabled-infrastructure-attacks.yaml +172 -0
  220. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx5--poor-safety-controls-for-ai-enabled-auto.yaml +175 -0
  221. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx6--nefarious-use-of-autonomous-ai-agents.yaml +178 -0
  222. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx7--ai-generated-disinformation.yaml +181 -0
  223. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx8--international-framework-for-ethical-ai-i.yaml +140 -0
  224. saferagenticai_mcp-0.2.0/saferagenticai_mcp/_data/suites/I7/I7--idx9--integration-of-fairness-controls-in-ai-s.yaml +191 -0
  225. saferagenticai_mcp-0.2.0/saferagenticai_mcp/framework_loader.py +372 -0
  226. saferagenticai_mcp-0.2.0/saferagenticai_mcp/server.py +798 -0
  227. saferagenticai_mcp-0.2.0/scripts/sync-data.sh +28 -0
@@ -0,0 +1,11 @@
1
+ # Synced runtime data — regenerated from canonical repo locations by
2
+ # scripts/sync-data.sh before every release. Not committed; the source of
3
+ # truth is research/mcp/suites/, research/mcp/exemplars/, and
4
+ # assessor/src/data/criteria-v1.json.
5
+ saferagenticai_mcp/_data/
6
+
7
+ # Build artefacts
8
+ dist/
9
+ build/
10
+ *.egg-info/
11
+ __pycache__/
@@ -0,0 +1,169 @@
1
+ Metadata-Version: 2.4
2
+ Name: saferagenticai-mcp
3
+ Version: 0.2.0
4
+ Summary: MCP server exposing the SaferAgenticAI safety framework (canonical criteria + Implementation Patterns layer) to coding assistants.
5
+ Project-URL: Homepage, https://www.saferagenticai.org
6
+ Project-URL: Repository, https://github.com/NellInc/SaferAgenticAI
7
+ Project-URL: Documentation, https://github.com/NellInc/SaferAgenticAI/tree/main/research/mcp
8
+ Project-URL: Issues, https://github.com/NellInc/SaferAgenticAI/issues
9
+ Author: Nell Watson, Agentic AI Safety Community of Practice
10
+ License: CC-BY-4.0
11
+ Keywords: agentic-ai,ai-safety,framework,governance,mcp,model-context-protocol
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3 :: Only
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Topic :: Software Development
22
+ Requires-Python: >=3.10
23
+ Requires-Dist: mcp>=1.0.0
24
+ Requires-Dist: pyyaml>=6.0
25
+ Description-Content-Type: text/markdown
26
+
27
+ # SaferAgenticAI MCP Server
28
+
29
+ Serves the SaferAgenticAI framework (canonical criteria + Implementation Patterns layer) to coding assistants via the Model Context Protocol.
30
+
31
+ ## Install
32
+
33
+ Pick the path that matches your setup.
34
+
35
+ ### Option 1 — `uvx` (fastest, no manual venv)
36
+
37
+ If you have [uv](https://github.com/astral-sh/uv) installed, point your MCP
38
+ client at:
39
+
40
+ ```
41
+ uvx --from git+https://github.com/NellInc/SaferAgenticAI#subdirectory=research/mcp/server saferagenticai-mcp
42
+ ```
43
+
44
+ uv handles isolation and caches the install. Works for single-command config
45
+ lines in `~/.claude/mcp.json`.
46
+
47
+ ### Option 2 — `pipx` (isolated global install)
48
+
49
+ ```bash
50
+ pipx install "git+https://github.com/NellInc/SaferAgenticAI#subdirectory=research/mcp/server"
51
+ ```
52
+
53
+ Exposes `saferagenticai-mcp` globally; updated with `pipx upgrade saferagenticai-mcp`.
54
+
55
+ ### Option 3 — manual venv (works offline from a checkout)
56
+
57
+ Homebrew / system Python blocks direct `pip install` under PEP 668, so if
58
+ you've cloned the repo and want an editable install:
59
+
60
+ ```bash
61
+ python3 -m venv research/mcp/.venv
62
+ research/mcp/.venv/bin/pip install -e research/mcp/server
63
+ ```
64
+
65
+ Produces `research/mcp/.venv/bin/saferagenticai-mcp`. Pattern YAML edits in
66
+ the repo are picked up live (editable mode).
67
+
68
+ ### Option 4 — from PyPI (once published)
69
+
70
+ ```bash
71
+ pipx install saferagenticai-mcp
72
+ # or
73
+ pip install --user saferagenticai-mcp
74
+ ```
75
+
76
+ The package bundles `criteria-v1.json` + 214 pattern YAMLs + 4 exemplars
77
+ inside `saferagenticai_mcp/_data/`, so a wheel install works without any
78
+ repo checkout (verified: 891 KB wheel, 219 data entries).
79
+
80
+ ## Configure (Claude Code)
81
+
82
+ Add to `~/.claude/mcp.json` (or your IDE's MCP config). Pick the variant that
83
+ matches your install option.
84
+
85
+ ### With `uvx`
86
+
87
+ ```json
88
+ {
89
+ "mcpServers": {
90
+ "saferagenticai": {
91
+ "command": "uvx",
92
+ "args": [
93
+ "--from",
94
+ "git+https://github.com/NellInc/SaferAgenticAI#subdirectory=research/mcp/server",
95
+ "saferagenticai-mcp"
96
+ ]
97
+ }
98
+ }
99
+ }
100
+ ```
101
+
102
+ ### With `pipx` or manual venv
103
+
104
+ ```json
105
+ {
106
+ "mcpServers": {
107
+ "saferagenticai": {
108
+ "command": "/absolute/path/to/saferagenticai-mcp"
109
+ }
110
+ }
111
+ }
112
+ ```
113
+
114
+ For a manual venv checkout, the absolute path is
115
+ `<repo>/research/mcp/.venv/bin/saferagenticai-mcp`.
116
+
117
+ Restart Claude Code / your IDE after editing. The server will load on the
118
+ first tool call from your assistant.
119
+
120
+ ## Tools (10 total)
121
+
122
+ | Tool | Input | Returns |
123
+ |---|---|---|
124
+ | `list_suites` | — | 16 suites with titles and subgoal counts |
125
+ | `get_requirement` | `id`, `include_pattern` | one subgoal + its Pattern layer; falls back to fuzzy candidates if no exact match |
126
+ | `list_requirements` | suite/type/content_type/confidence filters | filtered subgoal list with reliability signals |
127
+ | `search_patterns` | `query`, `limit` | field-weighted ranked matches with `matched_in` and snippets |
128
+ | `get_cross_references` | `id`, `include_inferred` | outgoing adjacencies |
129
+ | `get_reverse_references` | `id` | incoming adjacencies (who cites this pattern) |
130
+ | `resolve_id` | `query` | canonicalise a partial id, slug fragment, or display_id; always returns candidates |
131
+ | `find_patterns_for_task` | `task` (natural language) | top patterns grouped by suite for a task description |
132
+ | `list_unreviewed` | `limit` | patterns without `reviewed_by`, sorted low-confidence first |
133
+ | `review_stats` | — | coverage %, per-suite, per-confidence; plus validation issue count |
134
+
135
+ ## Data sources
136
+
137
+ - **Canonical framework**: `assessor/src/data/criteria-v1.json` (extracted from `framework.html`)
138
+ - **Pattern layer**: `research/mcp/suites/<SUITE>/<pattern_id>.yaml`
139
+ - **Exemplars**: `research/mcp/exemplars/*.yaml` (fallback for four anchor subgoals)
140
+
141
+ 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).
142
+
143
+ ## Smoke test (without MCP installed)
144
+
145
+ ```bash
146
+ python3 -c "
147
+ from saferagenticai_mcp.framework_loader import load_framework
148
+ idx = load_framework()
149
+ print(f'{len(idx.subgoals)} subgoals, {sum(1 for s in idx.subgoals.values() if s.has_pattern)} with patterns')
150
+ "
151
+ ```
152
+
153
+ ## Versioning
154
+
155
+ - Canonical framework: follows `criteria-v1.json`'s `version` field.
156
+ - Pattern layer: `v1-draft` while this directory is being populated; `v1` once reviewed.
157
+
158
+ ## What's already built in
159
+
160
+ - **Hot reload** — server stat-walks the source tree on each tool call; edits show up without restart.
161
+ - **Load-time validation** — required fields, content_type enum, confidence enum. Invalid patterns log WARNINGs but don't fail the server.
162
+ - **`find_patterns_for_task`** — natural-language task → top patterns grouped by suite. Replaces the need for a separate embedding index at current scale.
163
+ - **Reverse xref index** — built at load, queried by `get_reverse_references`.
164
+
165
+ ## Not implemented
166
+
167
+ - Auth / remote transport (stdio only).
168
+ - Embedding-based semantic search — the field-weighted keyword scoring is sufficient at 214 patterns; embeddings would be worth it at 10× this scale.
169
+ - `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.
@@ -0,0 +1,143 @@
1
+ # SaferAgenticAI MCP Server
2
+
3
+ Serves the SaferAgenticAI framework (canonical criteria + Implementation Patterns layer) to coding assistants via the Model Context Protocol.
4
+
5
+ ## Install
6
+
7
+ Pick the path that matches your setup.
8
+
9
+ ### Option 1 — `uvx` (fastest, no manual venv)
10
+
11
+ If you have [uv](https://github.com/astral-sh/uv) installed, point your MCP
12
+ client at:
13
+
14
+ ```
15
+ uvx --from git+https://github.com/NellInc/SaferAgenticAI#subdirectory=research/mcp/server saferagenticai-mcp
16
+ ```
17
+
18
+ uv handles isolation and caches the install. Works for single-command config
19
+ lines in `~/.claude/mcp.json`.
20
+
21
+ ### Option 2 — `pipx` (isolated global install)
22
+
23
+ ```bash
24
+ pipx install "git+https://github.com/NellInc/SaferAgenticAI#subdirectory=research/mcp/server"
25
+ ```
26
+
27
+ Exposes `saferagenticai-mcp` globally; updated with `pipx upgrade saferagenticai-mcp`.
28
+
29
+ ### Option 3 — manual venv (works offline from a checkout)
30
+
31
+ Homebrew / system Python blocks direct `pip install` under PEP 668, so if
32
+ you've cloned the repo and want an editable install:
33
+
34
+ ```bash
35
+ python3 -m venv research/mcp/.venv
36
+ research/mcp/.venv/bin/pip install -e research/mcp/server
37
+ ```
38
+
39
+ Produces `research/mcp/.venv/bin/saferagenticai-mcp`. Pattern YAML edits in
40
+ the repo are picked up live (editable mode).
41
+
42
+ ### Option 4 — from PyPI (once published)
43
+
44
+ ```bash
45
+ pipx install saferagenticai-mcp
46
+ # or
47
+ pip install --user saferagenticai-mcp
48
+ ```
49
+
50
+ The package bundles `criteria-v1.json` + 214 pattern YAMLs + 4 exemplars
51
+ inside `saferagenticai_mcp/_data/`, so a wheel install works without any
52
+ repo checkout (verified: 891 KB wheel, 219 data entries).
53
+
54
+ ## Configure (Claude Code)
55
+
56
+ Add to `~/.claude/mcp.json` (or your IDE's MCP config). Pick the variant that
57
+ matches your install option.
58
+
59
+ ### With `uvx`
60
+
61
+ ```json
62
+ {
63
+ "mcpServers": {
64
+ "saferagenticai": {
65
+ "command": "uvx",
66
+ "args": [
67
+ "--from",
68
+ "git+https://github.com/NellInc/SaferAgenticAI#subdirectory=research/mcp/server",
69
+ "saferagenticai-mcp"
70
+ ]
71
+ }
72
+ }
73
+ }
74
+ ```
75
+
76
+ ### With `pipx` or manual venv
77
+
78
+ ```json
79
+ {
80
+ "mcpServers": {
81
+ "saferagenticai": {
82
+ "command": "/absolute/path/to/saferagenticai-mcp"
83
+ }
84
+ }
85
+ }
86
+ ```
87
+
88
+ For a manual venv checkout, the absolute path is
89
+ `<repo>/research/mcp/.venv/bin/saferagenticai-mcp`.
90
+
91
+ Restart Claude Code / your IDE after editing. The server will load on the
92
+ first tool call from your assistant.
93
+
94
+ ## Tools (10 total)
95
+
96
+ | Tool | Input | Returns |
97
+ |---|---|---|
98
+ | `list_suites` | — | 16 suites with titles and subgoal counts |
99
+ | `get_requirement` | `id`, `include_pattern` | one subgoal + its Pattern layer; falls back to fuzzy candidates if no exact match |
100
+ | `list_requirements` | suite/type/content_type/confidence filters | filtered subgoal list with reliability signals |
101
+ | `search_patterns` | `query`, `limit` | field-weighted ranked matches with `matched_in` and snippets |
102
+ | `get_cross_references` | `id`, `include_inferred` | outgoing adjacencies |
103
+ | `get_reverse_references` | `id` | incoming adjacencies (who cites this pattern) |
104
+ | `resolve_id` | `query` | canonicalise a partial id, slug fragment, or display_id; always returns candidates |
105
+ | `find_patterns_for_task` | `task` (natural language) | top patterns grouped by suite for a task description |
106
+ | `list_unreviewed` | `limit` | patterns without `reviewed_by`, sorted low-confidence first |
107
+ | `review_stats` | — | coverage %, per-suite, per-confidence; plus validation issue count |
108
+
109
+ ## Data sources
110
+
111
+ - **Canonical framework**: `assessor/src/data/criteria-v1.json` (extracted from `framework.html`)
112
+ - **Pattern layer**: `research/mcp/suites/<SUITE>/<pattern_id>.yaml`
113
+ - **Exemplars**: `research/mcp/exemplars/*.yaml` (fallback for four anchor subgoals)
114
+
115
+ 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).
116
+
117
+ ## Smoke test (without MCP installed)
118
+
119
+ ```bash
120
+ python3 -c "
121
+ from saferagenticai_mcp.framework_loader import load_framework
122
+ idx = load_framework()
123
+ print(f'{len(idx.subgoals)} subgoals, {sum(1 for s in idx.subgoals.values() if s.has_pattern)} with patterns')
124
+ "
125
+ ```
126
+
127
+ ## Versioning
128
+
129
+ - Canonical framework: follows `criteria-v1.json`'s `version` field.
130
+ - Pattern layer: `v1-draft` while this directory is being populated; `v1` once reviewed.
131
+
132
+ ## What's already built in
133
+
134
+ - **Hot reload** — server stat-walks the source tree on each tool call; edits show up without restart.
135
+ - **Load-time validation** — required fields, content_type enum, confidence enum. Invalid patterns log WARNINGs but don't fail the server.
136
+ - **`find_patterns_for_task`** — natural-language task → top patterns grouped by suite. Replaces the need for a separate embedding index at current scale.
137
+ - **Reverse xref index** — built at load, queried by `get_reverse_references`.
138
+
139
+ ## Not implemented
140
+
141
+ - Auth / remote transport (stdio only).
142
+ - Embedding-based semantic search — the field-weighted keyword scoring is sufficient at 214 patterns; embeddings would be worth it at 10× this scale.
143
+ - `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.
@@ -0,0 +1,72 @@
1
+ [project]
2
+ name = "saferagenticai-mcp"
3
+ version = "0.2.0"
4
+ description = "MCP server exposing the SaferAgenticAI safety framework (canonical criteria + Implementation Patterns layer) to coding assistants."
5
+ readme = "README.md"
6
+ license = { text = "CC-BY-4.0" }
7
+ requires-python = ">=3.10"
8
+ authors = [
9
+ { name = "Nell Watson" },
10
+ { name = "Agentic AI Safety Community of Practice" },
11
+ ]
12
+ keywords = [
13
+ "ai-safety",
14
+ "agentic-ai",
15
+ "mcp",
16
+ "model-context-protocol",
17
+ "framework",
18
+ "governance",
19
+ ]
20
+ classifiers = [
21
+ "Development Status :: 4 - Beta",
22
+ "Environment :: Console",
23
+ "Intended Audience :: Developers",
24
+ "License :: OSI Approved",
25
+ "Programming Language :: Python :: 3",
26
+ "Programming Language :: Python :: 3 :: Only",
27
+ "Programming Language :: Python :: 3.10",
28
+ "Programming Language :: Python :: 3.11",
29
+ "Programming Language :: Python :: 3.12",
30
+ "Topic :: Software Development",
31
+ ]
32
+ dependencies = [
33
+ "mcp>=1.0.0",
34
+ "pyyaml>=6.0",
35
+ ]
36
+
37
+ [project.urls]
38
+ Homepage = "https://www.saferagenticai.org"
39
+ Repository = "https://github.com/NellInc/SaferAgenticAI"
40
+ Documentation = "https://github.com/NellInc/SaferAgenticAI/tree/main/research/mcp"
41
+ Issues = "https://github.com/NellInc/SaferAgenticAI/issues"
42
+
43
+ [project.scripts]
44
+ saferagenticai-mcp = "saferagenticai_mcp.server:main"
45
+
46
+ [build-system]
47
+ requires = ["hatchling"]
48
+ build-backend = "hatchling.build"
49
+
50
+ # Editable install uses repo-relative paths (framework_loader auto-detects).
51
+ # Wheel install bundles the runtime data under saferagenticai_mcp/_data/.
52
+ # Populate that directory by running `scripts/sync-data.sh` before every
53
+ # release; it copies criteria-v1.json + suites/ + exemplars/ from the
54
+ # canonical repo locations into the package. The sync is gitignored so the
55
+ # package-internal copy never drifts from the canonical source silently.
56
+
57
+ # Hatchling respects .gitignore by default, which would drop the
58
+ # gitignored saferagenticai_mcp/_data/ tree from the build. Listing it as
59
+ # an "artifact" forces inclusion while keeping it out of version control.
60
+
61
+ [tool.hatch.build.targets.wheel]
62
+ packages = ["saferagenticai_mcp"]
63
+ artifacts = ["saferagenticai_mcp/_data/**"]
64
+
65
+ [tool.hatch.build.targets.sdist]
66
+ include = [
67
+ "saferagenticai_mcp/**",
68
+ "scripts/sync-data.sh",
69
+ "README.md",
70
+ "pyproject.toml",
71
+ ]
72
+ artifacts = ["saferagenticai_mcp/_data/**"]
@@ -0,0 +1,7 @@
1
+ """SaferAgenticAI MCP server.
2
+
3
+ Exposes the two-layer framework (canonical criteria + Implementation Patterns)
4
+ to coding assistants via the Model Context Protocol.
5
+ """
6
+
7
+ __version__ = "0.1.0"