@kryptosai/mcp-observatory 0.26.1 → 0.28.0

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 (152) hide show
  1. package/COMMERCIAL.md +13 -9
  2. package/CONTRIBUTORS.md +39 -0
  3. package/PRIVACY.md +5 -5
  4. package/README.md +83 -30
  5. package/TERMS.md +1 -1
  6. package/dist/src/adapters/http.js +1 -5
  7. package/dist/src/adapters/http.js.map +1 -1
  8. package/dist/src/cassette.js +3 -2
  9. package/dist/src/cassette.js.map +1 -1
  10. package/dist/src/checks/attack-sim.d.ts +18 -0
  11. package/dist/src/checks/attack-sim.js +304 -0
  12. package/dist/src/checks/attack-sim.js.map +1 -0
  13. package/dist/src/checks/schema-quality.js +1 -0
  14. package/dist/src/checks/schema-quality.js.map +1 -1
  15. package/dist/src/ci-issue.js +4 -3
  16. package/dist/src/ci-issue.js.map +1 -1
  17. package/dist/src/cli.js +17 -3
  18. package/dist/src/cli.js.map +1 -1
  19. package/dist/src/commands/attack-sim.d.ts +2 -0
  20. package/dist/src/commands/attack-sim.js +168 -0
  21. package/dist/src/commands/attack-sim.js.map +1 -0
  22. package/dist/src/commands/helpers.d.ts +3 -1
  23. package/dist/src/commands/helpers.js +2 -2
  24. package/dist/src/commands/helpers.js.map +1 -1
  25. package/dist/src/commands/init-ci.d.ts +3 -0
  26. package/dist/src/commands/init-ci.js +57 -11
  27. package/dist/src/commands/init-ci.js.map +1 -1
  28. package/dist/src/commands/legacy.js +24 -3
  29. package/dist/src/commands/legacy.js.map +1 -1
  30. package/dist/src/commands/scan.js +37 -10
  31. package/dist/src/commands/scan.js.map +1 -1
  32. package/dist/src/commands/serve.js +9 -1
  33. package/dist/src/commands/serve.js.map +1 -1
  34. package/dist/src/commands/setup-ci-conversion.d.ts +26 -0
  35. package/dist/src/commands/setup-ci-conversion.js +120 -0
  36. package/dist/src/commands/setup-ci-conversion.js.map +1 -0
  37. package/dist/src/commands/telemetry.js +20 -14
  38. package/dist/src/commands/telemetry.js.map +1 -1
  39. package/dist/src/commands/test.js +63 -4
  40. package/dist/src/commands/test.js.map +1 -1
  41. package/dist/src/findings.d.ts +20 -0
  42. package/dist/src/findings.js +272 -0
  43. package/dist/src/findings.js.map +1 -0
  44. package/dist/src/history.js +3 -2
  45. package/dist/src/history.js.map +1 -1
  46. package/dist/src/index.d.ts +3 -0
  47. package/dist/src/index.js +3 -0
  48. package/dist/src/index.js.map +1 -1
  49. package/dist/src/integrations/smithery.js +5 -1
  50. package/dist/src/integrations/smithery.js.map +1 -1
  51. package/dist/src/reporters/attack-sim.d.ts +2 -0
  52. package/dist/src/reporters/attack-sim.js +84 -0
  53. package/dist/src/reporters/attack-sim.js.map +1 -0
  54. package/dist/src/reporters/pr-comment.js +20 -6
  55. package/dist/src/reporters/pr-comment.js.map +1 -1
  56. package/dist/src/reporters/sarif.d.ts +4 -1
  57. package/dist/src/reporters/sarif.js +58 -37
  58. package/dist/src/reporters/sarif.js.map +1 -1
  59. package/dist/src/runner.d.ts +3 -0
  60. package/dist/src/runner.js +5 -0
  61. package/dist/src/runner.js.map +1 -1
  62. package/dist/src/score.js +1 -1
  63. package/dist/src/score.js.map +1 -1
  64. package/dist/src/storage.d.ts +1 -0
  65. package/dist/src/storage.js +28 -2
  66. package/dist/src/storage.js.map +1 -1
  67. package/dist/src/telemetry.d.ts +6 -0
  68. package/dist/src/telemetry.js +17 -1
  69. package/dist/src/telemetry.js.map +1 -1
  70. package/dist/src/types.d.ts +1 -1
  71. package/dist/src/utils/files.d.ts +1 -0
  72. package/dist/src/utils/files.js +21 -0
  73. package/dist/src/utils/files.js.map +1 -0
  74. package/dist/src/utils/ids.js +18 -5
  75. package/dist/src/utils/ids.js.map +1 -1
  76. package/dist/src/utils/url.d.ts +2 -0
  77. package/dist/src/utils/url.js +15 -0
  78. package/dist/src/utils/url.js.map +1 -0
  79. package/dist/src/validate.js +1 -1
  80. package/dist/src/validate.js.map +1 -1
  81. package/docs/agent-ecosystem-promotion-plan.md +244 -0
  82. package/docs/agent-runtime-quickstart.md +98 -0
  83. package/docs/agent-tasks.md +95 -0
  84. package/docs/automatic-ci-integration.md +33 -0
  85. package/docs/campaign-attribution.md +58 -0
  86. package/docs/code-scanning-demo.md +57 -0
  87. package/docs/code-scanning-launch-outreach.md +55 -0
  88. package/docs/contributor-proof-cards/README.md +33 -0
  89. package/docs/contributor-recognition.md +92 -0
  90. package/docs/feishu-lark-mcp.md +3 -3
  91. package/docs/github-code-scanning-for-mcp.md +94 -0
  92. package/docs/launch.md +64 -0
  93. package/docs/mcp-attack-simulator.md +57 -0
  94. package/docs/mcp-server-safety-index.md +18 -12
  95. package/docs/metrics-dashboard.md +2 -2
  96. package/docs/openclaw-agent-template/SOUL.md +156 -0
  97. package/docs/proof.md +7 -4
  98. package/docs/receipt-graph.md +54 -0
  99. package/docs/safety-index/artifacts/antv-chart-server.json +21 -21
  100. package/docs/safety-index/artifacts/antv-chart-server.md +10 -10
  101. package/docs/safety-index/artifacts/browsermcp-server.json +17 -17
  102. package/docs/safety-index/artifacts/browsermcp-server.md +10 -10
  103. package/docs/safety-index/artifacts/context7-server.json +17 -17
  104. package/docs/safety-index/artifacts/context7-server.md +10 -10
  105. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +2014 -0
  106. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +163 -0
  107. package/docs/safety-index/artifacts/everything-server.json +131 -56
  108. package/docs/safety-index/artifacts/everything-server.md +24 -24
  109. package/docs/safety-index/artifacts/executeautomation-playwright-server.json +26 -18
  110. package/docs/safety-index/artifacts/executeautomation-playwright-server.md +10 -10
  111. package/docs/safety-index/artifacts/filesystem-server.json +128 -20
  112. package/docs/safety-index/artifacts/filesystem-server.md +10 -10
  113. package/docs/safety-index/artifacts/kubernetes-server.attack.json +1559 -0
  114. package/docs/safety-index/artifacts/kubernetes-server.attack.md +43 -0
  115. package/docs/safety-index/artifacts/kubernetes-server.attack.sarif +2857 -0
  116. package/docs/safety-index/artifacts/kubernetes-server.json +1348 -0
  117. package/docs/safety-index/artifacts/kubernetes-server.md +150 -0
  118. package/docs/safety-index/artifacts/memory-server.json +75 -32
  119. package/docs/safety-index/artifacts/memory-server.md +35 -28
  120. package/docs/safety-index/artifacts/opentofu-server.json +25 -17
  121. package/docs/safety-index/artifacts/opentofu-server.md +11 -11
  122. package/docs/safety-index/artifacts/playwright-mcp-server.json +56 -20
  123. package/docs/safety-index/artifacts/playwright-mcp-server.md +12 -12
  124. package/docs/safety-index/artifacts/promptopia-server.json +28 -20
  125. package/docs/safety-index/artifacts/promptopia-server.md +11 -11
  126. package/docs/safety-index/artifacts/puppeteer-server.json +42 -30
  127. package/docs/safety-index/artifacts/puppeteer-server.md +28 -28
  128. package/docs/safety-index/artifacts/ref-tools-server.json +17 -17
  129. package/docs/safety-index/artifacts/ref-tools-server.md +9 -9
  130. package/docs/safety-index/artifacts/sequential-thinking-server.json +20 -21
  131. package/docs/safety-index/artifacts/sequential-thinking-server.md +10 -10
  132. package/docs/safety-index/targets.json +90 -14
  133. package/docs/setup-ci-doctor.md +2 -0
  134. package/docs/target-contribution-guide.md +139 -0
  135. package/docs/target-gallery.md +49 -0
  136. package/docs/target-registry.md +120 -0
  137. package/docs/tool-call-receipts.md +116 -0
  138. package/package.json +52 -9
  139. package/schemas/run-artifact.schema.json +1 -0
  140. package/scripts/postinstall.mjs +123 -0
  141. package/docs/certification-campaign-template.md +0 -181
  142. package/docs/certification-distribution.md +0 -145
  143. package/docs/certification-pr-campaign.md +0 -68
  144. package/docs/clone-to-ci-campaign.md +0 -62
  145. package/docs/directory-listing-copy.md +0 -85
  146. package/docs/distribution-launch.md +0 -76
  147. package/docs/ecosystem-distribution-kit.md +0 -79
  148. package/docs/enterprise-outreach-playbook.md +0 -83
  149. package/docs/paid-pilot-offer.md +0 -74
  150. package/docs/project-case-study.md +0 -140
  151. package/docs/public-post-drafts.md +0 -98
  152. package/docs/publish-readiness.md +0 -79
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAEA,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,aAAa,CAAC,GAA4B,EAAE,KAAa,EAAE,KAAa;IAC/E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,+BAA+B,KAAK,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,GAA4B,EAAE,KAAa,EAAE,KAAa;IAC9E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,+BAA+B,KAAK,wBAAwB,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,GAA4B,EAAE,KAAa,EAAE,KAAa;IAChF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,KAAK,2BAA2B,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,GAA4B,EAAE,KAAa,EAAE,KAAa;IAC/E,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,+BAA+B,KAAK,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,KAAa;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACzF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,wBAAwB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,KAAa;IACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACnJ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,0BAA0B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QAC5F,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,KAAa;IAClD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,sBAAsB,CAAC,CAAC;IACtE,CAAC;IACD,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAuB,KAAK,GAAG,CAAC,CAAC;IAC7D,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,uBAAuB,KAAK,cAAc,CAAC,CAAC;IAChF,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,uBAAuB,KAAK,GAAG,CAAC,CAAC;IAChE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,uBAAuB,KAAK,GAAG,CAAC,CAAC;IACpE,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,uBAAuB,KAAK,GAAG,CAAC,CAAC;IACjE,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,uBAAuB,KAAK,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,MAAM,KAAK,GACT,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC;QAC/C,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC;QAC3C,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6CAA6C,IAAI,IAAI,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc,EAAE,KAAa,EAAE,MAAM,GAAG,KAAK;IACzE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,wCAAwC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,GAAG,oBAAoB,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,KAAa;IACxD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,+BAA+B,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAa;IAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAEhE,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QACxD,OAAO;YACL,QAAQ;YACR,OAAO,EAAE,MAAM;YACf,GAAG;YACH,SAAS,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3H,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,uBAAuB,EAAE,IAAI,CAAC;YAC7E,SAAS,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YAChF,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,wBAAwB,CAAC;YAC1E,oBAAoB,EAAE,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,oCAAoC,CAAC;YAC7G,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAC3D,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,wCAAwC,CAAC,CAAC;IAC7G,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ;QACR,OAAO;QACP,OAAO;QACP,IAAI;QACJ,GAAG,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9D,GAAG,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC;QACjE,SAAS,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAChF,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,wBAAwB,CAAC;QAC1E,oBAAoB,EAAE,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,oCAAoC,CAAC;QAC7G,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAa;IAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,iDAAiD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;IACrG,CAAC;IACD,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC7C,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACjD,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IACrD,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAE5D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;IACjE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,0BAA0B,CAAC,CAAC;IAC3E,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,0BAA0B,CAAC,CAAC;IAC9E,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACpC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,+EAA+E;IAC/E,2EAA2E;IAC3E,OAAO,IAA8B,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAa;IAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;IACtG,CAAC;IACD,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAClD,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAClD,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAClD,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IAEtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,IAA+B,CAAC;AACzC,CAAC"}
@@ -0,0 +1,244 @@
1
+ # Agent And MCP Ecosystem Promotion Plan
2
+
3
+ Use this plan to turn MCP Observatory visibility into agent installs, CI integrations, maintainer conversations, and MCP company relationships.
4
+
5
+ The campaign position:
6
+
7
+ > Agents should not depend on tools nobody tests.
8
+
9
+ The conversion goal is not raw stars. The goal is more `setup-ci`, SARIF/code-scanning, external CI, and agent-accessible `serve` sessions.
10
+
11
+ ## Immediate Moves
12
+
13
+ 1. Leave third-party badge PRs open unless the provider has clear public scan evidence and acceptable badge wording.
14
+ 2. Claim or refresh directory listings with neutral listing copy, not unreviewed audit claims.
15
+ 3. Publish one short agent-first post or thread per week.
16
+ 4. Open five small Observatory CI PRs per week against public MCP server repos.
17
+ 5. Track whether each surface converts into `test`, `scan`, `setup-ci`, `serve`, or external CI sessions.
18
+
19
+ ## MseeP Listing
20
+
21
+ Claim the listing, but do not merge the current badge PR unless the listing exposes reviewed scan evidence and the badge wording is acceptable.
22
+
23
+ Listing URL:
24
+
25
+ `https://mseep.ai/app/kryptosai-mcp-observatory`
26
+
27
+ Claim flow:
28
+
29
+ 1. Open the listing.
30
+ 2. Click `Claim Ownership`.
31
+ 3. Sign in with the GitHub account or organization that controls `KryptosAI/mcp-observatory`.
32
+ 4. Confirm the repo URL is `https://github.com/KryptosAI/mcp-observatory`.
33
+ 5. Update the listing copy using the text below.
34
+ 6. If MseeP shows security/audit metadata, verify the evidence before linking it from project-owned materials.
35
+
36
+ Preferred listing copy:
37
+
38
+ ```text
39
+ MCP Observatory is the GitHub-native CI and security gate for MCP servers before agents depend on them.
40
+ ```
41
+
42
+ Short description:
43
+
44
+ ```text
45
+ CI, SARIF, GitHub Code Scanning, schema drift detection, lock files, reports, and agent-accessible diagnostics for MCP servers.
46
+ ```
47
+
48
+ Primary command:
49
+
50
+ ```bash
51
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>" --sarif
52
+ ```
53
+
54
+ Agent install command:
55
+
56
+ ```bash
57
+ claude mcp add mcp-observatory -- npx -y @kryptosai/mcp-observatory serve
58
+ ```
59
+
60
+ Badge policy:
61
+
62
+ - Directory listing: yes.
63
+ - Plain text link: acceptable if the listing is accurate.
64
+ - Badge saying `Audited`, `Certified`, `Verified`, or similar: only after public evidence is reviewed.
65
+ - README placement: keep below first-party CI/npm/license/action signals unless the provider becomes a meaningful trust surface.
66
+
67
+ ## Directory Targets
68
+
69
+ Refresh these surfaces first because they are already relevant to MCP users:
70
+
71
+ | Surface | Desired State | CTA |
72
+ | --- | --- | --- |
73
+ | PulseMCP | Claimed/current listing with `server.json` visible | `setup-ci --all` |
74
+ | Smithery | Current install snippet and MCP server mode | `serve` |
75
+ | Glama | Current scorecard and README links | `test` and `serve` |
76
+ | MseeP | Claimed listing with neutral copy | `setup-ci --sarif` |
77
+ | mcpservers.org | Listing present or submitted | `setup-ci --all` |
78
+ | awesome-mcp-servers | Developer tools/security category mention | `setup-ci --all` |
79
+ | agent framework docs/community lists | Agent workflow examples | `serve` |
80
+ | GitHub Action Marketplace | Action example and security framing | `action@v0.27.0` |
81
+
82
+ Submission snippet:
83
+
84
+ ```text
85
+ MCP Observatory adds CI, compatibility, schema drift, SARIF/GitHub Code Scanning, and lightweight security checks for MCP servers before agents depend on them.
86
+ ```
87
+
88
+ ## Agent-First Prompts
89
+
90
+ Use these in docs, posts, issues, and agent community replies.
91
+
92
+ Add CI:
93
+
94
+ ```text
95
+ Add MCP Observatory CI to this MCP server. Use a read-only or harmless startup command, enable deep and security checks when safe, and avoid secrets in the workflow.
96
+ ```
97
+
98
+ Audit local config:
99
+
100
+ ```text
101
+ Run MCP Observatory against my MCP config, summarize startup failures, risky tools, schema issues, and which servers should get CI coverage first.
102
+ ```
103
+
104
+ Prepare a safe target:
105
+
106
+ ```text
107
+ Create a CI-safe MCP Observatory target config for this MCP server. Prefer harmless fixtures, no tokens, and no write-capable operations.
108
+ ```
109
+
110
+ Check drift:
111
+
112
+ ```text
113
+ Add an MCP lock file for this server and verify in CI that the tool, prompt, and resource surface does not drift unexpectedly.
114
+ ```
115
+
116
+ ## MCP Company Targets
117
+
118
+ Start with companies and projects whose users already care about agent reliability:
119
+
120
+ | Target Type | Examples | Ask |
121
+ | --- | --- | --- |
122
+ | MCP directories | PulseMCP, Smithery, Glama, MseeP | Keep listing current; add CI/security category placement |
123
+ | Agent browsers/scrapers | Browserbase, Firecrawl, Exa, BrowserStack | Publish a safe Observatory target or sample workflow |
124
+ | Agent runtimes | Cline, Continue, Goose, Cursor/Windsurf ecosystem | Add Observatory to recommended MCP preflight docs |
125
+ | Dev platform MCPs | Sentry, Notion, Stripe, Cloudflare, GitHub ecosystem | Add optional read-only CI checks or issue-first safe target guidance |
126
+ | Gateways/proxies | MCP gateway and registry projects | Support Observatory reports as compatibility evidence |
127
+
128
+ First outreach message:
129
+
130
+ ```md
131
+ Hi, I maintain MCP Observatory, an open source CI/security gate for MCP servers before agents depend on them.
132
+
133
+ I noticed your team is in the MCP ecosystem. Would a small, read-only Observatory target or GitHub Action example be useful for your server/docs?
134
+
135
+ The goal is simple: give agent users a reproducible startup/schema/security check they can run before installing or upgrading an MCP dependency.
136
+
137
+ Command shape:
138
+
139
+ ```bash
140
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>" --sarif
141
+ ```
142
+
143
+ Happy to open a tiny docs PR or start with an issue asking for the safest CI command.
144
+ ```
145
+
146
+ ## Certification PR Shape
147
+
148
+ Prefer a small, reversible PR:
149
+
150
+ - Adds one workflow or docs snippet.
151
+ - Uses a harmless command or fixture.
152
+ - Does not require secrets.
153
+ - Does not add a third-party badge by default.
154
+ - Sets write permissions only when the maintainer explicitly wants PR comments/statuses.
155
+ - Links to the generated run artifact or safety-index report when available.
156
+
157
+ PR title:
158
+
159
+ ```text
160
+ Add optional MCP Observatory CI check
161
+ ```
162
+
163
+ PR body:
164
+
165
+ ```md
166
+ This adds an optional MCP Observatory workflow so maintainers can verify MCP startup, tool discovery, schema quality, and basic security findings in CI before agents depend on the server.
167
+
168
+ It is intentionally read-only and does not require secrets. If this is useful, maintainers can later opt into PR comments, commit statuses, SARIF upload, or a README badge.
169
+ ```
170
+
171
+ ## Weekly Operating Loop
172
+
173
+ Run this once per week:
174
+
175
+ 1. Refresh metrics:
176
+
177
+ ```bash
178
+ npm run metrics:refresh
179
+ ```
180
+
181
+ 2. Record:
182
+
183
+ - GitHub views/clones
184
+ - npm downloads
185
+ - `serve` sessions
186
+ - `setup-ci` sessions
187
+ - external CI sessions
188
+ - directory referrals when visible
189
+ - accepted/closed certification PRs
190
+
191
+ 3. Ship:
192
+
193
+ - 3 refreshed listings
194
+ - 5 certification PRs or maintainer issues
195
+ - 1 short public post
196
+ - 3 company/community replies
197
+
198
+ 4. Review conversion after 48 hours.
199
+
200
+ Prioritize the channels that create `setup-ci`, SARIF, or external CI events. Deprioritize channels that only create stars or low-intent clones.
201
+
202
+ ## Public Posts
203
+
204
+ Short post:
205
+
206
+ ```text
207
+ MCP servers are becoming agent dependencies.
208
+
209
+ Before an agent depends on one, ask:
210
+
211
+ - does it start in CI?
212
+ - did tools or schemas drift?
213
+ - are write/destructive tools obvious?
214
+ - can findings land in GitHub Code Scanning?
215
+
216
+ That is what MCP Observatory is for:
217
+
218
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>" --sarif
219
+ ```
220
+
221
+ Agent post:
222
+
223
+ ```text
224
+ If your coding agent can install MCP servers, it should also be able to test them.
225
+
226
+ MCP Observatory runs as an MCP server, so agents can scan, test, record, replay, diff, and verify other MCP servers before relying on them.
227
+
228
+ claude mcp add mcp-observatory -- npx -y @kryptosai/mcp-observatory serve
229
+ ```
230
+
231
+ Company-facing post:
232
+
233
+ ```text
234
+ For teams adding MCP to production agent workflows: treat MCP servers like AI supply-chain dependencies.
235
+
236
+ MCP Observatory gives you CI checks, SARIF/GitHub Code Scanning, schema drift, lock files, reports, and agent-accessible diagnostics before tools reach production workflows.
237
+ ```
238
+
239
+ ## Tracking Hygiene
240
+
241
+ - Use one campaign link or one command per outreach surface.
242
+ - Do not publish private telemetry, emails, hostnames, target commands, private repo names, or customer claims.
243
+ - Treat anonymous stars, forks, and clone spikes as interest, not adoption.
244
+ - Treat external CI, `setup-ci`, SARIF, and maintainer replies as adoption.
@@ -0,0 +1,98 @@
1
+ # Agent Runtime Quickstart
2
+
3
+ This is for maintainers of autonomous agents, OpenClaw-style productivity systems, coding agents, MCP gateways, and bot runtimes.
4
+
5
+ MCP Observatory gives your agent a read-only preflight for MCP tools before it depends on them.
6
+
7
+ ## Why Agents Need This
8
+
9
+ Autonomous agents fail badly when their tools silently drift. A tool can still install while its schema changes, startup breaks, auth assumptions change, or a dangerous parameter becomes easy for an agent to call.
10
+
11
+ Observatory checks the tool surface before the agent trusts it.
12
+
13
+ ## Fast Local Check
14
+
15
+ ```bash
16
+ npx @kryptosai/mcp-observatory test npx -y your-mcp-server
17
+ ```
18
+
19
+ For deeper checks:
20
+
21
+ ```bash
22
+ npx @kryptosai/mcp-observatory test npx -y your-mcp-server --deep --security
23
+ ```
24
+
25
+ ## OpenClaw Agent Template
26
+
27
+ If you maintain an OpenClaw-style productivity system, copy the ready-to-use MCP reliability preflight agent:
28
+
29
+ ```text
30
+ docs/openclaw-agent-template/SOUL.md
31
+ ```
32
+
33
+ Use it as a recurring release, dependency-update, or tool-adoption check before your agent trusts an MCP server.
34
+
35
+ ## Add Read-Only CI
36
+
37
+ ```bash
38
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y your-mcp-server"
39
+ ```
40
+
41
+ This creates a small adoption kit:
42
+
43
+ - `.github/workflows/mcp-observatory.yml`
44
+ - `mcp-observatory.target.json`
45
+ - report and badge snippets
46
+ - a maintainer PR body
47
+ - a setup doctor path
48
+
49
+ Run:
50
+
51
+ ```bash
52
+ npx @kryptosai/mcp-observatory setup-ci --doctor
53
+ ```
54
+
55
+ ## What To Contribute Back
56
+
57
+ The highest-value contribution is a safe, real target that teaches agents what healthy MCP behavior looks like.
58
+
59
+ Open an issue with:
60
+
61
+ ```text
62
+ Project:
63
+ Safe startup command:
64
+ Needs secrets? yes/no
65
+ Agent tools/skills that depend on MCP:
66
+ Expected healthy behavior:
67
+ What should an autonomous agent know before trusting this tool?
68
+ ```
69
+
70
+ Good targets:
71
+
72
+ - start in CI without private credentials
73
+ - avoid destructive default actions
74
+ - expose tools/prompts/resources that agents actually call
75
+ - produce useful report evidence
76
+
77
+ Avoid targets that require private OAuth, paid services, or live destructive side effects.
78
+
79
+ ## Agent-Readable Signals To Ask For
80
+
81
+ If you are integrating Observatory into an agent runtime, these are the most useful signals:
82
+
83
+ - did the MCP server start?
84
+ - which tools/prompts/resources are available?
85
+ - did any schemas change since the last known-good run?
86
+ - are there risky parameter shapes?
87
+ - did a safe tool invocation pass?
88
+ - should the agent block, warn, or continue?
89
+
90
+ ## Maintainer-Friendly Positioning
91
+
92
+ Use this wording when proposing the check to another project:
93
+
94
+ ```md
95
+ This adds a read-only MCP Observatory check for MCP compatibility, schema drift, and common schema/security footguns.
96
+
97
+ It does not require an account, hosted service, or secrets. The check can stay advisory while the signal is tuned.
98
+ ```
@@ -0,0 +1,95 @@
1
+ # Agent Task Pack
2
+
3
+ This page is written for coding agents, bot maintainers, autonomous productivity systems, and maintainers who want small useful MCP Observatory contributions.
4
+
5
+ Useful merged work can receive public credit through [MCP Observatory Contributors](./contributor-recognition.md), [CONTRIBUTORS.md](../CONTRIBUTORS.md), and target proof cards. Recognition is based on merged public evidence, not private telemetry.
6
+
7
+ Rough agentic contribution ideas are welcome too. Use the [Agentic Contributor Outreach](./agentic-contributor-outreach.md) playbook or open an `Agentic contribution idea` issue when a task is promising but not ready for a focused PR.
8
+
9
+ The core standard is a [tool-call receipt](./tool-call-receipts.md): public source, safe startup command, run artifact, attack-sim evidence, SARIF when useful, and a clear capability envelope showing what the run could not access. The public map is the [MCP Receipt Graph](./receipt-graph.md).
10
+
11
+ ## Task 1: Add MCP Observatory CI To A Repo
12
+
13
+ ```text
14
+ Add MCP Observatory CI for this MCP server.
15
+
16
+ Use the safest no-secret startup command available in the repo. Generate the full adoption kit with SARIF enabled, verify it with setup-ci --doctor, and open a focused PR that explains the check is read-only.
17
+
18
+ Commands:
19
+ npx @kryptosai/mcp-observatory test <safe startup command> --campaign agent-ci
20
+ npx @kryptosai/mcp-observatory setup-ci --all --command "<safe startup command>" --sarif --campaign agent-ci
21
+ npx @kryptosai/mcp-observatory setup-ci --doctor
22
+ ```
23
+
24
+ ## Task 2: Add One Safety Index Target
25
+
26
+ ```text
27
+ Add one public MCP server target to MCP Observatory's Safety Index.
28
+
29
+ Requirements:
30
+ - public repo or public package
31
+ - no secrets
32
+ - no paid service dependency
33
+ - safe startup command
34
+ - generated JSON and Markdown evidence
35
+ - attack-sim evidence or a note explaining why attack-sim is not applicable
36
+ - maintainer-friendly wording
37
+
38
+ Use docs/target-contribution-guide.md and docs/target-registry.md.
39
+ ```
40
+
41
+ ## Task 3: Generate SARIF For A Maintainer
42
+
43
+ ```text
44
+ Run MCP Observatory against this MCP server and produce a SARIF artifact suitable for GitHub Code Scanning.
45
+
46
+ Command:
47
+ npx @kryptosai/mcp-observatory test <safe startup command> --sarif mcp-observatory.sarif --campaign agent-sarif
48
+
49
+ Summarize only the normalized findings and avoid publishing private telemetry, hostnames, tokens, or local paths beyond generated artifact paths.
50
+ ```
51
+
52
+ ## Task 4: Open A Useful Maintainer PR
53
+
54
+ ```text
55
+ Open a small PR that adds read-only MCP Observatory checks.
56
+
57
+ Do:
58
+ - keep the PR focused on CI and evidence
59
+ - pin the action ref
60
+ - include setup-ci --doctor output
61
+ - say findings are review prompts, not public shaming
62
+
63
+ Do not:
64
+ - require private credentials
65
+ - add destructive tool calls
66
+ - include private telemetry
67
+ - change unrelated project code
68
+ ```
69
+
70
+ ## Task 5: Evaluate A Bot Runtime
71
+
72
+ ```text
73
+ Find the MCP servers this agent or bot runtime depends on. For each server, identify a no-secret startup command, run MCP Observatory, and report whether the server is ready for CI, needs review before production, or is not reproducible.
74
+
75
+ Use:
76
+ npx @kryptosai/mcp-observatory test <safe startup command> --campaign bot-runtime-review
77
+ ```
78
+
79
+ ## Task 6: Prepare A Contributor Proof Card
80
+
81
+ ```text
82
+ After a target, CI integration, or SARIF improvement is merged, prepare a public proof card.
83
+
84
+ Use docs/contributor-proof-cards/README.md.
85
+
86
+ Include:
87
+ - contributor GitHub profile
88
+ - role
89
+ - merged PR
90
+ - generated artifact or upstream workflow
91
+ - verdict
92
+ - Observatory version
93
+
94
+ Do not include private telemetry, local paths, secrets, or unpublished maintainer data.
95
+ ```
@@ -0,0 +1,33 @@
1
+ # Automatic CI Integration
2
+
3
+ MCP Observatory includes an install-time CI helper for MCP server projects.
4
+
5
+ By default, the helper is safe and non-mutating: when it detects a likely MCP project, it prints the exact `setup-ci` command to add GitHub Actions. It does not create files unless the project explicitly opts in.
6
+
7
+ To let installs create the workflow automatically, add this to the MCP server project's `package.json`:
8
+
9
+ ```json
10
+ {
11
+ "mcpObservatory": {
12
+ "autoSetupCi": true,
13
+ "command": "npm run mcp",
14
+ "sarif": true
15
+ }
16
+ }
17
+ ```
18
+
19
+ Then installing MCP Observatory creates `.github/workflows/mcp-observatory.yml` if it does not already exist:
20
+
21
+ ```bash
22
+ npm install -D @kryptosai/mcp-observatory
23
+ npx @kryptosai/mcp-observatory setup-ci --doctor
24
+ ```
25
+
26
+ Environment controls:
27
+
28
+ - `MCP_OBSERVATORY_AUTO_SETUP_CI=1` creates CI during install for detected MCP projects.
29
+ - `MCP_OBSERVATORY_TARGET_COMMAND="npm run mcp"` provides the startup command.
30
+ - `MCP_OBSERVATORY_AUTO_SETUP_SARIF=1` enables SARIF upload in the generated workflow.
31
+ - `MCP_OBSERVATORY_POSTINSTALL=0` or `MCP_OBSERVATORY_DISABLE_POSTINSTALL=1` disables the helper.
32
+
33
+ The helper skips CI environments and skips MCP Observatory's own repository. Existing workflows are never overwritten.
@@ -0,0 +1,58 @@
1
+ # Campaign Attribution
2
+
3
+ Campaign attribution helps the maintainer understand which launch, maintainer, bot, or paid-readiness paths lead to real MCP Observatory usage.
4
+
5
+ Telemetry remains opt-out and private to the project owner. Campaign values are safe slugs only and are not written into public reports, SARIF artifacts, or generated adoption kit files.
6
+
7
+ ## CLI Flag
8
+
9
+ ```bash
10
+ npx @kryptosai/mcp-observatory test npx -y my-mcp-server --campaign maintainer-pr
11
+ ```
12
+
13
+ The flag is supported by:
14
+
15
+ - `test`
16
+ - `scan`
17
+ - `scan deep`
18
+ - `run`
19
+ - `setup-ci`
20
+ - `init-ci`
21
+
22
+ For `test`, `--campaign` can appear after the MCP command and is stripped before launching the target server.
23
+
24
+ ## Environment Variable
25
+
26
+ ```bash
27
+ MCP_OBSERVATORY_CAMPAIGN=bot-runtime-review npx @kryptosai/mcp-observatory scan
28
+ ```
29
+
30
+ Use the environment variable when a bot, CI workflow, or documentation snippet cannot safely add another CLI flag.
31
+
32
+ ## Slug Rules
33
+
34
+ Campaign slugs must be 2-64 characters and use only:
35
+
36
+ - letters
37
+ - numbers
38
+ - `.`
39
+ - `_`
40
+ - `-`
41
+
42
+ Examples:
43
+
44
+ - `maintainer-pr`
45
+ - `code-scanning-demo`
46
+ - `agent-ci`
47
+ - `paid-readiness`
48
+
49
+ ## Suggested Campaigns
50
+
51
+ | Campaign | Use |
52
+ | --- | --- |
53
+ | `maintainer-pr` | Read-only CI PRs to existing MCP projects |
54
+ | `code-scanning-demo` | SARIF and GitHub Code Scanning launch snippets |
55
+ | `agent-ci` | Bot or coding-agent generated CI adoption |
56
+ | `safety-index` | Target Gallery and Safety Index contribution flow |
57
+ | `paid-readiness` | MCP Readiness Review CTA |
58
+
@@ -0,0 +1,57 @@
1
+ # GitHub Code Scanning Demo
2
+
3
+ Use this page when a maintainer or agent asks, "What does MCP Observatory actually add to my repo?"
4
+
5
+ ## One-Command Local Demo
6
+
7
+ ```bash
8
+ npx @kryptosai/mcp-observatory test npx -y @modelcontextprotocol/server-everything --sarif mcp-observatory.sarif --campaign code-scanning-demo
9
+ ```
10
+
11
+ Expected result:
12
+
13
+ - normal terminal output still appears
14
+ - `.mcp-observatory/runs/` receives a run artifact
15
+ - `mcp-observatory.sarif` contains normalized MCP findings
16
+ - the command exits the same way it would without `--sarif`
17
+
18
+ ## Turn It Into A GitHub Release Gate
19
+
20
+ ```bash
21
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y @modelcontextprotocol/server-everything" --sarif --campaign code-scanning-demo
22
+ ```
23
+
24
+ Then verify:
25
+
26
+ ```bash
27
+ npx @kryptosai/mcp-observatory setup-ci --doctor
28
+ ```
29
+
30
+ The generated workflow requests `security-events: write` only when `--sarif` is used. Standard `setup-ci` stays conservative and does not upload SARIF by default.
31
+
32
+ ## What Code Scanning Gets
33
+
34
+ MCP Observatory emits one SARIF result per normalized finding. Results include:
35
+
36
+ - stable rule IDs
37
+ - severity mapping
38
+ - target/check properties
39
+ - lightweight control tags
40
+ - partial fingerprints
41
+ - artifact locations that point back to the Observatory run evidence
42
+
43
+ Passing artifacts with no findings still produce valid empty SARIF.
44
+
45
+ ## Maintainer PR Snippet
46
+
47
+ ~~~markdown
48
+ This adds a read-only MCP Observatory CI gate for the server.
49
+
50
+ It checks startup, MCP capability listing, schema quality, and security-oriented findings. The SARIF path is enabled so normalized MCP findings can appear in GitHub Code Scanning.
51
+
52
+ Verification:
53
+
54
+ ```bash
55
+ npx @kryptosai/mcp-observatory setup-ci --doctor
56
+ ```
57
+ ~~~
@@ -0,0 +1,55 @@
1
+ # Code Scanning Launch Outreach
2
+
3
+ Use this when following up with maintainers or posting publicly about the SARIF release.
4
+
5
+ ## Public Post
6
+
7
+ MCP servers are becoming production dependencies for AI agents. They should show up in the same security review surfaces as the rest of the software supply chain.
8
+
9
+ MCP Observatory now turns MCP server checks into GitHub Code Scanning findings.
10
+
11
+ One command:
12
+
13
+ ```bash
14
+ npx @kryptosai/mcp-observatory test npx -y my-mcp-server --sarif mcp-observatory.sarif
15
+ ```
16
+
17
+ CI setup:
18
+
19
+ ```bash
20
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y my-mcp-server" --sarif
21
+ ```
22
+
23
+ It normalizes compatibility, startup, schema-quality, and security evidence into SARIF so maintainers can review MCP risk in GitHub's Security tab.
24
+
25
+ No hosted account required. SARIF upload is opt-in.
26
+
27
+ ## Maintainer Follow-Up
28
+
29
+ ~~~md
30
+ Quick follow-up: MCP Observatory now supports GitHub Code Scanning friendly SARIF for MCP compatibility, schema-quality, startup, and security findings.
31
+
32
+ If you want this as a security-native advisory check, the generated workflow is:
33
+
34
+ ```bash
35
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>" --sarif
36
+ ```
37
+
38
+ It stays opt-in because it requests `security-events: write`; the default CI setup remains read-only.
39
+ ~~~
40
+
41
+ ## Warm Bot/Runtime Follow-Up
42
+
43
+ ~~~md
44
+ For agent runtimes, the useful path is a safe preflight target plus SARIF evidence:
45
+
46
+ ```bash
47
+ npx @kryptosai/mcp-observatory test npx -y <mcp-server> --sarif mcp-observatory.sarif
48
+ ```
49
+
50
+ That lets a bot/runtime review MCP tool risk as structured findings instead of terminal-only output.
51
+ ~~~
52
+
53
+ ## Directory Submission Copy
54
+
55
+ MCP Observatory is a GitHub-native CI and security gate for MCP servers before agents depend on them. It emits SARIF and can upload MCP compatibility, startup, schema-quality, and security findings to GitHub Code Scanning.