@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,400 @@
1
+ {
2
+ "artifactType": "run",
3
+ "schemaVersion": "1.0.0",
4
+ "gate": "pass",
5
+ "runId": "run_2026-07-15T223343871Z_76d97aab",
6
+ "createdAt": "2026-07-15T22:33:43.871Z",
7
+ "toolVersion": "1.32.1",
8
+ "target": {
9
+ "targetId": "exa-server",
10
+ "adapter": "local-process",
11
+ "command": "npx",
12
+ "args": [
13
+ "-y",
14
+ "exa-mcp-server"
15
+ ],
16
+ "cwd": ".",
17
+ "metadata": {
18
+ "package": "exa-mcp-server",
19
+ "purpose": "mcp-safety-index",
20
+ "riskClass": "Untrusted content retrieval",
21
+ "failureClass": "Search result boundary",
22
+ "whyItMatters": "Exa MCP servers return web search and crawling results into agent context from untrusted sources."
23
+ },
24
+ "serverName": "exa-search-server",
25
+ "serverVersion": "3.2.1"
26
+ },
27
+ "environment": {
28
+ "platform": "darwin 25.5.0",
29
+ "nodeVersion": "v22.22.1"
30
+ },
31
+ "summary": {
32
+ "total": 9,
33
+ "pass": 8,
34
+ "fail": 0,
35
+ "partial": 1,
36
+ "unsupported": 0,
37
+ "flaky": 0,
38
+ "skipped": 0,
39
+ "gate": "pass"
40
+ },
41
+ "checks": [
42
+ {
43
+ "id": "tools",
44
+ "capability": "tools",
45
+ "status": "pass",
46
+ "durationMs": 1.6132909999978438,
47
+ "message": "Advertised capability responded with the minimal expected shape (2 items).",
48
+ "evidence": [
49
+ {
50
+ "endpoint": "tools/list",
51
+ "advertised": true,
52
+ "responded": true,
53
+ "minimalShapePresent": true,
54
+ "itemCount": 2,
55
+ "identifiers": [
56
+ "web_search_exa",
57
+ "web_fetch_exa"
58
+ ],
59
+ "diagnostics": [
60
+ "[EXA-MCP-DEBUG] Server initialized with modern MCP SDK and Smithery CLI support",
61
+ "(node:78910) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
62
+ "(Use `node --trace-deprecation ...` to show where the warning was created)",
63
+ "[smithery] MCP server connected to stdio transport",
64
+ "[smithery] Configuration loaded: { debug: false }"
65
+ ],
66
+ "schemas": {
67
+ "web_search_exa": {
68
+ "type": "object",
69
+ "properties": {
70
+ "query": {
71
+ "type": "string",
72
+ "description": "Natural language search query. Should be a semantically rich description of the ideal page, not just keywords. Optionally include category:<type> (company, people) to focus results — e.g. 'category:people John Doe software engineer'."
73
+ },
74
+ "numResults": {
75
+ "type": "number",
76
+ "minimum": 1,
77
+ "maximum": 100,
78
+ "description": "Number of search results to return (must be a number, default: 10)."
79
+ }
80
+ },
81
+ "required": [
82
+ "query"
83
+ ],
84
+ "additionalProperties": false,
85
+ "$schema": "http://json-schema.org/draft-07/schema#"
86
+ },
87
+ "web_fetch_exa": {
88
+ "type": "object",
89
+ "properties": {
90
+ "urls": {
91
+ "type": "array",
92
+ "items": {
93
+ "type": "string"
94
+ },
95
+ "description": "URLs to read. Batch multiple URLs in one call."
96
+ },
97
+ "maxCharacters": {
98
+ "type": "number",
99
+ "minimum": 1,
100
+ "description": "Maximum characters to extract per page (must be a positive number, default: 3000)"
101
+ }
102
+ },
103
+ "required": [
104
+ "urls"
105
+ ],
106
+ "additionalProperties": false,
107
+ "$schema": "http://json-schema.org/draft-07/schema#"
108
+ }
109
+ }
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "id": "prompts",
115
+ "capability": "prompts",
116
+ "status": "pass",
117
+ "durationMs": 0.25483299999905284,
118
+ "message": "Advertised capability responded with the minimal expected shape (1 item).",
119
+ "evidence": [
120
+ {
121
+ "endpoint": "prompts/list",
122
+ "advertised": true,
123
+ "responded": true,
124
+ "minimalShapePresent": true,
125
+ "itemCount": 1,
126
+ "identifiers": [
127
+ "web_search_help"
128
+ ],
129
+ "diagnostics": [
130
+ "[EXA-MCP-DEBUG] Server initialized with modern MCP SDK and Smithery CLI support",
131
+ "(node:78910) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
132
+ "(Use `node --trace-deprecation ...` to show where the warning was created)",
133
+ "[smithery] MCP server connected to stdio transport",
134
+ "[smithery] Configuration loaded: { debug: false }"
135
+ ]
136
+ }
137
+ ]
138
+ },
139
+ {
140
+ "id": "resources",
141
+ "capability": "resources",
142
+ "status": "pass",
143
+ "durationMs": 0.6565000000009604,
144
+ "message": "Advertised capability responded with the minimal expected shape (1 items).",
145
+ "evidence": [
146
+ {
147
+ "endpoint": "resources/list",
148
+ "advertised": true,
149
+ "responded": true,
150
+ "minimalShapePresent": true,
151
+ "itemCount": 1,
152
+ "identifiers": [
153
+ "exa://tools/list"
154
+ ],
155
+ "diagnostics": [
156
+ "[EXA-MCP-DEBUG] Server initialized with modern MCP SDK and Smithery CLI support",
157
+ "(node:78910) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
158
+ "(Use `node --trace-deprecation ...` to show where the warning was created)",
159
+ "[smithery] MCP server connected to stdio transport",
160
+ "[smithery] Configuration loaded: { debug: false }"
161
+ ]
162
+ },
163
+ {
164
+ "endpoint": "resources/templates/list",
165
+ "advertised": true,
166
+ "responded": true,
167
+ "minimalShapePresent": true,
168
+ "itemCount": 0,
169
+ "identifiers": [],
170
+ "diagnostics": [
171
+ "[EXA-MCP-DEBUG] Server initialized with modern MCP SDK and Smithery CLI support",
172
+ "(node:78910) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
173
+ "(Use `node --trace-deprecation ...` to show where the warning was created)",
174
+ "[smithery] MCP server connected to stdio transport",
175
+ "[smithery] Configuration loaded: { debug: false }"
176
+ ]
177
+ }
178
+ ]
179
+ },
180
+ {
181
+ "id": "security-lite",
182
+ "capability": "security-lite",
183
+ "status": "pass",
184
+ "durationMs": 0.018374999999650754,
185
+ "message": "No security issues detected (lightweight scan).",
186
+ "evidence": [
187
+ {
188
+ "endpoint": "security/scan-lite",
189
+ "advertised": true,
190
+ "responded": true,
191
+ "minimalShapePresent": true,
192
+ "itemCount": 0
193
+ }
194
+ ]
195
+ },
196
+ {
197
+ "id": "runtime-profile",
198
+ "capability": "runtime-profile",
199
+ "status": "pass",
200
+ "durationMs": 0.05124999999679858,
201
+ "message": "Detected 1 potential egress target(s) and 0 potential state mutation(s) with low confidence.",
202
+ "evidence": [
203
+ {
204
+ "endpoint": "runtime-profile/analyze",
205
+ "advertised": true,
206
+ "responded": true,
207
+ "minimalShapePresent": true,
208
+ "itemCount": 1,
209
+ "diagnostics": [
210
+ "Egress entries: 1",
211
+ "State mutations: 0",
212
+ "Confidence: medium"
213
+ ],
214
+ "findings": [
215
+ {
216
+ "target": "web_fetch_exa",
217
+ "protocol": "unknown",
218
+ "source": "description_analysis",
219
+ "confidence": "low"
220
+ }
221
+ ]
222
+ }
223
+ ]
224
+ },
225
+ {
226
+ "id": "conformance",
227
+ "capability": "conformance",
228
+ "status": "pass",
229
+ "durationMs": 0.8843749999978172,
230
+ "message": "All 7 conformance checks passed.",
231
+ "evidence": [
232
+ {
233
+ "endpoint": "conformance/check",
234
+ "advertised": true,
235
+ "responded": true,
236
+ "minimalShapePresent": true,
237
+ "itemCount": 7,
238
+ "identifiers": [],
239
+ "diagnostics": [
240
+ "[pass] capabilities-present: Server returned capabilities object.",
241
+ "[pass] server-info: Server provided initialization info.",
242
+ "[pass] tools-capability-match: tools/list returned 2 tool(s).",
243
+ "[pass] prompts-capability-match: prompts/list returned 1 prompt(s).",
244
+ "[pass] resources-capability-match: resources/list returned 1 resource(s).",
245
+ "[pass] tool-response-content: No safe tool to invoke — content validation skipped.",
246
+ "[pass] error-handling: Server returned proper error code -32601 for unknown method."
247
+ ]
248
+ }
249
+ ]
250
+ },
251
+ {
252
+ "id": "schema-quality",
253
+ "capability": "schema-quality",
254
+ "status": "pass",
255
+ "durationMs": 0.6728750000002037,
256
+ "message": "All 4 item(s) have good schema quality.",
257
+ "evidence": [
258
+ {
259
+ "endpoint": "schema-quality/scan",
260
+ "advertised": true,
261
+ "responded": true,
262
+ "minimalShapePresent": true,
263
+ "itemCount": 0,
264
+ "identifiers": []
265
+ }
266
+ ]
267
+ },
268
+ {
269
+ "id": "security",
270
+ "capability": "security",
271
+ "status": "pass",
272
+ "durationMs": 0.2727919999997539,
273
+ "message": "No security issues detected.",
274
+ "evidence": [
275
+ {
276
+ "endpoint": "security/scan",
277
+ "advertised": true,
278
+ "responded": true,
279
+ "minimalShapePresent": true,
280
+ "itemCount": 0
281
+ }
282
+ ]
283
+ },
284
+ {
285
+ "id": "attack-sim",
286
+ "capability": "attack-sim",
287
+ "status": "partial",
288
+ "durationMs": 0.4913750000014261,
289
+ "message": "Safe attack simulation found 1 finding(s): 0 high, 1 medium, 0 low.",
290
+ "evidence": [
291
+ {
292
+ "endpoint": "attack-sim/safe",
293
+ "advertised": true,
294
+ "responded": true,
295
+ "minimalShapePresent": true,
296
+ "itemCount": 1,
297
+ "identifiers": [
298
+ "web_search_exa"
299
+ ],
300
+ "diagnostics": [
301
+ "[medium] Tool \"web_search_exa\" combines broad parameters (query) with destructive or non-read-only behavior."
302
+ ],
303
+ "findings": [
304
+ {
305
+ "ruleId": "attack-sim/permission-boundary/broad-destructive-tool",
306
+ "attackClass": "permission-boundary",
307
+ "severity": "medium",
308
+ "itemType": "tool",
309
+ "itemName": "web_search_exa",
310
+ "message": "Tool \"web_search_exa\" combines broad parameters (query) with destructive or non-read-only behavior.",
311
+ "evidence": {
312
+ "broadParams": [
313
+ "query"
314
+ ],
315
+ "annotations": {
316
+ "readOnlyHint": true,
317
+ "destructiveHint": false,
318
+ "idempotentHint": true,
319
+ "openWorldHint": false
320
+ },
321
+ "description": "Search the web for any topic and get clean, ready-to-use content.\n\n Best for: Finding current information, news, facts, people, companies, or answering questions about any topic.\n Returns: Clean text content from top search results.\n\n Query tips: \n describe the ideal page, not keywords. \"blog post comparing React and Vue performance\" not \"React vs Vue\".\n Use category:people / category:company to search through Linkedin profiles / companies respectively.\n If highlights are insufficient, follow up with web_fetch_exa on the best URLs."
322
+ },
323
+ "recommendation": "Constrain this tool with typed inputs, allowlists, explicit read-only/destructive annotations, and a harmless CI fixture.",
324
+ "recommendedAction": "gate"
325
+ }
326
+ ]
327
+ }
328
+ ]
329
+ }
330
+ ],
331
+ "healthScore": {
332
+ "overall": 97,
333
+ "grade": "A",
334
+ "dimensions": [
335
+ {
336
+ "name": "Protocol Compliance",
337
+ "weight": 0.3,
338
+ "score": 100,
339
+ "details": [
340
+ "conformance: pass (100/100)"
341
+ ]
342
+ },
343
+ {
344
+ "name": "Schema Quality",
345
+ "weight": 0.2,
346
+ "score": 100,
347
+ "details": [
348
+ "schema-quality: pass (100/100)"
349
+ ]
350
+ },
351
+ {
352
+ "name": "Security",
353
+ "weight": 0.2,
354
+ "score": 87,
355
+ "details": [
356
+ "security-lite: pass (100/100)",
357
+ "security: pass (100/100)",
358
+ "attack-sim: partial (60/100)"
359
+ ]
360
+ },
361
+ {
362
+ "name": "Reliability",
363
+ "weight": 0.2,
364
+ "score": 100,
365
+ "details": [
366
+ "tools: pass (100/100)",
367
+ "prompts: pass (100/100)",
368
+ "resources: pass (100/100)"
369
+ ]
370
+ },
371
+ {
372
+ "name": "Performance",
373
+ "weight": 0.1,
374
+ "score": 100,
375
+ "details": [
376
+ "Connect: 764ms",
377
+ "p95 latency: 2ms (3 operations)"
378
+ ]
379
+ }
380
+ ]
381
+ },
382
+ "performanceMetrics": {
383
+ "connectMs": 764.1236669999998,
384
+ "toolsListMs": 1.6132909999978438,
385
+ "promptsListMs": 0.25483299999905284,
386
+ "resourcesListMs": 0.6565000000009604
387
+ },
388
+ "runtimeProfile": {
389
+ "egress": [
390
+ {
391
+ "target": "web_fetch_exa",
392
+ "protocol": "unknown",
393
+ "source": "description_analysis",
394
+ "confidence": "low"
395
+ }
396
+ ],
397
+ "analyzedAt": "2026-07-15T22:33:44.639Z",
398
+ "confidence": "medium"
399
+ }
400
+ }
@@ -0,0 +1,207 @@
1
+ # MCP Observatory Run Report
2
+
3
+ Generated at 2026-07-15T22:33:43.871Z
4
+
5
+ ## Target and Environment Metadata
6
+
7
+ - Target: `exa-server`
8
+ - Adapter: `local-process`
9
+ - Command: `npx -y exa-mcp-server`
10
+ - Server: `exa-search-server 3.2.1`
11
+ - Platform: `darwin 25.5.0`
12
+ - Node: `v22.22.1`
13
+
14
+ ## Executive Summary
15
+
16
+ **Health Score: 97/100 (A)**
17
+
18
+ | Dimension | Score | Weight |
19
+ | --- | --- | --- |
20
+ | Protocol Compliance | 100/100 | 30% |
21
+ | Schema Quality | 100/100 | 20% |
22
+ | Security | 87/100 | 20% |
23
+ | Reliability | 100/100 | 20% |
24
+ | Performance | 100/100 | 10% |
25
+
26
+ | Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
27
+ | --- | --- | --- | --- | --- | --- | --- | --- |
28
+ | pass | 9 | 8 | 0 | 1 | 0 | 0 | 0 |
29
+
30
+ ## At a Glance
31
+
32
+ - Safety verdict: **Needs review** — The server is usable, but caveated checks should be reviewed before agents depend on it.
33
+ - Top risks: attack-sim: Safe attack simulation found 1 finding(s): 0 high, 1 medium, 0 low.
34
+ - Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
35
+ - Failing checks: none
36
+ - Partial or flaky checks: attack-sim
37
+ - Skipped checks: none
38
+ - Unsupported checks: none
39
+ - Suggested next step: Review the caveated checks next: 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
+ - 🔒 filesystem_mutation: Filesystem write operations were not exercised
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: **medium**):
53
+
54
+ | Target | Protocol | Source | Confidence |
55
+ | --- | --- | --- | --- |
56
+ | web_fetch_exa | unknown | description_analysis | low |
57
+
58
+ _Analyzed at 2026-07-15T22:33:44.639Z_
59
+
60
+ ## Regressions and Recoveries
61
+
62
+ _Use the `diff` command against another run artifact to classify regressions and recoveries over time._
63
+
64
+ ## Full Capability Status Table
65
+
66
+ | Focus | Check | Status | Duration (ms) | Message |
67
+ | --- | --- | --- | --- | --- |
68
+ | healthy | conformance | pass | 0.88 | All 7 conformance checks passed. |
69
+ | healthy | prompts | pass | 0.25 | Advertised capability responded with the minimal expected shape (1 item). |
70
+ | healthy | resources | pass | 0.66 | Advertised capability responded with the minimal expected shape (1 items). |
71
+ | healthy | runtime-profile | pass | 0.05 | Detected 1 potential egress target(s) and 0 potential state mutation(s) with low confidence. |
72
+ | healthy | schema-quality | pass | 0.67 | All 4 item(s) have good schema quality. |
73
+ | healthy | security | pass | 0.27 | No security issues detected. |
74
+ | healthy | security-lite | pass | 0.02 | No security issues detected (lightweight scan). |
75
+ | healthy | tools | pass | 1.61 | Advertised capability responded with the minimal expected shape (2 items). |
76
+ | review | attack-sim | partial | 0.49 | Safe attack simulation found 1 finding(s): 0 high, 1 medium, 0 low. |
77
+
78
+ ## Evidence Snippets
79
+
80
+ ### conformance — pass
81
+
82
+ Summary: All 7 conformance checks passed.
83
+
84
+ - Endpoint: `conformance/check`
85
+ - Advertised: `true`
86
+ - Responded: `true`
87
+ - Minimal shape present: `true`
88
+ - Item count: `7`
89
+ - Identifiers: none
90
+ - Diagnostics: [pass] capabilities-present: Server returned capabilities object., [pass] server-info: Server provided initialization info., [pass] tools-capability-match: tools/list returned 2 tool(s). (+4 more)
91
+
92
+ ### prompts — pass
93
+
94
+ Summary: Advertised capability responded with the minimal expected shape (1 item).
95
+
96
+ - Endpoint: `prompts/list`
97
+ - Advertised: `true`
98
+ - Responded: `true`
99
+ - Minimal shape present: `true`
100
+ - Item count: `1`
101
+ - Identifiers: web_search_help
102
+ - Diagnostics: [EXA-MCP-DEBUG] Server initialized with modern MCP SDK and Smithery CLI support, (node:78910) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead., (Use `node --trace-deprecation ...` to show where the warning was created) (+2 more)
103
+
104
+ ### resources — pass
105
+
106
+ Summary: Advertised capability responded with the minimal expected shape (1 items).
107
+
108
+ - Endpoint: `resources/list`
109
+ - Advertised: `true`
110
+ - Responded: `true`
111
+ - Minimal shape present: `true`
112
+ - Item count: `1`
113
+ - Identifiers: exa://tools/list
114
+ - Diagnostics: [EXA-MCP-DEBUG] Server initialized with modern MCP SDK and Smithery CLI support, (node:78910) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead., (Use `node --trace-deprecation ...` to show where the warning was created) (+2 more)
115
+ - Endpoint: `resources/templates/list`
116
+ - Advertised: `true`
117
+ - Responded: `true`
118
+ - Minimal shape present: `true`
119
+ - Item count: `0`
120
+ - Identifiers: none
121
+ - Diagnostics: [EXA-MCP-DEBUG] Server initialized with modern MCP SDK and Smithery CLI support, (node:78910) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead., (Use `node --trace-deprecation ...` to show where the warning was created) (+2 more)
122
+
123
+ ### runtime-profile — pass
124
+
125
+ Summary: Detected 1 potential egress target(s) and 0 potential state mutation(s) with low confidence.
126
+
127
+ - Endpoint: `runtime-profile/analyze`
128
+ - Advertised: `true`
129
+ - Responded: `true`
130
+ - Minimal shape present: `true`
131
+ - Item count: `1`
132
+ - Identifiers: none
133
+ - Diagnostics: Egress entries: 1, State mutations: 0, Confidence: medium
134
+
135
+ ### schema-quality — pass
136
+
137
+ Summary: All 4 item(s) have good schema quality.
138
+
139
+ - Endpoint: `schema-quality/scan`
140
+ - Advertised: `true`
141
+ - Responded: `true`
142
+ - Minimal shape present: `true`
143
+ - Item count: `0`
144
+ - Identifiers: none
145
+ - Diagnostics: none
146
+
147
+ ### security — pass
148
+
149
+ Summary: No security issues detected.
150
+
151
+ - Endpoint: `security/scan`
152
+ - Advertised: `true`
153
+ - Responded: `true`
154
+ - Minimal shape present: `true`
155
+ - Item count: `0`
156
+ - Identifiers: none
157
+ - Diagnostics: none
158
+
159
+ ### security-lite — pass
160
+
161
+ Summary: No security issues detected (lightweight scan).
162
+
163
+ - Endpoint: `security/scan-lite`
164
+ - Advertised: `true`
165
+ - Responded: `true`
166
+ - Minimal shape present: `true`
167
+ - Item count: `0`
168
+ - Identifiers: none
169
+ - Diagnostics: none
170
+
171
+ ### tools — pass
172
+
173
+ Summary: Advertised capability responded with the minimal expected shape (2 items).
174
+
175
+ - Endpoint: `tools/list`
176
+ - Advertised: `true`
177
+ - Responded: `true`
178
+ - Minimal shape present: `true`
179
+ - Item count: `2`
180
+ - Identifiers: web_search_exa, web_fetch_exa
181
+ - Diagnostics: [EXA-MCP-DEBUG] Server initialized with modern MCP SDK and Smithery CLI support, (node:78910) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead., (Use `node --trace-deprecation ...` to show where the warning was created) (+2 more)
182
+
183
+ ### attack-sim — partial
184
+
185
+ Summary: Safe attack simulation found 1 finding(s): 0 high, 1 medium, 0 low.
186
+
187
+ - Endpoint: `attack-sim/safe`
188
+ - Advertised: `true`
189
+ - Responded: `true`
190
+ - Minimal shape present: `true`
191
+ - Item count: `1`
192
+ - Identifiers: web_search_exa
193
+ - Diagnostics: [medium] Tool "web_search_exa" combines broad parameters (query) with destructive or non-read-only behavior.
194
+
195
+ ## Reproduction Commands
196
+
197
+ ```bash
198
+ npm run cli -- run --target <path-to-target-config.json>
199
+ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
200
+ ```
201
+
202
+ ## Artifact Provenance
203
+
204
+ - Artifact type: `run`
205
+ - Schema version: `1.0.0`
206
+ - Run ID: `run_2026-07-15T223343871Z_76d97aab`
207
+ - Gate: `pass`