@kryptosai/mcp-observatory 1.32.0 → 1.33.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 (408) hide show
  1. package/README.md +9 -13
  2. package/README.zh-CN.md +4 -10
  3. package/dist/src/adapters/base.d.ts +14 -0
  4. package/dist/src/adapters/base.js +2 -0
  5. package/dist/src/adapters/base.js.map +1 -0
  6. package/dist/src/checks/semantics.d.ts +2 -0
  7. package/dist/src/checks/semantics.js +48 -0
  8. package/dist/src/checks/semantics.js.map +1 -0
  9. package/dist/src/cli.js +8 -2
  10. package/dist/src/cli.js.map +1 -1
  11. package/dist/src/commands/audit.js +7 -1
  12. package/dist/src/commands/audit.js.map +1 -1
  13. package/dist/src/commands/enforce.d.ts +2 -2
  14. package/dist/src/commands/enforce.js +19 -11
  15. package/dist/src/commands/enforce.js.map +1 -1
  16. package/dist/src/commands/helpers.d.ts +2 -0
  17. package/dist/src/commands/helpers.js +8 -1
  18. package/dist/src/commands/helpers.js.map +1 -1
  19. package/dist/src/commands/scan.d.ts +14 -0
  20. package/dist/src/commands/scan.js +42 -3
  21. package/dist/src/commands/scan.js.map +1 -1
  22. package/dist/src/commands/score.js +22 -1
  23. package/dist/src/commands/score.js.map +1 -1
  24. package/dist/src/commands/skill-scan.js +5 -3
  25. package/dist/src/commands/skill-scan.js.map +1 -1
  26. package/dist/src/commands/test.d.ts +19 -0
  27. package/dist/src/commands/test.js +70 -4
  28. package/dist/src/commands/test.js.map +1 -1
  29. package/dist/src/commercial.js +2 -2
  30. package/dist/src/commercial.js.map +1 -1
  31. package/dist/src/diff/diff.d.ts +2 -0
  32. package/dist/src/diff/diff.js +81 -0
  33. package/dist/src/diff/diff.js.map +1 -0
  34. package/dist/src/reporters/json.d.ts +2 -0
  35. package/dist/src/reporters/json.js +4 -0
  36. package/dist/src/reporters/json.js.map +1 -0
  37. package/dist/src/runner/runner.d.ts +2 -0
  38. package/dist/src/runner/runner.js +135 -0
  39. package/dist/src/runner/runner.js.map +1 -0
  40. package/dist/src/storage/filesystem.d.ts +6 -0
  41. package/dist/src/storage/filesystem.js +21 -0
  42. package/dist/src/storage/filesystem.js.map +1 -0
  43. package/dist/src/telemetry.d.ts +25 -3
  44. package/dist/src/telemetry.js +84 -18
  45. package/dist/src/telemetry.js.map +1 -1
  46. package/dist/src/validate.js +5 -6
  47. package/dist/src/validate.js.map +1 -1
  48. package/docs/mcp-server-safety-index.md +317 -8
  49. package/docs/safety-index/artifacts/1link-mcp.json +66 -0
  50. package/docs/safety-index/artifacts/1link-mcp.md +106 -0
  51. package/docs/safety-index/artifacts/aadhaar-mcp.json +66 -0
  52. package/docs/safety-index/artifacts/aadhaar-mcp.md +106 -0
  53. package/docs/safety-index/artifacts/aikidosec-mcp-server.json +536 -0
  54. package/docs/safety-index/artifacts/aikidosec-mcp-server.md +203 -0
  55. package/docs/safety-index/artifacts/aiou-mcp.json +66 -0
  56. package/docs/safety-index/artifacts/aiou-mcp.md +106 -0
  57. package/docs/safety-index/artifacts/airtable-mcp-server.json +66 -0
  58. package/docs/safety-index/artifacts/airtable-mcp-server.md +106 -0
  59. package/docs/safety-index/artifacts/alpaca-server.json +66 -0
  60. package/docs/safety-index/artifacts/alpaca-server.md +106 -0
  61. package/docs/safety-index/artifacts/antv-chart-server.json +1454 -21
  62. package/docs/safety-index/artifacts/antv-chart-server.md +155 -9
  63. package/docs/safety-index/artifacts/apify-mcp-server.json +66 -0
  64. package/docs/safety-index/artifacts/apify-mcp-server.md +103 -0
  65. package/docs/safety-index/artifacts/apple-music-server.json +66 -0
  66. package/docs/safety-index/artifacts/apple-music-server.md +102 -0
  67. package/docs/safety-index/artifacts/appwrite-mcp.json +66 -0
  68. package/docs/safety-index/artifacts/appwrite-mcp.md +106 -0
  69. package/docs/safety-index/artifacts/aqi-india-mcp.json +66 -0
  70. package/docs/safety-index/artifacts/aqi-india-mcp.md +106 -0
  71. package/docs/safety-index/artifacts/argocd-mcp-server.json +66 -0
  72. package/docs/safety-index/artifacts/argocd-mcp-server.md +106 -0
  73. package/docs/safety-index/artifacts/arxiv-mcp-server.json +66 -0
  74. package/docs/safety-index/artifacts/arxiv-mcp-server.md +100 -0
  75. package/docs/safety-index/artifacts/aws-mcp-server.json +66 -0
  76. package/docs/safety-index/artifacts/aws-mcp-server.md +103 -0
  77. package/docs/safety-index/artifacts/azure-devops-mcp-server.json +66 -0
  78. package/docs/safety-index/artifacts/azure-devops-mcp-server.md +106 -0
  79. package/docs/safety-index/artifacts/azure-mcp-server.json +66 -0
  80. package/docs/safety-index/artifacts/azure-mcp-server.md +102 -0
  81. package/docs/safety-index/artifacts/bhuvan-mcp.json +66 -0
  82. package/docs/safety-index/artifacts/bhuvan-mcp.md +106 -0
  83. package/docs/safety-index/artifacts/brave-search-mcp-server-v2.json +66 -0
  84. package/docs/safety-index/artifacts/brave-search-mcp-server-v2.md +103 -0
  85. package/docs/safety-index/artifacts/brave-search-server.json +341 -0
  86. package/docs/safety-index/artifacts/brave-search-server.md +201 -0
  87. package/docs/safety-index/artifacts/browsermcp-server.json +83 -18
  88. package/docs/safety-index/artifacts/browsermcp-server.md +46 -12
  89. package/docs/safety-index/artifacts/cal-com-mcp.json +66 -0
  90. package/docs/safety-index/artifacts/cal-com-mcp.md +106 -0
  91. package/docs/safety-index/artifacts/canvas-server.json +66 -0
  92. package/docs/safety-index/artifacts/canvas-server.md +105 -0
  93. package/docs/safety-index/artifacts/caselaw-server.json +66 -0
  94. package/docs/safety-index/artifacts/caselaw-server.md +106 -0
  95. package/docs/safety-index/artifacts/chatwoot-mcp.json +66 -0
  96. package/docs/safety-index/artifacts/chatwoot-mcp.md +102 -0
  97. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.json +596 -25
  98. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.md +97 -15
  99. package/docs/safety-index/artifacts/circleci-server.json +1606 -0
  100. package/docs/safety-index/artifacts/circleci-server.md +243 -0
  101. package/docs/safety-index/artifacts/clarity-server.json +794 -0
  102. package/docs/safety-index/artifacts/clarity-server.md +201 -0
  103. package/docs/safety-index/artifacts/clay-server.json +66 -0
  104. package/docs/safety-index/artifacts/clay-server.md +106 -0
  105. package/docs/safety-index/artifacts/clickup-mcp-server.json +66 -0
  106. package/docs/safety-index/artifacts/clickup-mcp-server.md +106 -0
  107. package/docs/safety-index/artifacts/cloudflare-mcp-server-v2.json +66 -0
  108. package/docs/safety-index/artifacts/cloudflare-mcp-server-v2.md +102 -0
  109. package/docs/safety-index/artifacts/cloudflare-server.json +66 -0
  110. package/docs/safety-index/artifacts/cloudflare-server.md +106 -0
  111. package/docs/safety-index/artifacts/coinbase-cds-server.json +322 -0
  112. package/docs/safety-index/artifacts/coinbase-cds-server.md +201 -0
  113. package/docs/safety-index/artifacts/confluence-mcp-server.json +1727 -0
  114. package/docs/safety-index/artifacts/confluence-mcp-server.md +255 -0
  115. package/docs/safety-index/artifacts/context7-server.json +85 -18
  116. package/docs/safety-index/artifacts/context7-server.md +52 -11
  117. package/docs/safety-index/artifacts/contract-analysis-server.json +66 -0
  118. package/docs/safety-index/artifacts/contract-analysis-server.md +106 -0
  119. package/docs/safety-index/artifacts/cowin-mcp.json +66 -0
  120. package/docs/safety-index/artifacts/cowin-mcp.md +106 -0
  121. package/docs/safety-index/artifacts/currents-mcp-server.json +66 -0
  122. package/docs/safety-index/artifacts/currents-mcp-server.md +102 -0
  123. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +1565 -34
  124. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +178 -17
  125. package/docs/safety-index/artifacts/dalle-server.json +66 -0
  126. package/docs/safety-index/artifacts/dalle-server.md +104 -0
  127. package/docs/safety-index/artifacts/daraz-mcp.json +66 -0
  128. package/docs/safety-index/artifacts/daraz-mcp.md +106 -0
  129. package/docs/safety-index/artifacts/desktop-commander-mcp-server.json +2348 -0
  130. package/docs/safety-index/artifacts/desktop-commander-mcp-server.md +266 -0
  131. package/docs/safety-index/artifacts/digilocker-mcp.json +66 -0
  132. package/docs/safety-index/artifacts/digilocker-mcp.md +106 -0
  133. package/docs/safety-index/artifacts/discord-mcp-server.json +1297 -0
  134. package/docs/safety-index/artifacts/discord-mcp-server.md +169 -0
  135. package/docs/safety-index/artifacts/discord-mcp.json +1023 -0
  136. package/docs/safety-index/artifacts/discord-mcp.md +229 -0
  137. package/docs/safety-index/artifacts/docker-server.json +395 -0
  138. package/docs/safety-index/artifacts/docker-server.md +204 -0
  139. package/docs/safety-index/artifacts/dynamodb-mcp-server.json +66 -0
  140. package/docs/safety-index/artifacts/dynamodb-mcp-server.md +103 -0
  141. package/docs/safety-index/artifacts/dynatrace-mcp-server.json +66 -0
  142. package/docs/safety-index/artifacts/dynatrace-mcp-server.md +103 -0
  143. package/docs/safety-index/artifacts/easypaisa-mcp.json +553 -0
  144. package/docs/safety-index/artifacts/easypaisa-mcp.md +205 -0
  145. package/docs/safety-index/artifacts/ehsaas-mcp.json +66 -0
  146. package/docs/safety-index/artifacts/ehsaas-mcp.md +106 -0
  147. package/docs/safety-index/artifacts/epic-server.json +66 -0
  148. package/docs/safety-index/artifacts/epic-server.md +106 -0
  149. package/docs/safety-index/artifacts/eslint-mcp-server.json +320 -0
  150. package/docs/safety-index/artifacts/eslint-mcp-server.md +201 -0
  151. package/docs/safety-index/artifacts/espn-server.json +394 -0
  152. package/docs/safety-index/artifacts/espn-server.md +187 -0
  153. package/docs/safety-index/artifacts/everything-server.json +145 -18
  154. package/docs/safety-index/artifacts/everything-server.md +56 -11
  155. package/docs/safety-index/artifacts/exa-server.json +400 -0
  156. package/docs/safety-index/artifacts/exa-server.md +207 -0
  157. package/docs/safety-index/artifacts/executeautomation-playwright-server.json +625 -18
  158. package/docs/safety-index/artifacts/executeautomation-playwright-server.md +95 -11
  159. package/docs/safety-index/artifacts/fbr-mcp.json +66 -0
  160. package/docs/safety-index/artifacts/fbr-mcp.md +106 -0
  161. package/docs/safety-index/artifacts/fetch-server.json +66 -0
  162. package/docs/safety-index/artifacts/fetch-server.md +106 -0
  163. package/docs/safety-index/artifacts/fhir-server.json +66 -0
  164. package/docs/safety-index/artifacts/fhir-server.md +100 -0
  165. package/docs/safety-index/artifacts/figma-server.json +1766 -0
  166. package/docs/safety-index/artifacts/figma-server.md +256 -0
  167. package/docs/safety-index/artifacts/filesystem-mcp-server.json +427 -23
  168. package/docs/safety-index/artifacts/filesystem-mcp-server.md +75 -14
  169. package/docs/safety-index/artifacts/filesystem-server.json +426 -22
  170. package/docs/safety-index/artifacts/filesystem-server.md +73 -12
  171. package/docs/safety-index/artifacts/firecrawl-server.json +4056 -0
  172. package/docs/safety-index/artifacts/firecrawl-server.md +243 -0
  173. package/docs/safety-index/artifacts/flight-server.json +66 -0
  174. package/docs/safety-index/artifacts/flight-server.md +106 -0
  175. package/docs/safety-index/artifacts/foodpanda-pakistan-mcp.json +66 -0
  176. package/docs/safety-index/artifacts/foodpanda-pakistan-mcp.md +106 -0
  177. package/docs/safety-index/artifacts/gcp-mcp-server.json +66 -0
  178. package/docs/safety-index/artifacts/gcp-mcp-server.md +103 -0
  179. package/docs/safety-index/artifacts/github-mcp-server.json +374 -21
  180. package/docs/safety-index/artifacts/github-mcp-server.md +71 -15
  181. package/docs/safety-index/artifacts/gitlab-server.json +229 -0
  182. package/docs/safety-index/artifacts/gitlab-server.md +753 -0
  183. package/docs/safety-index/artifacts/gmail-server.json +66 -0
  184. package/docs/safety-index/artifacts/gmail-server.md +106 -0
  185. package/docs/safety-index/artifacts/google-calendar-server.json +66 -0
  186. package/docs/safety-index/artifacts/google-calendar-server.md +106 -0
  187. package/docs/safety-index/artifacts/google-drive-server.json +66 -0
  188. package/docs/safety-index/artifacts/google-drive-server.md +106 -0
  189. package/docs/safety-index/artifacts/google-sheets-server.json +66 -0
  190. package/docs/safety-index/artifacts/google-sheets-server.md +106 -0
  191. package/docs/safety-index/artifacts/google-tasks-server.json +66 -0
  192. package/docs/safety-index/artifacts/google-tasks-server.md +106 -0
  193. package/docs/safety-index/artifacts/gst-mcp.json +66 -0
  194. package/docs/safety-index/artifacts/gst-mcp.md +106 -0
  195. package/docs/safety-index/artifacts/gupshup-mcp.json +66 -0
  196. package/docs/safety-index/artifacts/gupshup-mcp.md +106 -0
  197. package/docs/safety-index/artifacts/hasura-mcp.json +66 -0
  198. package/docs/safety-index/artifacts/hasura-mcp.md +106 -0
  199. package/docs/safety-index/artifacts/healthcare-ayushman-bharat-mcp.json +66 -0
  200. package/docs/safety-index/artifacts/healthcare-ayushman-bharat-mcp.md +106 -0
  201. package/docs/safety-index/artifacts/hec-pakistan-mcp.json +66 -0
  202. package/docs/safety-index/artifacts/hec-pakistan-mcp.md +106 -0
  203. package/docs/safety-index/artifacts/heroku-server.json +1502 -0
  204. package/docs/safety-index/artifacts/heroku-server.md +236 -0
  205. package/docs/safety-index/artifacts/homekit-server.json +66 -0
  206. package/docs/safety-index/artifacts/homekit-server.md +106 -0
  207. package/docs/safety-index/artifacts/hotel-booking-server.json +66 -0
  208. package/docs/safety-index/artifacts/hotel-booking-server.md +106 -0
  209. package/docs/safety-index/artifacts/hubspot-mcp-server.json +66 -0
  210. package/docs/safety-index/artifacts/hubspot-mcp-server.md +106 -0
  211. package/docs/safety-index/artifacts/huggingface-server.json +66 -0
  212. package/docs/safety-index/artifacts/huggingface-server.md +106 -0
  213. package/docs/safety-index/artifacts/indian-food-nutrition-mcp.json +663 -0
  214. package/docs/safety-index/artifacts/indian-food-nutrition-mcp.md +211 -0
  215. package/docs/safety-index/artifacts/irctc-mcp.json +66 -0
  216. package/docs/safety-index/artifacts/irctc-mcp.md +106 -0
  217. package/docs/safety-index/artifacts/jazz-mcp.json +66 -0
  218. package/docs/safety-index/artifacts/jazz-mcp.md +106 -0
  219. package/docs/safety-index/artifacts/jazzcash-mcp.json +66 -0
  220. package/docs/safety-index/artifacts/jazzcash-mcp.md +102 -0
  221. package/docs/safety-index/artifacts/jina-server.json +66 -0
  222. package/docs/safety-index/artifacts/jina-server.md +106 -0
  223. package/docs/safety-index/artifacts/jira-mcp-server.json +66 -0
  224. package/docs/safety-index/artifacts/jira-mcp-server.md +104 -0
  225. package/docs/safety-index/artifacts/k2-mcp.json +66 -0
  226. package/docs/safety-index/artifacts/k2-mcp.md +106 -0
  227. package/docs/safety-index/artifacts/karachi-stock-exchange-mcp.json +67 -0
  228. package/docs/safety-index/artifacts/karachi-stock-exchange-mcp.md +114 -0
  229. package/docs/safety-index/artifacts/khan-academy-server.json +66 -0
  230. package/docs/safety-index/artifacts/khan-academy-server.md +106 -0
  231. package/docs/safety-index/artifacts/kubernetes-server.json +1126 -29
  232. package/docs/safety-index/artifacts/kubernetes-server.md +141 -18
  233. package/docs/safety-index/artifacts/langfuse-mcp.json +66 -0
  234. package/docs/safety-index/artifacts/langfuse-mcp.md +106 -0
  235. package/docs/safety-index/artifacts/linear-server.json +1494 -0
  236. package/docs/safety-index/artifacts/linear-server.md +237 -0
  237. package/docs/safety-index/artifacts/mapmyindia-mcp.json +66 -0
  238. package/docs/safety-index/artifacts/mapmyindia-mcp.md +106 -0
  239. package/docs/safety-index/artifacts/memory-server.json +191 -18
  240. package/docs/safety-index/artifacts/memory-server.md +52 -10
  241. package/docs/safety-index/artifacts/minecraft-server.json +592 -0
  242. package/docs/safety-index/artifacts/minecraft-server.md +186 -0
  243. package/docs/safety-index/artifacts/mls-server.json +66 -0
  244. package/docs/safety-index/artifacts/mls-server.md +106 -0
  245. package/docs/safety-index/artifacts/mongodb-server.json +66 -0
  246. package/docs/safety-index/artifacts/mongodb-server.md +106 -0
  247. package/docs/safety-index/artifacts/mui-mcp-server.json +419 -0
  248. package/docs/safety-index/artifacts/mui-mcp-server.md +208 -0
  249. package/docs/safety-index/artifacts/mysql-mcp-server.json +66 -0
  250. package/docs/safety-index/artifacts/mysql-mcp-server.md +106 -0
  251. package/docs/safety-index/artifacts/nadra-mcp.json +66 -0
  252. package/docs/safety-index/artifacts/nadra-mcp.md +106 -0
  253. package/docs/safety-index/artifacts/neon-server.json +66 -0
  254. package/docs/safety-index/artifacts/neon-server.md +103 -0
  255. package/docs/safety-index/artifacts/notion-server.json +7151 -0
  256. package/docs/safety-index/artifacts/notion-server.md +236 -0
  257. package/docs/safety-index/artifacts/obsidian-mcp.json +66 -0
  258. package/docs/safety-index/artifacts/obsidian-mcp.md +106 -0
  259. package/docs/safety-index/artifacts/ola-maps-mcp.json +66 -0
  260. package/docs/safety-index/artifacts/ola-maps-mcp.md +106 -0
  261. package/docs/safety-index/artifacts/olx-pakistan-mcp.json +66 -0
  262. package/docs/safety-index/artifacts/olx-pakistan-mcp.md +106 -0
  263. package/docs/safety-index/artifacts/onesignal-server.json +66 -0
  264. package/docs/safety-index/artifacts/onesignal-server.md +106 -0
  265. package/docs/safety-index/artifacts/openai-mcp-server.json +66 -0
  266. package/docs/safety-index/artifacts/openai-mcp-server.md +106 -0
  267. package/docs/safety-index/artifacts/opentofu-server.json +30 -18
  268. package/docs/safety-index/artifacts/opentofu-server.md +27 -9
  269. package/docs/safety-index/artifacts/openweather-server.json +66 -0
  270. package/docs/safety-index/artifacts/openweather-server.md +106 -0
  271. package/docs/safety-index/artifacts/pakistan-cricket-mcp.json +66 -0
  272. package/docs/safety-index/artifacts/pakistan-cricket-mcp.md +106 -0
  273. package/docs/safety-index/artifacts/pakistan-post-mcp.json +66 -0
  274. package/docs/safety-index/artifacts/pakistan-post-mcp.md +106 -0
  275. package/docs/safety-index/artifacts/pakistan-weather-mcp.json +66 -0
  276. package/docs/safety-index/artifacts/pakistan-weather-mcp.md +106 -0
  277. package/docs/safety-index/artifacts/pakwheels-mcp.json +66 -0
  278. package/docs/safety-index/artifacts/pakwheels-mcp.md +106 -0
  279. package/docs/safety-index/artifacts/paytm-mcp.json +66 -0
  280. package/docs/safety-index/artifacts/paytm-mcp.md +106 -0
  281. package/docs/safety-index/artifacts/perplexity-mcp.json +66 -0
  282. package/docs/safety-index/artifacts/perplexity-mcp.md +106 -0
  283. package/docs/safety-index/artifacts/pims-mcp.json +66 -0
  284. package/docs/safety-index/artifacts/pims-mcp.md +106 -0
  285. package/docs/safety-index/artifacts/playwright-mcp-server.json +415 -24
  286. package/docs/safety-index/artifacts/playwright-mcp-server.md +84 -20
  287. package/docs/safety-index/artifacts/postgres-server.json +330 -0
  288. package/docs/safety-index/artifacts/postgres-server.md +208 -0
  289. package/docs/safety-index/artifacts/postman-india-region.json +66 -0
  290. package/docs/safety-index/artifacts/postman-india-region.md +102 -0
  291. package/docs/safety-index/artifacts/postman-mcp-server.json +66 -0
  292. package/docs/safety-index/artifacts/postman-mcp-server.md +102 -0
  293. package/docs/safety-index/artifacts/promptopia-server.json +95 -18
  294. package/docs/safety-index/artifacts/promptopia-server.md +44 -10
  295. package/docs/safety-index/artifacts/pubmed-mcp-server.json +58 -0
  296. package/docs/safety-index/artifacts/pubmed-mcp-server.md +96 -0
  297. package/docs/safety-index/artifacts/punjab-health-mcp.json +66 -0
  298. package/docs/safety-index/artifacts/punjab-health-mcp.md +106 -0
  299. package/docs/safety-index/artifacts/puppeteer-server.json +118 -29
  300. package/docs/safety-index/artifacts/puppeteer-server.md +62 -20
  301. package/docs/safety-index/artifacts/qase-server.json +7055 -0
  302. package/docs/safety-index/artifacts/qase-server.md +329 -0
  303. package/docs/safety-index/artifacts/qdrant-server.json +66 -0
  304. package/docs/safety-index/artifacts/qdrant-server.md +106 -0
  305. package/docs/safety-index/artifacts/raspberrypi-server.json +66 -0
  306. package/docs/safety-index/artifacts/raspberrypi-server.md +106 -0
  307. package/docs/safety-index/artifacts/razorpay-mcp.json +66 -0
  308. package/docs/safety-index/artifacts/razorpay-mcp.md +103 -0
  309. package/docs/safety-index/artifacts/reddit-server.json +66 -0
  310. package/docs/safety-index/artifacts/reddit-server.md +106 -0
  311. package/docs/safety-index/artifacts/redis-server.json +66 -0
  312. package/docs/safety-index/artifacts/redis-server.md +106 -0
  313. package/docs/safety-index/artifacts/ref-tools-server.json +95 -18
  314. package/docs/safety-index/artifacts/ref-tools-server.md +43 -10
  315. package/docs/safety-index/artifacts/resend-mcp.json +66 -0
  316. package/docs/safety-index/artifacts/resend-mcp.md +102 -0
  317. package/docs/safety-index/artifacts/rozgar-mcp.json +66 -0
  318. package/docs/safety-index/artifacts/rozgar-mcp.md +106 -0
  319. package/docs/safety-index/artifacts/s3-mcp-server.json +467 -0
  320. package/docs/safety-index/artifacts/s3-mcp-server.md +209 -0
  321. package/docs/safety-index/artifacts/salesforce-mcp-server.json +66 -0
  322. package/docs/safety-index/artifacts/salesforce-mcp-server.md +106 -0
  323. package/docs/safety-index/artifacts/sehat-sahulat-mcp.json +66 -0
  324. package/docs/safety-index/artifacts/sehat-sahulat-mcp.md +106 -0
  325. package/docs/safety-index/artifacts/sendgrid-mcp.json +66 -0
  326. package/docs/safety-index/artifacts/sendgrid-mcp.md +106 -0
  327. package/docs/safety-index/artifacts/sentry-server.json +66 -0
  328. package/docs/safety-index/artifacts/sentry-server.md +106 -0
  329. package/docs/safety-index/artifacts/sequential-thinking-server.json +59 -18
  330. package/docs/safety-index/artifacts/sequential-thinking-server.md +40 -8
  331. package/docs/safety-index/artifacts/shopify-mcp-server.json +66 -0
  332. package/docs/safety-index/artifacts/shopify-mcp-server.md +106 -0
  333. package/docs/safety-index/artifacts/shopify-mcp.json +66 -0
  334. package/docs/safety-index/artifacts/shopify-mcp.md +106 -0
  335. package/docs/safety-index/artifacts/shortcut-mcp-server.json +66 -0
  336. package/docs/safety-index/artifacts/shortcut-mcp-server.md +102 -0
  337. package/docs/safety-index/artifacts/slack-server.json +66 -0
  338. package/docs/safety-index/artifacts/slack-server.md +102 -0
  339. package/docs/safety-index/artifacts/smartbear-mcp-server.json +21483 -0
  340. package/docs/safety-index/artifacts/smartbear-mcp-server.md +900 -0
  341. package/docs/safety-index/artifacts/spotify-mcp.json +2071 -0
  342. package/docs/safety-index/artifacts/spotify-mcp.md +237 -0
  343. package/docs/safety-index/artifacts/spotify-server.json +66 -0
  344. package/docs/safety-index/artifacts/spotify-server.md +106 -0
  345. package/docs/safety-index/artifacts/sqlite-server.json +67 -0
  346. package/docs/safety-index/artifacts/sqlite-server.md +106 -0
  347. package/docs/safety-index/artifacts/stable-diffusion-server.json +66 -0
  348. package/docs/safety-index/artifacts/stable-diffusion-server.md +106 -0
  349. package/docs/safety-index/artifacts/stock-nse-india.json +66 -0
  350. package/docs/safety-index/artifacts/stock-nse-india.md +106 -0
  351. package/docs/safety-index/artifacts/storybook-mcp-server.json +66 -0
  352. package/docs/safety-index/artifacts/storybook-mcp-server.md +103 -0
  353. package/docs/safety-index/artifacts/stripe-server.json +66 -0
  354. package/docs/safety-index/artifacts/stripe-server.md +106 -0
  355. package/docs/safety-index/artifacts/supabase-server.json +66 -0
  356. package/docs/safety-index/artifacts/supabase-server.md +102 -0
  357. package/docs/safety-index/artifacts/tavily-search-server.json +66 -0
  358. package/docs/safety-index/artifacts/tavily-search-server.md +106 -0
  359. package/docs/safety-index/artifacts/telegram-mcp-server.json +66 -0
  360. package/docs/safety-index/artifacts/telegram-mcp-server.md +103 -0
  361. package/docs/safety-index/artifacts/telenor-pakistan-mcp.json +66 -0
  362. package/docs/safety-index/artifacts/telenor-pakistan-mcp.md +106 -0
  363. package/docs/safety-index/artifacts/textlocal-mcp.json +66 -0
  364. package/docs/safety-index/artifacts/textlocal-mcp.md +106 -0
  365. package/docs/safety-index/artifacts/tooljet-mcp.json +66 -0
  366. package/docs/safety-index/artifacts/tooljet-mcp.md +106 -0
  367. package/docs/safety-index/artifacts/transcend-server.json +3438 -0
  368. package/docs/safety-index/artifacts/transcend-server.md +277 -0
  369. package/docs/safety-index/artifacts/trello-mcp-server.json +916 -0
  370. package/docs/safety-index/artifacts/trello-mcp-server.md +211 -0
  371. package/docs/safety-index/artifacts/twilio-mcp.json +66 -0
  372. package/docs/safety-index/artifacts/twilio-mcp.md +106 -0
  373. package/docs/safety-index/artifacts/udyam-mcp.json +66 -0
  374. package/docs/safety-index/artifacts/udyam-mcp.md +106 -0
  375. package/docs/safety-index/artifacts/ufone-mcp.json +66 -0
  376. package/docs/safety-index/artifacts/ufone-mcp.md +106 -0
  377. package/docs/safety-index/artifacts/ui5-mcp-server.json +24 -24
  378. package/docs/safety-index/artifacts/ui5-mcp-server.md +13 -13
  379. package/docs/safety-index/artifacts/unity-server.json +66 -0
  380. package/docs/safety-index/artifacts/unity-server.md +102 -0
  381. package/docs/safety-index/artifacts/upi-mcp.json +452 -0
  382. package/docs/safety-index/artifacts/upi-mcp.md +201 -0
  383. package/docs/safety-index/artifacts/vercel-ai-server.json +66 -0
  384. package/docs/safety-index/artifacts/vercel-ai-server.md +106 -0
  385. package/docs/safety-index/artifacts/vimeo-server.json +66 -0
  386. package/docs/safety-index/artifacts/vimeo-server.md +106 -0
  387. package/docs/safety-index/artifacts/weather-server.json +66 -0
  388. package/docs/safety-index/artifacts/weather-server.md +106 -0
  389. package/docs/safety-index/artifacts/whatsapp-business-mcp.json +66 -0
  390. package/docs/safety-index/artifacts/whatsapp-business-mcp.md +106 -0
  391. package/docs/safety-index/artifacts/whatsapp-mcp-server.json +66 -0
  392. package/docs/safety-index/artifacts/whatsapp-mcp-server.md +106 -0
  393. package/docs/safety-index/artifacts/whatsapp-mcp.json +66 -0
  394. package/docs/safety-index/artifacts/whatsapp-mcp.md +106 -0
  395. package/docs/safety-index/artifacts/yahoo-finance-server.json +626 -0
  396. package/docs/safety-index/artifacts/yahoo-finance-server.md +187 -0
  397. package/docs/safety-index/artifacts/youtube-mcp-server.json +58 -0
  398. package/docs/safety-index/artifacts/youtube-mcp-server.md +96 -0
  399. package/docs/safety-index/artifacts/youtube-server.json +66 -0
  400. package/docs/safety-index/artifacts/youtube-server.md +103 -0
  401. package/docs/safety-index/artifacts/zendesk-mcp.json +66 -0
  402. package/docs/safety-index/artifacts/zendesk-mcp.md +106 -0
  403. package/docs/safety-index/artifacts/zillow-server.json +66 -0
  404. package/docs/safety-index/artifacts/zillow-server.md +102 -0
  405. package/docs/safety-index/artifacts/zong-mcp.json +66 -0
  406. package/docs/safety-index/artifacts/zong-mcp.md +106 -0
  407. package/docs/safety-index/targets.json +2663 -3
  408. package/package.json +10 -9
