@kryptosai/mcp-observatory 1.32.1 → 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 (404) hide show
  1. package/README.md +5 -3
  2. package/dist/src/adapters/base.d.ts +14 -0
  3. package/dist/src/adapters/base.js +2 -0
  4. package/dist/src/adapters/base.js.map +1 -0
  5. package/dist/src/checks/semantics.d.ts +2 -0
  6. package/dist/src/checks/semantics.js +48 -0
  7. package/dist/src/checks/semantics.js.map +1 -0
  8. package/dist/src/cli.js +7 -1
  9. package/dist/src/cli.js.map +1 -1
  10. package/dist/src/commands/audit.js +7 -1
  11. package/dist/src/commands/audit.js.map +1 -1
  12. package/dist/src/commands/enforce.js +14 -3
  13. package/dist/src/commands/enforce.js.map +1 -1
  14. package/dist/src/commands/helpers.d.ts +2 -0
  15. package/dist/src/commands/helpers.js +8 -1
  16. package/dist/src/commands/helpers.js.map +1 -1
  17. package/dist/src/commands/scan.d.ts +14 -0
  18. package/dist/src/commands/scan.js +42 -3
  19. package/dist/src/commands/scan.js.map +1 -1
  20. package/dist/src/commands/score.js +22 -1
  21. package/dist/src/commands/score.js.map +1 -1
  22. package/dist/src/commands/skill-scan.js +5 -3
  23. package/dist/src/commands/skill-scan.js.map +1 -1
  24. package/dist/src/commands/test.d.ts +19 -0
  25. package/dist/src/commands/test.js +68 -2
  26. package/dist/src/commands/test.js.map +1 -1
  27. package/dist/src/commercial.js +2 -2
  28. package/dist/src/commercial.js.map +1 -1
  29. package/dist/src/diff/diff.d.ts +2 -0
  30. package/dist/src/diff/diff.js +81 -0
  31. package/dist/src/diff/diff.js.map +1 -0
  32. package/dist/src/reporters/json.d.ts +2 -0
  33. package/dist/src/reporters/json.js +4 -0
  34. package/dist/src/reporters/json.js.map +1 -0
  35. package/dist/src/runner/runner.d.ts +2 -0
  36. package/dist/src/runner/runner.js +135 -0
  37. package/dist/src/runner/runner.js.map +1 -0
  38. package/dist/src/storage/filesystem.d.ts +6 -0
  39. package/dist/src/storage/filesystem.js +21 -0
  40. package/dist/src/storage/filesystem.js.map +1 -0
  41. package/dist/src/telemetry.d.ts +25 -3
  42. package/dist/src/telemetry.js +84 -19
  43. package/dist/src/telemetry.js.map +1 -1
  44. package/docs/mcp-server-safety-index.md +255 -6
  45. package/docs/safety-index/artifacts/1link-mcp.json +66 -0
  46. package/docs/safety-index/artifacts/1link-mcp.md +106 -0
  47. package/docs/safety-index/artifacts/aadhaar-mcp.json +66 -0
  48. package/docs/safety-index/artifacts/aadhaar-mcp.md +106 -0
  49. package/docs/safety-index/artifacts/aikidosec-mcp-server.json +536 -0
  50. package/docs/safety-index/artifacts/aikidosec-mcp-server.md +203 -0
  51. package/docs/safety-index/artifacts/aiou-mcp.json +66 -0
  52. package/docs/safety-index/artifacts/aiou-mcp.md +106 -0
  53. package/docs/safety-index/artifacts/airtable-mcp-server.json +66 -0
  54. package/docs/safety-index/artifacts/airtable-mcp-server.md +106 -0
  55. package/docs/safety-index/artifacts/alpaca-server.json +66 -0
  56. package/docs/safety-index/artifacts/alpaca-server.md +106 -0
  57. package/docs/safety-index/artifacts/antv-chart-server.json +21 -21
  58. package/docs/safety-index/artifacts/antv-chart-server.md +11 -11
  59. package/docs/safety-index/artifacts/apify-mcp-server.json +66 -0
  60. package/docs/safety-index/artifacts/apify-mcp-server.md +103 -0
  61. package/docs/safety-index/artifacts/apple-music-server.json +66 -0
  62. package/docs/safety-index/artifacts/apple-music-server.md +102 -0
  63. package/docs/safety-index/artifacts/appwrite-mcp.json +66 -0
  64. package/docs/safety-index/artifacts/appwrite-mcp.md +106 -0
  65. package/docs/safety-index/artifacts/aqi-india-mcp.json +66 -0
  66. package/docs/safety-index/artifacts/aqi-india-mcp.md +106 -0
  67. package/docs/safety-index/artifacts/argocd-mcp-server.json +66 -0
  68. package/docs/safety-index/artifacts/argocd-mcp-server.md +106 -0
  69. package/docs/safety-index/artifacts/arxiv-mcp-server.json +66 -0
  70. package/docs/safety-index/artifacts/arxiv-mcp-server.md +100 -0
  71. package/docs/safety-index/artifacts/aws-mcp-server.json +66 -0
  72. package/docs/safety-index/artifacts/aws-mcp-server.md +103 -0
  73. package/docs/safety-index/artifacts/azure-devops-mcp-server.json +66 -0
  74. package/docs/safety-index/artifacts/azure-devops-mcp-server.md +106 -0
  75. package/docs/safety-index/artifacts/azure-mcp-server.json +66 -0
  76. package/docs/safety-index/artifacts/azure-mcp-server.md +102 -0
  77. package/docs/safety-index/artifacts/bhuvan-mcp.json +66 -0
  78. package/docs/safety-index/artifacts/bhuvan-mcp.md +106 -0
  79. package/docs/safety-index/artifacts/brave-search-mcp-server-v2.json +66 -0
  80. package/docs/safety-index/artifacts/brave-search-mcp-server-v2.md +103 -0
  81. package/docs/safety-index/artifacts/brave-search-server.json +18 -18
  82. package/docs/safety-index/artifacts/brave-search-server.md +6 -6
  83. package/docs/safety-index/artifacts/browsermcp-server.json +18 -18
  84. package/docs/safety-index/artifacts/browsermcp-server.md +10 -10
  85. package/docs/safety-index/artifacts/cal-com-mcp.json +66 -0
  86. package/docs/safety-index/artifacts/cal-com-mcp.md +106 -0
  87. package/docs/safety-index/artifacts/canvas-server.json +66 -0
  88. package/docs/safety-index/artifacts/canvas-server.md +105 -0
  89. package/docs/safety-index/artifacts/caselaw-server.json +66 -0
  90. package/docs/safety-index/artifacts/caselaw-server.md +106 -0
  91. package/docs/safety-index/artifacts/chatwoot-mcp.json +66 -0
  92. package/docs/safety-index/artifacts/chatwoot-mcp.md +102 -0
  93. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.json +22 -22
  94. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.md +11 -11
  95. package/docs/safety-index/artifacts/circleci-server.json +1606 -0
  96. package/docs/safety-index/artifacts/circleci-server.md +243 -0
  97. package/docs/safety-index/artifacts/clarity-server.json +794 -0
  98. package/docs/safety-index/artifacts/clarity-server.md +201 -0
  99. package/docs/safety-index/artifacts/clay-server.json +4 -4
  100. package/docs/safety-index/artifacts/clay-server.md +3 -3
  101. package/docs/safety-index/artifacts/clickup-mcp-server.json +66 -0
  102. package/docs/safety-index/artifacts/clickup-mcp-server.md +106 -0
  103. package/docs/safety-index/artifacts/cloudflare-mcp-server-v2.json +66 -0
  104. package/docs/safety-index/artifacts/cloudflare-mcp-server-v2.md +102 -0
  105. package/docs/safety-index/artifacts/cloudflare-server.json +4 -4
  106. package/docs/safety-index/artifacts/cloudflare-server.md +3 -3
  107. package/docs/safety-index/artifacts/coinbase-cds-server.json +322 -0
  108. package/docs/safety-index/artifacts/coinbase-cds-server.md +201 -0
  109. package/docs/safety-index/artifacts/confluence-mcp-server.json +1727 -0
  110. package/docs/safety-index/artifacts/confluence-mcp-server.md +255 -0
  111. package/docs/safety-index/artifacts/context7-server.json +18 -18
  112. package/docs/safety-index/artifacts/context7-server.md +12 -12
  113. package/docs/safety-index/artifacts/contract-analysis-server.json +66 -0
  114. package/docs/safety-index/artifacts/contract-analysis-server.md +106 -0
  115. package/docs/safety-index/artifacts/cowin-mcp.json +66 -0
  116. package/docs/safety-index/artifacts/cowin-mcp.md +106 -0
  117. package/docs/safety-index/artifacts/currents-mcp-server.json +66 -0
  118. package/docs/safety-index/artifacts/currents-mcp-server.md +102 -0
  119. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +34 -34
  120. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +15 -15
  121. package/docs/safety-index/artifacts/dalle-server.json +66 -0
  122. package/docs/safety-index/artifacts/dalle-server.md +104 -0
  123. package/docs/safety-index/artifacts/daraz-mcp.json +66 -0
  124. package/docs/safety-index/artifacts/daraz-mcp.md +106 -0
  125. package/docs/safety-index/artifacts/desktop-commander-mcp-server.json +2348 -0
  126. package/docs/safety-index/artifacts/desktop-commander-mcp-server.md +266 -0
  127. package/docs/safety-index/artifacts/digilocker-mcp.json +66 -0
  128. package/docs/safety-index/artifacts/digilocker-mcp.md +106 -0
  129. package/docs/safety-index/artifacts/discord-mcp-server.json +1297 -0
  130. package/docs/safety-index/artifacts/discord-mcp-server.md +169 -0
  131. package/docs/safety-index/artifacts/discord-mcp.json +1023 -0
  132. package/docs/safety-index/artifacts/discord-mcp.md +229 -0
  133. package/docs/safety-index/artifacts/docker-server.json +19 -19
  134. package/docs/safety-index/artifacts/docker-server.md +8 -8
  135. package/docs/safety-index/artifacts/dynamodb-mcp-server.json +66 -0
  136. package/docs/safety-index/artifacts/dynamodb-mcp-server.md +103 -0
  137. package/docs/safety-index/artifacts/dynatrace-mcp-server.json +66 -0
  138. package/docs/safety-index/artifacts/dynatrace-mcp-server.md +103 -0
  139. package/docs/safety-index/artifacts/easypaisa-mcp.json +553 -0
  140. package/docs/safety-index/artifacts/easypaisa-mcp.md +205 -0
  141. package/docs/safety-index/artifacts/ehsaas-mcp.json +66 -0
  142. package/docs/safety-index/artifacts/ehsaas-mcp.md +106 -0
  143. package/docs/safety-index/artifacts/epic-server.json +66 -0
  144. package/docs/safety-index/artifacts/epic-server.md +106 -0
  145. package/docs/safety-index/artifacts/eslint-mcp-server.json +320 -0
  146. package/docs/safety-index/artifacts/eslint-mcp-server.md +201 -0
  147. package/docs/safety-index/artifacts/espn-server.json +394 -0
  148. package/docs/safety-index/artifacts/espn-server.md +187 -0
  149. package/docs/safety-index/artifacts/everything-server.json +18 -18
  150. package/docs/safety-index/artifacts/everything-server.md +10 -10
  151. package/docs/safety-index/artifacts/exa-server.json +22 -22
  152. package/docs/safety-index/artifacts/exa-server.md +14 -14
  153. package/docs/safety-index/artifacts/executeautomation-playwright-server.json +18 -18
  154. package/docs/safety-index/artifacts/executeautomation-playwright-server.md +9 -9
  155. package/docs/safety-index/artifacts/fbr-mcp.json +66 -0
  156. package/docs/safety-index/artifacts/fbr-mcp.md +106 -0
  157. package/docs/safety-index/artifacts/fetch-server.json +4 -4
  158. package/docs/safety-index/artifacts/fetch-server.md +3 -3
  159. package/docs/safety-index/artifacts/fhir-server.json +66 -0
  160. package/docs/safety-index/artifacts/fhir-server.md +100 -0
  161. package/docs/safety-index/artifacts/figma-server.json +18 -18
  162. package/docs/safety-index/artifacts/figma-server.md +10 -10
  163. package/docs/safety-index/artifacts/filesystem-mcp-server.json +19 -19
  164. package/docs/safety-index/artifacts/filesystem-mcp-server.md +10 -10
  165. package/docs/safety-index/artifacts/filesystem-server.json +18 -18
  166. package/docs/safety-index/artifacts/filesystem-server.md +7 -7
  167. package/docs/safety-index/artifacts/firecrawl-server.json +18 -18
  168. package/docs/safety-index/artifacts/firecrawl-server.md +10 -10
  169. package/docs/safety-index/artifacts/flight-server.json +66 -0
  170. package/docs/safety-index/artifacts/flight-server.md +106 -0
  171. package/docs/safety-index/artifacts/foodpanda-pakistan-mcp.json +66 -0
  172. package/docs/safety-index/artifacts/foodpanda-pakistan-mcp.md +106 -0
  173. package/docs/safety-index/artifacts/gcp-mcp-server.json +66 -0
  174. package/docs/safety-index/artifacts/gcp-mcp-server.md +103 -0
  175. package/docs/safety-index/artifacts/github-mcp-server.json +18 -18
  176. package/docs/safety-index/artifacts/github-mcp-server.md +9 -9
  177. package/docs/safety-index/artifacts/gitlab-server.json +16 -16
  178. package/docs/safety-index/artifacts/gitlab-server.md +6 -6
  179. package/docs/safety-index/artifacts/gmail-server.json +4 -4
  180. package/docs/safety-index/artifacts/gmail-server.md +3 -3
  181. package/docs/safety-index/artifacts/google-calendar-server.json +4 -4
  182. package/docs/safety-index/artifacts/google-calendar-server.md +3 -3
  183. package/docs/safety-index/artifacts/google-drive-server.json +4 -4
  184. package/docs/safety-index/artifacts/google-drive-server.md +3 -3
  185. package/docs/safety-index/artifacts/google-sheets-server.json +4 -4
  186. package/docs/safety-index/artifacts/google-sheets-server.md +3 -3
  187. package/docs/safety-index/artifacts/google-tasks-server.json +4 -4
  188. package/docs/safety-index/artifacts/google-tasks-server.md +3 -3
  189. package/docs/safety-index/artifacts/gst-mcp.json +66 -0
  190. package/docs/safety-index/artifacts/gst-mcp.md +106 -0
  191. package/docs/safety-index/artifacts/gupshup-mcp.json +66 -0
  192. package/docs/safety-index/artifacts/gupshup-mcp.md +106 -0
  193. package/docs/safety-index/artifacts/hasura-mcp.json +66 -0
  194. package/docs/safety-index/artifacts/hasura-mcp.md +106 -0
  195. package/docs/safety-index/artifacts/healthcare-ayushman-bharat-mcp.json +66 -0
  196. package/docs/safety-index/artifacts/healthcare-ayushman-bharat-mcp.md +106 -0
  197. package/docs/safety-index/artifacts/hec-pakistan-mcp.json +66 -0
  198. package/docs/safety-index/artifacts/hec-pakistan-mcp.md +106 -0
  199. package/docs/safety-index/artifacts/heroku-server.json +1502 -0
  200. package/docs/safety-index/artifacts/heroku-server.md +236 -0
  201. package/docs/safety-index/artifacts/homekit-server.json +66 -0
  202. package/docs/safety-index/artifacts/homekit-server.md +106 -0
  203. package/docs/safety-index/artifacts/hotel-booking-server.json +66 -0
  204. package/docs/safety-index/artifacts/hotel-booking-server.md +106 -0
  205. package/docs/safety-index/artifacts/hubspot-mcp-server.json +66 -0
  206. package/docs/safety-index/artifacts/hubspot-mcp-server.md +106 -0
  207. package/docs/safety-index/artifacts/huggingface-server.json +4 -4
  208. package/docs/safety-index/artifacts/huggingface-server.md +3 -3
  209. package/docs/safety-index/artifacts/indian-food-nutrition-mcp.json +663 -0
  210. package/docs/safety-index/artifacts/indian-food-nutrition-mcp.md +211 -0
  211. package/docs/safety-index/artifacts/irctc-mcp.json +66 -0
  212. package/docs/safety-index/artifacts/irctc-mcp.md +106 -0
  213. package/docs/safety-index/artifacts/jazz-mcp.json +66 -0
  214. package/docs/safety-index/artifacts/jazz-mcp.md +106 -0
  215. package/docs/safety-index/artifacts/jazzcash-mcp.json +66 -0
  216. package/docs/safety-index/artifacts/jazzcash-mcp.md +102 -0
  217. package/docs/safety-index/artifacts/jina-server.json +4 -4
  218. package/docs/safety-index/artifacts/jina-server.md +3 -3
  219. package/docs/safety-index/artifacts/jira-mcp-server.json +66 -0
  220. package/docs/safety-index/artifacts/jira-mcp-server.md +104 -0
  221. package/docs/safety-index/artifacts/k2-mcp.json +66 -0
  222. package/docs/safety-index/artifacts/k2-mcp.md +106 -0
  223. package/docs/safety-index/artifacts/karachi-stock-exchange-mcp.json +67 -0
  224. package/docs/safety-index/artifacts/karachi-stock-exchange-mcp.md +114 -0
  225. package/docs/safety-index/artifacts/khan-academy-server.json +66 -0
  226. package/docs/safety-index/artifacts/khan-academy-server.md +106 -0
  227. package/docs/safety-index/artifacts/kubernetes-server.json +103 -33
  228. package/docs/safety-index/artifacts/kubernetes-server.md +23 -19
  229. package/docs/safety-index/artifacts/langfuse-mcp.json +66 -0
  230. package/docs/safety-index/artifacts/langfuse-mcp.md +106 -0
  231. package/docs/safety-index/artifacts/linear-server.json +18 -18
  232. package/docs/safety-index/artifacts/linear-server.md +8 -8
  233. package/docs/safety-index/artifacts/mapmyindia-mcp.json +66 -0
  234. package/docs/safety-index/artifacts/mapmyindia-mcp.md +106 -0
  235. package/docs/safety-index/artifacts/memory-server.json +18 -18
  236. package/docs/safety-index/artifacts/memory-server.md +10 -10
  237. package/docs/safety-index/artifacts/minecraft-server.json +592 -0
  238. package/docs/safety-index/artifacts/minecraft-server.md +186 -0
  239. package/docs/safety-index/artifacts/mls-server.json +66 -0
  240. package/docs/safety-index/artifacts/mls-server.md +106 -0
  241. package/docs/safety-index/artifacts/mongodb-server.json +4 -4
  242. package/docs/safety-index/artifacts/mongodb-server.md +3 -3
  243. package/docs/safety-index/artifacts/mui-mcp-server.json +419 -0
  244. package/docs/safety-index/artifacts/mui-mcp-server.md +208 -0
  245. package/docs/safety-index/artifacts/mysql-mcp-server.json +66 -0
  246. package/docs/safety-index/artifacts/mysql-mcp-server.md +106 -0
  247. package/docs/safety-index/artifacts/nadra-mcp.json +66 -0
  248. package/docs/safety-index/artifacts/nadra-mcp.md +106 -0
  249. package/docs/safety-index/artifacts/neon-server.json +4 -4
  250. package/docs/safety-index/artifacts/neon-server.md +3 -3
  251. package/docs/safety-index/artifacts/notion-server.json +18 -18
  252. package/docs/safety-index/artifacts/notion-server.md +10 -10
  253. package/docs/safety-index/artifacts/obsidian-mcp.json +66 -0
  254. package/docs/safety-index/artifacts/obsidian-mcp.md +106 -0
  255. package/docs/safety-index/artifacts/ola-maps-mcp.json +66 -0
  256. package/docs/safety-index/artifacts/ola-maps-mcp.md +106 -0
  257. package/docs/safety-index/artifacts/olx-pakistan-mcp.json +66 -0
  258. package/docs/safety-index/artifacts/olx-pakistan-mcp.md +106 -0
  259. package/docs/safety-index/artifacts/onesignal-server.json +4 -4
  260. package/docs/safety-index/artifacts/onesignal-server.md +3 -3
  261. package/docs/safety-index/artifacts/openai-mcp-server.json +66 -0
  262. package/docs/safety-index/artifacts/openai-mcp-server.md +106 -0
  263. package/docs/safety-index/artifacts/opentofu-server.json +19 -19
  264. package/docs/safety-index/artifacts/opentofu-server.md +10 -10
  265. package/docs/safety-index/artifacts/openweather-server.json +66 -0
  266. package/docs/safety-index/artifacts/openweather-server.md +106 -0
  267. package/docs/safety-index/artifacts/pakistan-cricket-mcp.json +66 -0
  268. package/docs/safety-index/artifacts/pakistan-cricket-mcp.md +106 -0
  269. package/docs/safety-index/artifacts/pakistan-post-mcp.json +66 -0
  270. package/docs/safety-index/artifacts/pakistan-post-mcp.md +106 -0
  271. package/docs/safety-index/artifacts/pakistan-weather-mcp.json +66 -0
  272. package/docs/safety-index/artifacts/pakistan-weather-mcp.md +106 -0
  273. package/docs/safety-index/artifacts/pakwheels-mcp.json +66 -0
  274. package/docs/safety-index/artifacts/pakwheels-mcp.md +106 -0
  275. package/docs/safety-index/artifacts/paytm-mcp.json +66 -0
  276. package/docs/safety-index/artifacts/paytm-mcp.md +106 -0
  277. package/docs/safety-index/artifacts/perplexity-mcp.json +66 -0
  278. package/docs/safety-index/artifacts/perplexity-mcp.md +106 -0
  279. package/docs/safety-index/artifacts/pims-mcp.json +66 -0
  280. package/docs/safety-index/artifacts/pims-mcp.md +106 -0
  281. package/docs/safety-index/artifacts/playwright-mcp-server.json +18 -18
  282. package/docs/safety-index/artifacts/playwright-mcp-server.md +8 -8
  283. package/docs/safety-index/artifacts/postgres-server.json +19 -19
  284. package/docs/safety-index/artifacts/postgres-server.md +9 -9
  285. package/docs/safety-index/artifacts/postman-india-region.json +66 -0
  286. package/docs/safety-index/artifacts/postman-india-region.md +102 -0
  287. package/docs/safety-index/artifacts/postman-mcp-server.json +66 -0
  288. package/docs/safety-index/artifacts/postman-mcp-server.md +102 -0
  289. package/docs/safety-index/artifacts/promptopia-server.json +19 -19
  290. package/docs/safety-index/artifacts/promptopia-server.md +9 -9
  291. package/docs/safety-index/artifacts/pubmed-mcp-server.json +58 -0
  292. package/docs/safety-index/artifacts/pubmed-mcp-server.md +96 -0
  293. package/docs/safety-index/artifacts/punjab-health-mcp.json +66 -0
  294. package/docs/safety-index/artifacts/punjab-health-mcp.md +106 -0
  295. package/docs/safety-index/artifacts/puppeteer-server.json +18 -18
  296. package/docs/safety-index/artifacts/puppeteer-server.md +9 -9
  297. package/docs/safety-index/artifacts/qase-server.json +7055 -0
  298. package/docs/safety-index/artifacts/qase-server.md +329 -0
  299. package/docs/safety-index/artifacts/qdrant-server.json +4 -4
  300. package/docs/safety-index/artifacts/qdrant-server.md +3 -3
  301. package/docs/safety-index/artifacts/raspberrypi-server.json +66 -0
  302. package/docs/safety-index/artifacts/raspberrypi-server.md +106 -0
  303. package/docs/safety-index/artifacts/razorpay-mcp.json +66 -0
  304. package/docs/safety-index/artifacts/razorpay-mcp.md +103 -0
  305. package/docs/safety-index/artifacts/reddit-server.json +4 -4
  306. package/docs/safety-index/artifacts/reddit-server.md +3 -3
  307. package/docs/safety-index/artifacts/redis-server.json +66 -0
  308. package/docs/safety-index/artifacts/redis-server.md +106 -0
  309. package/docs/safety-index/artifacts/ref-tools-server.json +18 -18
  310. package/docs/safety-index/artifacts/ref-tools-server.md +10 -10
  311. package/docs/safety-index/artifacts/resend-mcp.json +66 -0
  312. package/docs/safety-index/artifacts/resend-mcp.md +102 -0
  313. package/docs/safety-index/artifacts/rozgar-mcp.json +66 -0
  314. package/docs/safety-index/artifacts/rozgar-mcp.md +106 -0
  315. package/docs/safety-index/artifacts/s3-mcp-server.json +467 -0
  316. package/docs/safety-index/artifacts/s3-mcp-server.md +209 -0
  317. package/docs/safety-index/artifacts/salesforce-mcp-server.json +66 -0
  318. package/docs/safety-index/artifacts/salesforce-mcp-server.md +106 -0
  319. package/docs/safety-index/artifacts/sehat-sahulat-mcp.json +66 -0
  320. package/docs/safety-index/artifacts/sehat-sahulat-mcp.md +106 -0
  321. package/docs/safety-index/artifacts/sendgrid-mcp.json +66 -0
  322. package/docs/safety-index/artifacts/sendgrid-mcp.md +106 -0
  323. package/docs/safety-index/artifacts/sentry-server.json +3 -3
  324. package/docs/safety-index/artifacts/sentry-server.md +2 -2
  325. package/docs/safety-index/artifacts/sequential-thinking-server.json +18 -18
  326. package/docs/safety-index/artifacts/sequential-thinking-server.md +8 -8
  327. package/docs/safety-index/artifacts/shopify-mcp-server.json +66 -0
  328. package/docs/safety-index/artifacts/shopify-mcp-server.md +106 -0
  329. package/docs/safety-index/artifacts/shopify-mcp.json +66 -0
  330. package/docs/safety-index/artifacts/shopify-mcp.md +106 -0
  331. package/docs/safety-index/artifacts/shortcut-mcp-server.json +66 -0
  332. package/docs/safety-index/artifacts/shortcut-mcp-server.md +102 -0
  333. package/docs/safety-index/artifacts/slack-server.json +3 -3
  334. package/docs/safety-index/artifacts/slack-server.md +2 -2
  335. package/docs/safety-index/artifacts/smartbear-mcp-server.json +21483 -0
  336. package/docs/safety-index/artifacts/smartbear-mcp-server.md +900 -0
  337. package/docs/safety-index/artifacts/spotify-mcp.json +2071 -0
  338. package/docs/safety-index/artifacts/spotify-mcp.md +237 -0
  339. package/docs/safety-index/artifacts/spotify-server.json +66 -0
  340. package/docs/safety-index/artifacts/spotify-server.md +106 -0
  341. package/docs/safety-index/artifacts/sqlite-server.json +4 -4
  342. package/docs/safety-index/artifacts/sqlite-server.md +3 -3
  343. package/docs/safety-index/artifacts/stable-diffusion-server.json +66 -0
  344. package/docs/safety-index/artifacts/stable-diffusion-server.md +106 -0
  345. package/docs/safety-index/artifacts/stock-nse-india.json +66 -0
  346. package/docs/safety-index/artifacts/stock-nse-india.md +106 -0
  347. package/docs/safety-index/artifacts/storybook-mcp-server.json +66 -0
  348. package/docs/safety-index/artifacts/storybook-mcp-server.md +103 -0
  349. package/docs/safety-index/artifacts/stripe-server.json +3 -3
  350. package/docs/safety-index/artifacts/stripe-server.md +2 -2
  351. package/docs/safety-index/artifacts/supabase-server.json +3 -3
  352. package/docs/safety-index/artifacts/supabase-server.md +2 -2
  353. package/docs/safety-index/artifacts/tavily-search-server.json +4 -4
  354. package/docs/safety-index/artifacts/tavily-search-server.md +3 -3
  355. package/docs/safety-index/artifacts/telegram-mcp-server.json +66 -0
  356. package/docs/safety-index/artifacts/telegram-mcp-server.md +103 -0
  357. package/docs/safety-index/artifacts/telenor-pakistan-mcp.json +66 -0
  358. package/docs/safety-index/artifacts/telenor-pakistan-mcp.md +106 -0
  359. package/docs/safety-index/artifacts/textlocal-mcp.json +66 -0
  360. package/docs/safety-index/artifacts/textlocal-mcp.md +106 -0
  361. package/docs/safety-index/artifacts/tooljet-mcp.json +66 -0
  362. package/docs/safety-index/artifacts/tooljet-mcp.md +106 -0
  363. package/docs/safety-index/artifacts/transcend-server.json +3438 -0
  364. package/docs/safety-index/artifacts/transcend-server.md +277 -0
  365. package/docs/safety-index/artifacts/trello-mcp-server.json +916 -0
  366. package/docs/safety-index/artifacts/trello-mcp-server.md +211 -0
  367. package/docs/safety-index/artifacts/twilio-mcp.json +66 -0
  368. package/docs/safety-index/artifacts/twilio-mcp.md +106 -0
  369. package/docs/safety-index/artifacts/udyam-mcp.json +66 -0
  370. package/docs/safety-index/artifacts/udyam-mcp.md +106 -0
  371. package/docs/safety-index/artifacts/ufone-mcp.json +66 -0
  372. package/docs/safety-index/artifacts/ufone-mcp.md +106 -0
  373. package/docs/safety-index/artifacts/ui5-mcp-server.json +21 -21
  374. package/docs/safety-index/artifacts/ui5-mcp-server.md +10 -10
  375. package/docs/safety-index/artifacts/unity-server.json +66 -0
  376. package/docs/safety-index/artifacts/unity-server.md +102 -0
  377. package/docs/safety-index/artifacts/upi-mcp.json +452 -0
  378. package/docs/safety-index/artifacts/upi-mcp.md +201 -0
  379. package/docs/safety-index/artifacts/vercel-ai-server.json +4 -4
  380. package/docs/safety-index/artifacts/vercel-ai-server.md +3 -3
  381. package/docs/safety-index/artifacts/vimeo-server.json +66 -0
  382. package/docs/safety-index/artifacts/vimeo-server.md +106 -0
  383. package/docs/safety-index/artifacts/weather-server.json +66 -0
  384. package/docs/safety-index/artifacts/weather-server.md +106 -0
  385. package/docs/safety-index/artifacts/whatsapp-business-mcp.json +66 -0
  386. package/docs/safety-index/artifacts/whatsapp-business-mcp.md +106 -0
  387. package/docs/safety-index/artifacts/whatsapp-mcp-server.json +66 -0
  388. package/docs/safety-index/artifacts/whatsapp-mcp-server.md +106 -0
  389. package/docs/safety-index/artifacts/whatsapp-mcp.json +66 -0
  390. package/docs/safety-index/artifacts/whatsapp-mcp.md +106 -0
  391. package/docs/safety-index/artifacts/yahoo-finance-server.json +626 -0
  392. package/docs/safety-index/artifacts/yahoo-finance-server.md +187 -0
  393. package/docs/safety-index/artifacts/youtube-mcp-server.json +58 -0
  394. package/docs/safety-index/artifacts/youtube-mcp-server.md +96 -0
  395. package/docs/safety-index/artifacts/youtube-server.json +66 -0
  396. package/docs/safety-index/artifacts/youtube-server.md +103 -0
  397. package/docs/safety-index/artifacts/zendesk-mcp.json +66 -0
  398. package/docs/safety-index/artifacts/zendesk-mcp.md +106 -0
  399. package/docs/safety-index/artifacts/zillow-server.json +66 -0
  400. package/docs/safety-index/artifacts/zillow-server.md +102 -0
  401. package/docs/safety-index/artifacts/zong-mcp.json +66 -0
  402. package/docs/safety-index/artifacts/zong-mcp.md +106 -0
  403. package/docs/safety-index/targets.json +2145 -20
  404. package/package.json +10 -9