@@ -0,0 +1,243 @@
1
+ # MCP Observatory Run Report
2
+
3
+ Generated at 2026-07-15T22:33:42.802Z
4
+
5
+ ## Target and Environment Metadata
6
+
7
+ - Target: `firecrawl-server`
8
+ - Adapter: `local-process`
9
+ - Command: `npx -y firecrawl-mcp`
10
+ - Server: `firecrawl-fastmcp 3.22.3`
11
+ - Platform: `darwin 25.5.0`
12
+ - Node: `v22.22.1`
13
+
14
+ ## Executive Summary
15
+
16
+ **Health Score: 53/100 (F)**
17
+
18
+ | Dimension | Score | Weight |
19
+ | --- | --- | --- |
20
+ | Protocol Compliance | 60/100 | 30% |
21
+ | Schema Quality | 60/100 | 20% |
22
+ | Security | 0/100 | 20% |
23
+ | Reliability | 67/100 | 20% |
24
+ | Performance | 100/100 | 10% |
25
+
26
+ | Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
27
+ | --- | --- | --- | --- | --- | --- | --- | --- |
28
+ | fail | 9 | 1 | 3 | 3 | 2 | 0 | 0 |
29
+
30
+ ## At a Glance
31
+
32
+ - Safety verdict: **Blocked** — One or more checks can break agent dependence and should be fixed before production use.
33
+ - Top risks: conformance: 6/7 conformance checks passed, 1 failed.; runtime-profile: Detected 21 potential egress target(s) and 16 potential state mutation(s) with high confidence.; schema-quality: Found 147 quality finding(s) across 26 item(s): 0 warnings, 147 info.
34
+ - Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
35
+ - Failing checks: security-lite, security, attack-sim
36
+ - Partial or flaky checks: runtime-profile, conformance, schema-quality
37
+ - Skipped checks: none
38
+ - Unsupported checks: prompts, resources
39
+ - Suggested next step: Start with the failing checks: security-lite, security, attack-sim.
40
+ - CI next step: `Add CI: npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>"`
41
+
42
+ ## What Was Not Tested
43
+
44
+ - 🔒 network_egress: No outbound network calls were attempted during scan
45
+ - â„šī¸ credential_access: Credential scanning was performed (see security findings)
46
+ - â„šī¸ destructive_payloads: Destructive payloads were not attempted (safe-mode only)
47
+
48
+ ## Runtime Profile
49
+
50
+ ### Egress Manifest
51
+
52
+ The following targets were identified as potentially reachable by this server (confidence: **high**):
53
+
54
+ | Target | Protocol | Source | Confidence |
55
+ | --- | --- | --- | --- |
56
+ | url | unknown | tool_schema | high |
57
+ | firecrawl_scrape | unknown | description_analysis | low |
58
+ | url | unknown | tool_schema | high |
59
+ | firecrawl_map | unknown | description_analysis | low |
60
+ | firecrawl_search | unknown | description_analysis | low |
61
+ | firecrawl_search_feedback | unknown | description_analysis | low |
62
+ | endpoint | unknown | tool_schema | high |
63
+ | url | unknown | tool_schema | high |
64
+ | firecrawl_feedback | unknown | description_analysis | low |
65
+ | url | unknown | tool_schema | high |
66
+ | webhook | unknown | tool_schema | high |
67
+ | firecrawl_crawl | unknown | description_analysis | low |
68
+ | firecrawl_extract | unknown | description_analysis | low |
69
+ | firecrawl_agent | unknown | description_analysis | low |
70
+ | url | unknown | tool_schema | high |
71
+ | firecrawl_interact | unknown | description_analysis | low |
72
+ | firecrawl_parse | unknown | description_analysis | low |
73
+ | firecrawl_monitor_create | unknown | description_analysis | low |
74
+ | firecrawl_monitor_update | unknown | description_analysis | low |
75
+ | firecrawl_monitor_check | unknown | description_analysis | low |
76
+ | firecrawl_research_search_github | unknown | description_analysis | low |
77
+
78
+ ### State Mutations
79
+
80
+ The following state-modifying operations were identified from tool schemas:
81
+
82
+ | Resource | Operation | Scope | Source |
83
+ | --- | --- | --- | --- |
84
+ | filesystem | write | working_directory | description_analysis |
85
+ | filesystem | write | working_directory | description_analysis |
86
+ | filesystem | write | working_directory | description_analysis |
87
+ | filesystem | write | working_directory | tool_schema |
88
+ | filesystem | write | working_directory | description_analysis |
89
+ | filesystem | write | working_directory | description_analysis |
90
+ | filesystem | write | working_directory | description_analysis |
91
+ | filesystem | write | working_directory | description_analysis |
92
+ | filesystem | write | working_directory | description_analysis |
93
+ | filesystem | write | working_directory | description_analysis |
94
+ | filesystem | write | working_directory | description_analysis |
95
+ | filesystem | write | working_directory | description_analysis |
96
+ | filesystem | write | working_directory | description_analysis |
97
+ | filesystem | execute | working_directory | description_analysis |
98
+ | filesystem | write | working_directory | description_analysis |
99
+ | filesystem | write | working_directory | description_analysis |
100
+
101
+ _Analyzed at 2026-07-15T22:33:43.769Z_
102
+
103
+ ## Regressions and Recoveries
104
+
105
+ _Use the `diff` command against another run artifact to classify regressions and recoveries over time._
106
+
107
+ ## Full Capability Status Table
108
+
109
+ | Focus | Check | Status | Duration (ms) | Message |
110
+ | --- | --- | --- | --- | --- |
111
+ | healthy | tools | pass | 8.35 | Advertised capability responded with the minimal expected shape (26 items). |
112
+ | review | conformance | partial | 2.92 | 6/7 conformance checks passed, 1 failed. |
113
+ | review | runtime-profile | partial | 0.41 | Detected 21 potential egress target(s) and 16 potential state mutation(s) with high confidence. |
114
+ | review | schema-quality | partial | 1.02 | Found 147 quality finding(s) across 26 item(s): 0 warnings, 147 info. |
115
+ | confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
116
+ | confirm intent | resources | unsupported | 0.00 | Resources are not advertised by the target. |
117
+ | act now | attack-sim | fail | 1.70 | Safe attack simulation found 9 finding(s): 1 high, 8 medium, 0 low. |
118
+ | act now | security | fail | 1.07 | Found 1 security finding(s): 1 high, 0 medium, 0 low. |
119
+ | act now | security-lite | fail | 0.42 | Found 1 security finding(s): 1 high, 0 medium, 0 low. |
120
+
121
+ ## Evidence Snippets
122
+
123
+ ### tools — pass
124
+
125
+ Summary: Advertised capability responded with the minimal expected shape (26 items).
126
+
127
+ - Endpoint: `tools/list`
128
+ - Advertised: `true`
129
+ - Responded: `true`
130
+ - Minimal shape present: `true`
131
+ - Item count: `26`
132
+ - Identifiers: firecrawl_scrape, firecrawl_map, firecrawl_search, firecrawl_search_feedback, firecrawl_feedback (+21 more)
133
+ - Diagnostics: No FIRECRAWL_API_KEY or FIRECRAWL_API_URL set — running in keyless mode. firecrawl_scrape and firecrawl_search are free (rate-limited per IP) against the Firecrawl cloud; other tools require an API key (get one free at https://firecrawl.dev).
134
+
135
+ ### conformance — partial
136
+
137
+ Summary: 6/7 conformance checks passed, 1 failed.
138
+
139
+ - Endpoint: `conformance/check`
140
+ - Advertised: `true`
141
+ - Responded: `true`
142
+ - Minimal shape present: `false`
143
+ - Item count: `7`
144
+ - Identifiers: tool-response-content
145
+ - Diagnostics: [pass] capabilities-present: Server returned capabilities object., [pass] server-info: Server provided initialization info., [pass] tools-capability-match: tools/list returned 26 tool(s). (+4 more)
146
+
147
+ ### runtime-profile — partial
148
+
149
+ Summary: Detected 21 potential egress target(s) and 16 potential state mutation(s) with high confidence.
150
+
151
+ - Endpoint: `runtime-profile/analyze`
152
+ - Advertised: `true`
153
+ - Responded: `true`
154
+ - Minimal shape present: `true`
155
+ - Item count: `37`
156
+ - Identifiers: none
157
+ - Diagnostics: Egress entries: 21, State mutations: 16, Confidence: high
158
+
159
+ ### schema-quality — partial
160
+
161
+ Summary: Found 147 quality finding(s) across 26 item(s): 0 warnings, 147 info.
162
+
163
+ - Endpoint: `schema-quality/scan`
164
+ - Advertised: `true`
165
+ - Responded: `true`
166
+ - Minimal shape present: `true`
167
+ - Item count: `147`
168
+ - Identifiers: firecrawl_scrape, firecrawl_map, firecrawl_search, firecrawl_search_feedback, firecrawl_feedback (+19 more)
169
+ - Diagnostics: [info] tool "firecrawl_scrape": Property 'url' missing description, [info] tool "firecrawl_scrape": Property 'formats' missing description, [info] tool "firecrawl_scrape": Property 'jsonOptions' missing description (+144 more)
170
+
171
+ ### prompts — unsupported
172
+
173
+ Summary: Prompts are not advertised by the target.
174
+
175
+ - Endpoint: `prompts/list`
176
+ - Advertised: `false`
177
+ - Responded: `false`
178
+ - Minimal shape present: `false`
179
+ - Item count: `0`
180
+ - Identifiers: none
181
+ - Diagnostics: none
182
+
183
+ ### resources — unsupported
184
+
185
+ Summary: Resources are not advertised by the target.
186
+
187
+ - Endpoint: `resources/list | resources/templates/list`
188
+ - Advertised: `false`
189
+ - Responded: `false`
190
+ - Minimal shape present: `false`
191
+ - Item count: `0`
192
+ - Identifiers: none
193
+ - Diagnostics: none
194
+
195
+ ### attack-sim — fail
196
+
197
+ Summary: Safe attack simulation found 9 finding(s): 1 high, 8 medium, 0 low.
198
+
199
+ - Endpoint: `attack-sim/safe`
200
+ - Advertised: `true`
201
+ - Responded: `true`
202
+ - Minimal shape present: `true`
203
+ - Item count: `9`
204
+ - Identifiers: firecrawl_scrape, firecrawl_search, firecrawl_feedback, firecrawl_crawl, firecrawl_interact (+4 more)
205
+ - Diagnostics: [medium] Tool "firecrawl_scrape" combines broad parameters (url) with destructive or non-read-only behavior., [medium] Tool "firecrawl_search" combines broad parameters (query) with destructive or non-read-only behavior., [medium] Tool "firecrawl_feedback" combines broad parameters (endpoint, url) with destructive or non-read-only behavior. (+6 more)
206
+
207
+ ### security — fail
208
+
209
+ Summary: Found 1 security finding(s): 1 high, 0 medium, 0 low.
210
+
211
+ - Endpoint: `security/scan`
212
+ - Advertised: `true`
213
+ - Responded: `true`
214
+ - Minimal shape present: `true`
215
+ - Item count: `1`
216
+ - Identifiers: firecrawl_interact
217
+ - Diagnostics: [high] Tool "firecrawl_interact" has parameter "code" which may allow arbitrary command execution.
218
+
219
+ ### security-lite — fail
220
+
221
+ Summary: Found 1 security finding(s): 1 high, 0 medium, 0 low.
222
+
223
+ - Endpoint: `security/scan-lite`
224
+ - Advertised: `true`
225
+ - Responded: `true`
226
+ - Minimal shape present: `true`
227
+ - Item count: `1`
228
+ - Identifiers: firecrawl_interact
229
+ - Diagnostics: [high] Tool "firecrawl_interact" has parameter "code" which may allow arbitrary command execution.
230
+
231
+ ## Reproduction Commands
232
+
233
+ ```bash
234
+ npm run cli -- run --target <path-to-target-config.json>
235
+ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
236
+ ```
237
+
238
+ ## Artifact Provenance
239
+
240
+ - Artifact type: `run`
241
+ - Schema version: `1.0.0`
242
+ - Run ID: `run_2026-07-15T223342802Z_482400a3`
243
+ - Gate: `fail`
@@ -0,0 +1,66 @@
1
+ {
2
+ "artifactType": "run",
3
+ "schemaVersion": "1.0.0",
4
+ "gate": "fail",
5
+ "runId": "run_2026-07-15T223402661Z_7e29b8a7",
6
+ "createdAt": "2026-07-15T22:34:02.661Z",
7
+ "toolVersion": "1.32.1",
8
+ "target": {
9
+ "targetId": "flight-server",
10
+ "adapter": "local-process",
11
+ "command": "npx",
12
+ "args": [
13
+ "-y",
14
+ "flight-mcp-server"
15
+ ],
16
+ "cwd": ".",
17
+ "metadata": {
18
+ "package": "flight-mcp-server",
19
+ "purpose": "mcp-safety-index",
20
+ "riskClass": "Travel booking API access",
21
+ "failureClass": "Flight search boundary",
22
+ "whyItMatters": "Flight MCP servers search, compare, and book flights through airline APIs — agents with booking access need payment and itinerary confirmation boundaries."
23
+ }
24
+ },
25
+ "environment": {
26
+ "platform": "darwin 25.5.0",
27
+ "nodeVersion": "v22.22.1"
28
+ },
29
+ "summary": {
30
+ "total": 3,
31
+ "pass": 0,
32
+ "fail": 0,
33
+ "partial": 0,
34
+ "unsupported": 0,
35
+ "flaky": 0,
36
+ "skipped": 3,
37
+ "gate": "fail"
38
+ },
39
+ "checks": [
40
+ {
41
+ "id": "tools",
42
+ "capability": "tools",
43
+ "status": "skipped",
44
+ "durationMs": 0,
45
+ "message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
46
+ "evidence": []
47
+ },
48
+ {
49
+ "id": "prompts",
50
+ "capability": "prompts",
51
+ "status": "skipped",
52
+ "durationMs": 0,
53
+ "message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
54
+ "evidence": []
55
+ },
56
+ {
57
+ "id": "resources",
58
+ "capability": "resources",
59
+ "status": "skipped",
60
+ "durationMs": 0,
61
+ "message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
62
+ "evidence": []
63
+ }
64
+ ],
65
+ "fatalError": "Could not establish a plain stdio MCP session for target `flight-server`.\nCommand: npx -y flight-mcp-server\nDiagnosis: The process exited or detached before MCP initialization completed.\nRaw error: MCP error -32000: Connection closed\nLikely causes:\n- The package may expect extra startup arguments or environment variables.\n- The package may not behave like a plain local-process stdio target under this invocation.\n- The server may be crashing immediately and only leaving clues on stderr.\nNext steps:\n- Run the command manually and look for usage output, auth prompts, or crash text.\n- Check whether the package expects a different transport or an app-oriented startup flow.\n- Use the recent stderr lines below before assuming this is a harness bug.\nRecent stderr:\n- at runServer (file:///Users/williamweishuhn/.npm/_npx/0492f3c9bc39e9d7/node_modules/flight-mcp-server/dist/index.js:12:24)\n- at file:///Users/williamweishuhn/.npm/_npx/0492f3c9bc39e9d7/node_modules/flight-mcp-server/dist/index.js:26:1\n- at ModuleJob.run (node:internal/modules/esm/module_job:343:25)\n- at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:665:26)\n- at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)"
66
+ }
@@ -0,0 +1,106 @@
1
+ # MCP Observatory Run Report
2
+
3
+ Generated at 2026-07-15T22:34:02.661Z
4
+
5
+ ## Target and Environment Metadata
6
+
7
+ - Target: `flight-server`
8
+ - Adapter: `local-process`
9
+ - Command: `npx -y flight-mcp-server`
10
+ - Server: `unknown `
11
+ - Platform: `darwin 25.5.0`
12
+ - Node: `v22.22.1`
13
+
14
+ ## Executive Summary
15
+
16
+ | Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
17
+ | --- | --- | --- | --- | --- | --- | --- | --- |
18
+ | fail | 3 | 0 | 0 | 0 | 0 | 0 | 3 |
19
+
20
+ ## At a Glance
21
+
22
+ - Safety verdict: **Blocked** — One or more checks can break agent dependence and should be fixed before production use.
23
+ - Top risks: startup: server failed to start
24
+ - Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
25
+ - Failing checks: none
26
+ - Partial or flaky checks: none
27
+ - Skipped checks: tools, prompts, resources
28
+ - Unsupported checks: none
29
+ - Suggested next step: Run the target command manually, compare stderr with the diagnosis below, and only raise timeoutMs if startup is genuinely slow.
30
+ - CI next step: `Add CI: npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>"`
31
+
32
+ ## What Was Not Tested
33
+
34
+ - 🔒 network_egress: No outbound network calls were attempted during scan
35
+ - 🔒 filesystem_mutation: Filesystem write operations were not exercised
36
+ - 🔒 credential_access: Credential scanning was not performed
37
+ - â„šī¸ destructive_payloads: Destructive payloads were not attempted (safe-mode only)
38
+
39
+ ## Regressions and Recoveries
40
+
41
+ _Use the `diff` command against another run artifact to classify regressions and recoveries over time._
42
+
43
+ ## Failure Diagnosis
44
+
45
+ ```text
46
+ Could not establish a plain stdio MCP session for target `flight-server`.
47
+ Command: npx -y flight-mcp-server
48
+ Diagnosis: The process exited or detached before MCP initialization completed.
49
+ Raw error: MCP error -32000: Connection closed
50
+ Likely causes:
51
+ - The package may expect extra startup arguments or environment variables.
52
+ - The package may not behave like a plain local-process stdio target under this invocation.
53
+ - The server may be crashing immediately and only leaving clues on stderr.
54
+ Next steps:
55
+ - Run the command manually and look for usage output, auth prompts, or crash text.
56
+ - Check whether the package expects a different transport or an app-oriented startup flow.
57
+ - Use the recent stderr lines below before assuming this is a harness bug.
58
+ Recent stderr:
59
+ - at runServer (file:///Users/williamweishuhn/.npm/_npx/0492f3c9bc39e9d7/node_modules/flight-mcp-server/dist/index.js:12:24)
60
+ - at file:///Users/williamweishuhn/.npm/_npx/0492f3c9bc39e9d7/node_modules/flight-mcp-server/dist/index.js:26:1
61
+ - at ModuleJob.run (node:internal/modules/esm/module_job:343:25)
62
+ - at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:665:26)
63
+ - at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)
64
+ ```
65
+
66
+ ## Full Capability Status Table
67
+
68
+ | Focus | Check | Status | Duration (ms) | Message |
69
+ | --- | --- | --- | --- | --- |
70
+ | inspect startup | prompts | skipped | 0.00 | Skipped because startup failed before the MCP session initialized. See the failure diagnosis. |
71
+ | inspect startup | resources | skipped | 0.00 | Skipped because startup failed before the MCP session initialized. See the failure diagnosis. |
72
+ | inspect startup | tools | skipped | 0.00 | Skipped because startup failed before the MCP session initialized. See the failure diagnosis. |
73
+
74
+ ## Evidence Snippets
75
+
76
+ ### prompts — skipped
77
+
78
+ Summary: Skipped because startup failed before the MCP session initialized. See the failure diagnosis.
79
+
80
+ _No evidence was captured._
81
+
82
+ ### resources — skipped
83
+
84
+ Summary: Skipped because startup failed before the MCP session initialized. See the failure diagnosis.
85
+
86
+ _No evidence was captured._
87
+
88
+ ### tools — skipped
89
+
90
+ Summary: Skipped because startup failed before the MCP session initialized. See the failure diagnosis.
91
+
92
+ _No evidence was captured._
93
+
94
+ ## Reproduction Commands
95
+
96
+ ```bash
97
+ npm run cli -- run --target <path-to-target-config.json>
98
+ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
99
+ ```
100
+
101
+ ## Artifact Provenance
102
+
103
+ - Artifact type: `run`
104
+ - Schema version: `1.0.0`
105
+ - Run ID: `run_2026-07-15T223402661Z_7e29b8a7`
106
+ - Gate: `fail`
@@ -0,0 +1,66 @@
1
+ {
2
+ "artifactType": "run",
3
+ "schemaVersion": "1.0.0",
4
+ "gate": "fail",
5
+ "runId": "run_2026-07-15T223601442Z_a60172b9",
6
+ "createdAt": "2026-07-15T22:36:01.442Z",
7
+ "toolVersion": "1.32.1",
8
+ "target": {
9
+ "targetId": "foodpanda-pakistan-mcp",
10
+ "adapter": "local-process",
11
+ "command": "npx",
12
+ "args": [
13
+ "-y",
14
+ "foodpanda-pakistan-mcp"
15
+ ],
16
+ "cwd": ".",
17
+ "metadata": {
18
+ "package": "foodpanda-pakistan-mcp",
19
+ "purpose": "mcp-safety-index",
20
+ "riskClass": "Pakistani food delivery platform API access",
21
+ "failureClass": "Order/restaurant/delivery boundary",
22
+ "whyItMatters": "Foodpanda is Pakistan's largest food delivery platform covering all major cities. MCP servers exposing order management, restaurant data, and delivery tracking handle real-time logistics and payment data for millions of users."
23
+ }
24
+ },
25
+ "environment": {
26
+ "platform": "darwin 25.5.0",
27
+ "nodeVersion": "v22.22.1"
28
+ },
29
+ "summary": {
30
+ "total": 3,
31
+ "pass": 0,
32
+ "fail": 0,
33
+ "partial": 0,
34
+ "unsupported": 0,
35
+ "flaky": 0,
36
+ "skipped": 3,
37
+ "gate": "fail"
38
+ },
39
+ "checks": [
40
+ {
41
+ "id": "tools",
42
+ "capability": "tools",
43
+ "status": "skipped",
44
+ "durationMs": 0,
45
+ "message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
46
+ "evidence": []
47
+ },
48
+ {
49
+ "id": "prompts",
50
+ "capability": "prompts",
51
+ "status": "skipped",
52
+ "durationMs": 0,
53
+ "message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
54
+ "evidence": []
55
+ },
56
+ {
57
+ "id": "resources",
58
+ "capability": "resources",
59
+ "status": "skipped",
60
+ "durationMs": 0,
61
+ "message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
62
+ "evidence": []
63
+ }
64
+ ],
65
+ "fatalError": "Could not establish a plain stdio MCP session for target `foodpanda-pakistan-mcp`.\nCommand: npx -y foodpanda-pakistan-mcp\nDiagnosis: The process exited or detached before MCP initialization completed.\nRaw error: MCP error -32000: Connection closed\nLikely causes:\n- The package may expect extra startup arguments or environment variables.\n- The package may not behave like a plain local-process stdio target under this invocation.\n- The server may be crashing immediately and only leaving clues on stderr.\nNext steps:\n- Run the command manually and look for usage output, auth prompts, or crash text.\n- Check whether the package expects a different transport or an app-oriented startup flow.\n- Use the recent stderr lines below before assuming this is a harness bug.\nRecent stderr:\n- npm error 404 'foodpanda-pakistan-mcp@*' is not in this registry.\n- npm error 404\n- npm error 404 Note that you can also install from a\n- npm error 404 tarball, folder, http url, or git url.\n- npm error A complete log of this run can be found in: /Users/williamweishuhn/.npm/_logs/2026-07-15T22_36_01_517Z-debug-0.log"
66
+ }
@@ -0,0 +1,106 @@
1
+ # MCP Observatory Run Report
2
+
3
+ Generated at 2026-07-15T22:36:01.442Z
4
+
5
+ ## Target and Environment Metadata
6
+
7
+ - Target: `foodpanda-pakistan-mcp`
8
+ - Adapter: `local-process`
9
+ - Command: `npx -y foodpanda-pakistan-mcp`
10
+ - Server: `unknown `
11
+ - Platform: `darwin 25.5.0`
12
+ - Node: `v22.22.1`
13
+
14
+ ## Executive Summary
15
+
16
+ | Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
17
+ | --- | --- | --- | --- | --- | --- | --- | --- |
18
+ | fail | 3 | 0 | 0 | 0 | 0 | 0 | 3 |
19
+
20
+ ## At a Glance
21
+
22
+ - Safety verdict: **Blocked** — One or more checks can break agent dependence and should be fixed before production use.
23
+ - Top risks: startup: server failed to start
24
+ - Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
25
+ - Failing checks: none
26
+ - Partial or flaky checks: none
27
+ - Skipped checks: tools, prompts, resources
28
+ - Unsupported checks: none
29
+ - Suggested next step: Run the target command manually, compare stderr with the diagnosis below, and only raise timeoutMs if startup is genuinely slow.
30
+ - CI next step: `Add CI: npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>"`
31
+
32
+ ## What Was Not Tested
33
+
34
+ - 🔒 network_egress: No outbound network calls were attempted during scan
35
+ - 🔒 filesystem_mutation: Filesystem write operations were not exercised
36
+ - 🔒 credential_access: Credential scanning was not performed
37
+ - â„šī¸ destructive_payloads: Destructive payloads were not attempted (safe-mode only)
38
+
39
+ ## Regressions and Recoveries
40
+
41
+ _Use the `diff` command against another run artifact to classify regressions and recoveries over time._
42
+
43
+ ## Failure Diagnosis
44
+
45
+ ```text
46
+ Could not establish a plain stdio MCP session for target `foodpanda-pakistan-mcp`.
47
+ Command: npx -y foodpanda-pakistan-mcp
48
+ Diagnosis: The process exited or detached before MCP initialization completed.
49
+ Raw error: MCP error -32000: Connection closed
50
+ Likely causes:
51
+ - The package may expect extra startup arguments or environment variables.
52
+ - The package may not behave like a plain local-process stdio target under this invocation.
53
+ - The server may be crashing immediately and only leaving clues on stderr.
54
+ Next steps:
55
+ - Run the command manually and look for usage output, auth prompts, or crash text.
56
+ - Check whether the package expects a different transport or an app-oriented startup flow.
57
+ - Use the recent stderr lines below before assuming this is a harness bug.
58
+ Recent stderr:
59
+ - npm error 404 'foodpanda-pakistan-mcp@*' is not in this registry.
60
+ - npm error 404
61
+ - npm error 404 Note that you can also install from a
62
+ - npm error 404 tarball, folder, http url, or git url.
63
+ - npm error A complete log of this run can be found in: /Users/williamweishuhn/.npm/_logs/2026-07-15T22_36_01_517Z-debug-0.log
64
+ ```
65
+
66
+ ## Full Capability Status Table
67
+
68
+ | Focus | Check | Status | Duration (ms) | Message |
69
+ | --- | --- | --- | --- | --- |
70
+ | inspect startup | prompts | skipped | 0.00 | Skipped because startup failed before the MCP session initialized. See the failure diagnosis. |
71
+ | inspect startup | resources | skipped | 0.00 | Skipped because startup failed before the MCP session initialized. See the failure diagnosis. |
72
+ | inspect startup | tools | skipped | 0.00 | Skipped because startup failed before the MCP session initialized. See the failure diagnosis. |
73
+
74
+ ## Evidence Snippets
75
+
76
+ ### prompts — skipped
77
+
78
+ Summary: Skipped because startup failed before the MCP session initialized. See the failure diagnosis.
79
+
80
+ _No evidence was captured._
81
+
82
+ ### resources — skipped
83
+
84
+ Summary: Skipped because startup failed before the MCP session initialized. See the failure diagnosis.
85
+
86
+ _No evidence was captured._
87
+
88
+ ### tools — skipped
89
+
90
+ Summary: Skipped because startup failed before the MCP session initialized. See the failure diagnosis.
91
+
92
+ _No evidence was captured._
93
+
94
+ ## Reproduction Commands
95
+
96
+ ```bash
97
+ npm run cli -- run --target <path-to-target-config.json>
98
+ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
99
+ ```
100
+
101
+ ## Artifact Provenance
102
+
103
+ - Artifact type: `run`
104
+ - Schema version: `1.0.0`
105
+ - Run ID: `run_2026-07-15T223601442Z_a60172b9`
106
+ - Gate: `fail`
@@ -0,0 +1,66 @@
1
+ {
2
+ "artifactType": "run",
3
+ "schemaVersion": "1.0.0",
4
+ "gate": "fail",
5
+ "runId": "run_2026-07-15T223451316Z_f7d490a7",
6
+ "createdAt": "2026-07-15T22:34:51.316Z",
7
+ "toolVersion": "1.32.1",
8
+ "target": {
9
+ "targetId": "gcp-mcp-server",
10
+ "adapter": "local-process",
11
+ "command": "npx",
12
+ "args": [
13
+ "-y",
14
+ "mcp-server-gcp"
15
+ ],
16
+ "cwd": ".",
17
+ "metadata": {
18
+ "package": "mcp-server-gcp",
19
+ "purpose": "mcp-safety-index",
20
+ "riskClass": "Cloud infrastructure control",
21
+ "failureClass": "GCP service boundary",
22
+ "whyItMatters": "GCP MCP servers can interact with Compute Engine, Cloud Storage, BigQuery, and other GCP services — broad cloud control surface."
23
+ }
24
+ },
25
+ "environment": {
26
+ "platform": "darwin 25.5.0",
27
+ "nodeVersion": "v22.22.1"
28
+ },
29
+ "summary": {
30
+ "total": 3,
31
+ "pass": 0,
32
+ "fail": 0,
33
+ "partial": 0,
34
+ "unsupported": 0,
35
+ "flaky": 0,
36
+ "skipped": 3,
37
+ "gate": "fail"
38
+ },
39
+ "checks": [
40
+ {
41
+ "id": "tools",
42
+ "capability": "tools",
43
+ "status": "skipped",
44
+ "durationMs": 0,
45
+ "message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
46
+ "evidence": []
47
+ },
48
+ {
49
+ "id": "prompts",
50
+ "capability": "prompts",
51
+ "status": "skipped",
52
+ "durationMs": 0,
53
+ "message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
54
+ "evidence": []
55
+ },
56
+ {
57
+ "id": "resources",
58
+ "capability": "resources",
59
+ "status": "skipped",
60
+ "durationMs": 0,
61
+ "message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
62
+ "evidence": []
63
+ }
64
+ ],
65
+ "fatalError": "Could not establish a plain stdio MCP session for target `gcp-mcp-server`.\nCommand: npx -y mcp-server-gcp\nDiagnosis: The process exited or detached before MCP initialization completed.\nRaw error: MCP error -32000: Connection closed\nLikely causes:\n- The package may expect extra startup arguments or environment variables.\n- The package may not behave like a plain local-process stdio target under this invocation.\n- The server may be crashing immediately and only leaving clues on stderr.\nNext steps:\n- Run the command manually and look for usage output, auth prompts, or crash text.\n- Check whether the package expects a different transport or an app-oriented startup flow.\n- Use the recent stderr lines below before assuming this is a harness bug.\nRecent stderr:\n- npm error could not determine executable to run\n- npm error A complete log of this run can be found in: /Users/williamweishuhn/.npm/_logs/2026-07-15T22_34_51_384Z-debug-0.log"
66
+ }