@@ -0,0 +1,66 @@
1
+ {
2
+ "artifactType": "run",
3
+ "schemaVersion": "1.0.0",
4
+ "gate": "fail",
5
+ "runId": "run_2026-07-15T223600962Z_4893f12e",
6
+ "createdAt": "2026-07-15T22:36:00.962Z",
7
+ "toolVersion": "1.32.1",
8
+ "target": {
9
+ "targetId": "rozgar-mcp",
10
+ "adapter": "local-process",
11
+ "command": "npx",
12
+ "args": [
13
+ "-y",
14
+ "rozgar-mcp"
15
+ ],
16
+ "cwd": ".",
17
+ "metadata": {
18
+ "package": "rozgar-mcp",
19
+ "purpose": "mcp-safety-index",
20
+ "riskClass": "Pakistani job platform API access",
21
+ "failureClass": "Job listing/application/candidate boundary",
22
+ "whyItMatters": "Rozgar.com is Pakistan's largest job platform serving millions of job seekers and employers. MCP servers exposing job listings, candidate applications, and recruiter tools handle sensitive employment data at national scale."
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 `rozgar-mcp`.\nCommand: npx -y rozgar-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 'rozgar-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_034Z-debug-0.log"
66
+ }
@@ -0,0 +1,106 @@
1
+ # MCP Observatory Run Report
2
+
3
+ Generated at 2026-07-15T22:36:00.962Z
4
+
5
+ ## Target and Environment Metadata
6
+
7
+ - Target: `rozgar-mcp`
8
+ - Adapter: `local-process`
9
+ - Command: `npx -y rozgar-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 `rozgar-mcp`.
47
+ Command: npx -y rozgar-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 'rozgar-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_034Z-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-15T223600962Z_4893f12e`
106
+ - Gate: `fail`
@@ -0,0 +1,467 @@
1
+ {
2
+ "artifactType": "run",
3
+ "schemaVersion": "1.0.0",
4
+ "gate": "pass",
5
+ "runId": "run_2026-07-15T223448113Z_d07bd219",
6
+ "createdAt": "2026-07-15T22:34:48.113Z",
7
+ "toolVersion": "1.32.1",
8
+ "target": {
9
+ "targetId": "s3-mcp-server",
10
+ "adapter": "local-process",
11
+ "command": "npx",
12
+ "args": [
13
+ "-y",
14
+ "mcp-server-s3"
15
+ ],
16
+ "cwd": ".",
17
+ "metadata": {
18
+ "package": "mcp-server-s3",
19
+ "purpose": "mcp-safety-index",
20
+ "riskClass": "Cloud object storage access",
21
+ "failureClass": "Bucket/object boundary",
22
+ "whyItMatters": "S3 MCP servers can list buckets, upload/download objects, and manage permissions — agents could access or modify cloud storage."
23
+ },
24
+ "serverName": "mcp-server-s3",
25
+ "serverVersion": "1.0.0"
26
+ },
27
+ "environment": {
28
+ "platform": "darwin 25.5.0",
29
+ "nodeVersion": "v22.22.1"
30
+ },
31
+ "summary": {
32
+ "total": 9,
33
+ "pass": 7,
34
+ "fail": 0,
35
+ "partial": 0,
36
+ "unsupported": 2,
37
+ "flaky": 0,
38
+ "skipped": 0,
39
+ "gate": "pass"
40
+ },
41
+ "checks": [
42
+ {
43
+ "id": "tools",
44
+ "capability": "tools",
45
+ "status": "pass",
46
+ "durationMs": 2.5657499999942956,
47
+ "message": "Advertised capability responded with the minimal expected shape (7 items).",
48
+ "evidence": [
49
+ {
50
+ "endpoint": "tools/list",
51
+ "advertised": true,
52
+ "responded": true,
53
+ "minimalShapePresent": true,
54
+ "itemCount": 7,
55
+ "identifiers": [
56
+ "list_buckets",
57
+ "list_objects",
58
+ "get_object",
59
+ "put_object",
60
+ "delete_object",
61
+ "presigned_url",
62
+ "bucket_info"
63
+ ],
64
+ "diagnostics": [],
65
+ "schemas": {
66
+ "list_buckets": {
67
+ "type": "object",
68
+ "properties": {},
69
+ "$schema": "http://json-schema.org/draft-07/schema#"
70
+ },
71
+ "list_objects": {
72
+ "type": "object",
73
+ "properties": {
74
+ "bucket": {
75
+ "type": "string",
76
+ "description": "Bucket name"
77
+ },
78
+ "prefix": {
79
+ "type": "string",
80
+ "description": "Key prefix (e.g. 'uploads/')"
81
+ },
82
+ "maxKeys": {
83
+ "type": "integer",
84
+ "minimum": 1,
85
+ "maximum": 1000,
86
+ "default": 100,
87
+ "description": "Max objects to return"
88
+ }
89
+ },
90
+ "required": [
91
+ "bucket"
92
+ ],
93
+ "additionalProperties": false,
94
+ "$schema": "http://json-schema.org/draft-07/schema#"
95
+ },
96
+ "get_object": {
97
+ "type": "object",
98
+ "properties": {
99
+ "bucket": {
100
+ "type": "string",
101
+ "description": "Bucket name"
102
+ },
103
+ "key": {
104
+ "type": "string",
105
+ "description": "Object key"
106
+ }
107
+ },
108
+ "required": [
109
+ "bucket",
110
+ "key"
111
+ ],
112
+ "additionalProperties": false,
113
+ "$schema": "http://json-schema.org/draft-07/schema#"
114
+ },
115
+ "put_object": {
116
+ "type": "object",
117
+ "properties": {
118
+ "bucket": {
119
+ "type": "string",
120
+ "description": "Bucket name"
121
+ },
122
+ "key": {
123
+ "type": "string",
124
+ "description": "Object key"
125
+ },
126
+ "content": {
127
+ "type": "string",
128
+ "description": "Content to upload"
129
+ },
130
+ "contentType": {
131
+ "type": "string",
132
+ "description": "Content-Type header (default: text/plain)"
133
+ }
134
+ },
135
+ "required": [
136
+ "bucket",
137
+ "key",
138
+ "content"
139
+ ],
140
+ "additionalProperties": false,
141
+ "$schema": "http://json-schema.org/draft-07/schema#"
142
+ },
143
+ "delete_object": {
144
+ "type": "object",
145
+ "properties": {
146
+ "bucket": {
147
+ "type": "string",
148
+ "description": "Bucket name"
149
+ },
150
+ "key": {
151
+ "type": "string",
152
+ "description": "Object key"
153
+ }
154
+ },
155
+ "required": [
156
+ "bucket",
157
+ "key"
158
+ ],
159
+ "additionalProperties": false,
160
+ "$schema": "http://json-schema.org/draft-07/schema#"
161
+ },
162
+ "presigned_url": {
163
+ "type": "object",
164
+ "properties": {
165
+ "bucket": {
166
+ "type": "string",
167
+ "description": "Bucket name"
168
+ },
169
+ "key": {
170
+ "type": "string",
171
+ "description": "Object key"
172
+ },
173
+ "expiresIn": {
174
+ "type": "integer",
175
+ "minimum": 60,
176
+ "maximum": 604800,
177
+ "default": 3600,
178
+ "description": "URL expiry in seconds (default: 1 hour)"
179
+ }
180
+ },
181
+ "required": [
182
+ "bucket",
183
+ "key"
184
+ ],
185
+ "additionalProperties": false,
186
+ "$schema": "http://json-schema.org/draft-07/schema#"
187
+ },
188
+ "bucket_info": {
189
+ "type": "object",
190
+ "properties": {
191
+ "bucket": {
192
+ "type": "string",
193
+ "description": "Bucket name"
194
+ }
195
+ },
196
+ "required": [
197
+ "bucket"
198
+ ],
199
+ "additionalProperties": false,
200
+ "$schema": "http://json-schema.org/draft-07/schema#"
201
+ }
202
+ }
203
+ }
204
+ ]
205
+ },
206
+ {
207
+ "id": "prompts",
208
+ "capability": "prompts",
209
+ "status": "unsupported",
210
+ "durationMs": 0.0009160000045085326,
211
+ "message": "Prompts are not advertised by the target.",
212
+ "evidence": [
213
+ {
214
+ "endpoint": "prompts/list",
215
+ "advertised": false,
216
+ "responded": false,
217
+ "minimalShapePresent": false,
218
+ "diagnostics": []
219
+ }
220
+ ]
221
+ },
222
+ {
223
+ "id": "resources",
224
+ "capability": "resources",
225
+ "status": "unsupported",
226
+ "durationMs": 0.0007080000068526715,
227
+ "message": "Resources are not advertised by the target.",
228
+ "evidence": [
229
+ {
230
+ "endpoint": "resources/list | resources/templates/list",
231
+ "advertised": false,
232
+ "responded": false,
233
+ "minimalShapePresent": false,
234
+ "diagnostics": []
235
+ }
236
+ ]
237
+ },
238
+ {
239
+ "id": "security-lite",
240
+ "capability": "security-lite",
241
+ "status": "pass",
242
+ "durationMs": 0.02154199998767581,
243
+ "message": "No security issues detected (lightweight scan).",
244
+ "evidence": [
245
+ {
246
+ "endpoint": "security/scan-lite",
247
+ "advertised": true,
248
+ "responded": true,
249
+ "minimalShapePresent": true,
250
+ "itemCount": 0
251
+ }
252
+ ]
253
+ },
254
+ {
255
+ "id": "runtime-profile",
256
+ "capability": "runtime-profile",
257
+ "status": "pass",
258
+ "durationMs": 0.08004099999379832,
259
+ "message": "Detected 2 potential egress target(s) and 2 potential state mutation(s) with low confidence.",
260
+ "evidence": [
261
+ {
262
+ "endpoint": "runtime-profile/analyze",
263
+ "advertised": true,
264
+ "responded": true,
265
+ "minimalShapePresent": true,
266
+ "itemCount": 4,
267
+ "diagnostics": [
268
+ "Egress entries: 2",
269
+ "State mutations: 2",
270
+ "Confidence: medium"
271
+ ],
272
+ "findings": [
273
+ {
274
+ "target": "URL expiry in seconds (default: 1 hour)",
275
+ "protocol": "unknown",
276
+ "source": "description_analysis",
277
+ "confidence": "medium"
278
+ },
279
+ {
280
+ "target": "presigned_url",
281
+ "protocol": "unknown",
282
+ "source": "description_analysis",
283
+ "confidence": "low"
284
+ },
285
+ {
286
+ "resource": "filesystem",
287
+ "operation": "write",
288
+ "scope": "working_directory",
289
+ "source": "description_analysis"
290
+ },
291
+ {
292
+ "resource": "filesystem",
293
+ "operation": "delete",
294
+ "scope": "working_directory",
295
+ "source": "description_analysis"
296
+ }
297
+ ]
298
+ }
299
+ ]
300
+ },
301
+ {
302
+ "id": "conformance",
303
+ "capability": "conformance",
304
+ "status": "pass",
305
+ "durationMs": 2022.8334170000016,
306
+ "message": "All 7 conformance checks passed.",
307
+ "evidence": [
308
+ {
309
+ "endpoint": "conformance/check",
310
+ "advertised": true,
311
+ "responded": true,
312
+ "minimalShapePresent": true,
313
+ "itemCount": 7,
314
+ "identifiers": [],
315
+ "diagnostics": [
316
+ "[pass] capabilities-present: Server returned capabilities object.",
317
+ "[pass] server-info: Server provided initialization info.",
318
+ "[pass] tools-capability-match: tools/list returned 7 tool(s).",
319
+ "[pass] prompts-capability-match: Prompts not advertised — endpoint check skipped.",
320
+ "[pass] resources-capability-match: Resources not advertised — endpoint check skipped.",
321
+ "[pass] tool-response-content: Tool \"list_buckets\" response has valid content array.",
322
+ "[pass] error-handling: Server returned proper error code -32601 for unknown method."
323
+ ]
324
+ }
325
+ ]
326
+ },
327
+ {
328
+ "id": "schema-quality",
329
+ "capability": "schema-quality",
330
+ "status": "pass",
331
+ "durationMs": 2.2318340000056196,
332
+ "message": "All 7 item(s) have good schema quality.",
333
+ "evidence": [
334
+ {
335
+ "endpoint": "schema-quality/scan",
336
+ "advertised": true,
337
+ "responded": true,
338
+ "minimalShapePresent": true,
339
+ "itemCount": 0,
340
+ "identifiers": []
341
+ }
342
+ ]
343
+ },
344
+ {
345
+ "id": "security",
346
+ "capability": "security",
347
+ "status": "pass",
348
+ "durationMs": 1.462375000002794,
349
+ "message": "No security issues detected.",
350
+ "evidence": [
351
+ {
352
+ "endpoint": "security/scan",
353
+ "advertised": true,
354
+ "responded": true,
355
+ "minimalShapePresent": true,
356
+ "itemCount": 0
357
+ }
358
+ ]
359
+ },
360
+ {
361
+ "id": "attack-sim",
362
+ "capability": "attack-sim",
363
+ "status": "pass",
364
+ "durationMs": 2.720667000001413,
365
+ "message": "Safe attack simulation found no high-risk MCP attack-readiness findings.",
366
+ "evidence": [
367
+ {
368
+ "endpoint": "attack-sim/safe",
369
+ "advertised": true,
370
+ "responded": true,
371
+ "minimalShapePresent": true,
372
+ "itemCount": 0,
373
+ "identifiers": []
374
+ }
375
+ ]
376
+ }
377
+ ],
378
+ "healthScore": {
379
+ "overall": 93,
380
+ "grade": "A",
381
+ "dimensions": [
382
+ {
383
+ "name": "Protocol Compliance",
384
+ "weight": 0.3,
385
+ "score": 100,
386
+ "details": [
387
+ "conformance: pass (100/100)"
388
+ ]
389
+ },
390
+ {
391
+ "name": "Schema Quality",
392
+ "weight": 0.2,
393
+ "score": 100,
394
+ "details": [
395
+ "schema-quality: pass (100/100)"
396
+ ]
397
+ },
398
+ {
399
+ "name": "Security",
400
+ "weight": 0.2,
401
+ "score": 100,
402
+ "details": [
403
+ "security-lite: pass (100/100)",
404
+ "security: pass (100/100)",
405
+ "attack-sim: pass (100/100)"
406
+ ]
407
+ },
408
+ {
409
+ "name": "Reliability",
410
+ "weight": 0.2,
411
+ "score": 67,
412
+ "details": [
413
+ "tools: pass (100/100)",
414
+ "prompts: unsupported (50/100)",
415
+ "resources: unsupported (50/100)"
416
+ ]
417
+ },
418
+ {
419
+ "name": "Performance",
420
+ "weight": 0.1,
421
+ "score": 100,
422
+ "details": [
423
+ "Connect: 825ms",
424
+ "p95 latency: 3ms (3 operations)"
425
+ ]
426
+ }
427
+ ]
428
+ },
429
+ "performanceMetrics": {
430
+ "connectMs": 824.7431250000081,
431
+ "toolsListMs": 2.5657499999942956,
432
+ "promptsListMs": 0.0009160000045085326,
433
+ "resourcesListMs": 0.0007080000068526715
434
+ },
435
+ "runtimeProfile": {
436
+ "egress": [
437
+ {
438
+ "target": "URL expiry in seconds (default: 1 hour)",
439
+ "protocol": "unknown",
440
+ "source": "description_analysis",
441
+ "confidence": "medium"
442
+ },
443
+ {
444
+ "target": "presigned_url",
445
+ "protocol": "unknown",
446
+ "source": "description_analysis",
447
+ "confidence": "low"
448
+ }
449
+ ],
450
+ "stateMutations": [
451
+ {
452
+ "resource": "filesystem",
453
+ "operation": "write",
454
+ "scope": "working_directory",
455
+ "source": "description_analysis"
456
+ },
457
+ {
458
+ "resource": "filesystem",
459
+ "operation": "delete",
460
+ "scope": "working_directory",
461
+ "source": "description_analysis"
462
+ }
463
+ ],
464
+ "analyzedAt": "2026-07-15T22:34:48.941Z",
465
+ "confidence": "medium"
466
+ }
467
+ }