@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.
- package/README.md +9 -13
- package/README.zh-CN.md +4 -10
- package/dist/src/adapters/base.d.ts +14 -0
- package/dist/src/adapters/base.js +2 -0
- package/dist/src/adapters/base.js.map +1 -0
- package/dist/src/checks/semantics.d.ts +2 -0
- package/dist/src/checks/semantics.js +48 -0
- package/dist/src/checks/semantics.js.map +1 -0
- package/dist/src/cli.js +8 -2
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/audit.js +7 -1
- package/dist/src/commands/audit.js.map +1 -1
- package/dist/src/commands/enforce.d.ts +2 -2
- package/dist/src/commands/enforce.js +19 -11
- package/dist/src/commands/enforce.js.map +1 -1
- package/dist/src/commands/helpers.d.ts +2 -0
- package/dist/src/commands/helpers.js +8 -1
- package/dist/src/commands/helpers.js.map +1 -1
- package/dist/src/commands/scan.d.ts +14 -0
- package/dist/src/commands/scan.js +42 -3
- package/dist/src/commands/scan.js.map +1 -1
- package/dist/src/commands/score.js +22 -1
- package/dist/src/commands/score.js.map +1 -1
- package/dist/src/commands/skill-scan.js +5 -3
- package/dist/src/commands/skill-scan.js.map +1 -1
- package/dist/src/commands/test.d.ts +19 -0
- package/dist/src/commands/test.js +70 -4
- package/dist/src/commands/test.js.map +1 -1
- package/dist/src/commercial.js +2 -2
- package/dist/src/commercial.js.map +1 -1
- package/dist/src/diff/diff.d.ts +2 -0
- package/dist/src/diff/diff.js +81 -0
- package/dist/src/diff/diff.js.map +1 -0
- package/dist/src/reporters/json.d.ts +2 -0
- package/dist/src/reporters/json.js +4 -0
- package/dist/src/reporters/json.js.map +1 -0
- package/dist/src/runner/runner.d.ts +2 -0
- package/dist/src/runner/runner.js +135 -0
- package/dist/src/runner/runner.js.map +1 -0
- package/dist/src/storage/filesystem.d.ts +6 -0
- package/dist/src/storage/filesystem.js +21 -0
- package/dist/src/storage/filesystem.js.map +1 -0
- package/dist/src/telemetry.d.ts +25 -3
- package/dist/src/telemetry.js +84 -18
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/validate.js +5 -6
- package/dist/src/validate.js.map +1 -1
- package/docs/mcp-server-safety-index.md +317 -8
- package/docs/safety-index/artifacts/1link-mcp.json +66 -0
- package/docs/safety-index/artifacts/1link-mcp.md +106 -0
- package/docs/safety-index/artifacts/aadhaar-mcp.json +66 -0
- package/docs/safety-index/artifacts/aadhaar-mcp.md +106 -0
- package/docs/safety-index/artifacts/aikidosec-mcp-server.json +536 -0
- package/docs/safety-index/artifacts/aikidosec-mcp-server.md +203 -0
- package/docs/safety-index/artifacts/aiou-mcp.json +66 -0
- package/docs/safety-index/artifacts/aiou-mcp.md +106 -0
- package/docs/safety-index/artifacts/airtable-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/airtable-mcp-server.md +106 -0
- package/docs/safety-index/artifacts/alpaca-server.json +66 -0
- package/docs/safety-index/artifacts/alpaca-server.md +106 -0
- package/docs/safety-index/artifacts/antv-chart-server.json +1454 -21
- package/docs/safety-index/artifacts/antv-chart-server.md +155 -9
- package/docs/safety-index/artifacts/apify-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/apify-mcp-server.md +103 -0
- package/docs/safety-index/artifacts/apple-music-server.json +66 -0
- package/docs/safety-index/artifacts/apple-music-server.md +102 -0
- package/docs/safety-index/artifacts/appwrite-mcp.json +66 -0
- package/docs/safety-index/artifacts/appwrite-mcp.md +106 -0
- package/docs/safety-index/artifacts/aqi-india-mcp.json +66 -0
- package/docs/safety-index/artifacts/aqi-india-mcp.md +106 -0
- package/docs/safety-index/artifacts/argocd-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/argocd-mcp-server.md +106 -0
- package/docs/safety-index/artifacts/arxiv-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/arxiv-mcp-server.md +100 -0
- package/docs/safety-index/artifacts/aws-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/aws-mcp-server.md +103 -0
- package/docs/safety-index/artifacts/azure-devops-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/azure-devops-mcp-server.md +106 -0
- package/docs/safety-index/artifacts/azure-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/azure-mcp-server.md +102 -0
- package/docs/safety-index/artifacts/bhuvan-mcp.json +66 -0
- package/docs/safety-index/artifacts/bhuvan-mcp.md +106 -0
- package/docs/safety-index/artifacts/brave-search-mcp-server-v2.json +66 -0
- package/docs/safety-index/artifacts/brave-search-mcp-server-v2.md +103 -0
- package/docs/safety-index/artifacts/brave-search-server.json +341 -0
- package/docs/safety-index/artifacts/brave-search-server.md +201 -0
- package/docs/safety-index/artifacts/browsermcp-server.json +83 -18
- package/docs/safety-index/artifacts/browsermcp-server.md +46 -12
- package/docs/safety-index/artifacts/cal-com-mcp.json +66 -0
- package/docs/safety-index/artifacts/cal-com-mcp.md +106 -0
- package/docs/safety-index/artifacts/canvas-server.json +66 -0
- package/docs/safety-index/artifacts/canvas-server.md +105 -0
- package/docs/safety-index/artifacts/caselaw-server.json +66 -0
- package/docs/safety-index/artifacts/caselaw-server.md +106 -0
- package/docs/safety-index/artifacts/chatwoot-mcp.json +66 -0
- package/docs/safety-index/artifacts/chatwoot-mcp.md +102 -0
- package/docs/safety-index/artifacts/chrome-devtools-mcp-server.json +596 -25
- package/docs/safety-index/artifacts/chrome-devtools-mcp-server.md +97 -15
- package/docs/safety-index/artifacts/circleci-server.json +1606 -0
- package/docs/safety-index/artifacts/circleci-server.md +243 -0
- package/docs/safety-index/artifacts/clarity-server.json +794 -0
- package/docs/safety-index/artifacts/clarity-server.md +201 -0
- package/docs/safety-index/artifacts/clay-server.json +66 -0
- package/docs/safety-index/artifacts/clay-server.md +106 -0
- package/docs/safety-index/artifacts/clickup-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/clickup-mcp-server.md +106 -0
- package/docs/safety-index/artifacts/cloudflare-mcp-server-v2.json +66 -0
- package/docs/safety-index/artifacts/cloudflare-mcp-server-v2.md +102 -0
- package/docs/safety-index/artifacts/cloudflare-server.json +66 -0
- package/docs/safety-index/artifacts/cloudflare-server.md +106 -0
- package/docs/safety-index/artifacts/coinbase-cds-server.json +322 -0
- package/docs/safety-index/artifacts/coinbase-cds-server.md +201 -0
- package/docs/safety-index/artifacts/confluence-mcp-server.json +1727 -0
- package/docs/safety-index/artifacts/confluence-mcp-server.md +255 -0
- package/docs/safety-index/artifacts/context7-server.json +85 -18
- package/docs/safety-index/artifacts/context7-server.md +52 -11
- package/docs/safety-index/artifacts/contract-analysis-server.json +66 -0
- package/docs/safety-index/artifacts/contract-analysis-server.md +106 -0
- package/docs/safety-index/artifacts/cowin-mcp.json +66 -0
- package/docs/safety-index/artifacts/cowin-mcp.md +106 -0
- package/docs/safety-index/artifacts/currents-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/currents-mcp-server.md +102 -0
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +1565 -34
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +178 -17
- package/docs/safety-index/artifacts/dalle-server.json +66 -0
- package/docs/safety-index/artifacts/dalle-server.md +104 -0
- package/docs/safety-index/artifacts/daraz-mcp.json +66 -0
- package/docs/safety-index/artifacts/daraz-mcp.md +106 -0
- package/docs/safety-index/artifacts/desktop-commander-mcp-server.json +2348 -0
- package/docs/safety-index/artifacts/desktop-commander-mcp-server.md +266 -0
- package/docs/safety-index/artifacts/digilocker-mcp.json +66 -0
- package/docs/safety-index/artifacts/digilocker-mcp.md +106 -0
- package/docs/safety-index/artifacts/discord-mcp-server.json +1297 -0
- package/docs/safety-index/artifacts/discord-mcp-server.md +169 -0
- package/docs/safety-index/artifacts/discord-mcp.json +1023 -0
- package/docs/safety-index/artifacts/discord-mcp.md +229 -0
- package/docs/safety-index/artifacts/docker-server.json +395 -0
- package/docs/safety-index/artifacts/docker-server.md +204 -0
- package/docs/safety-index/artifacts/dynamodb-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/dynamodb-mcp-server.md +103 -0
- package/docs/safety-index/artifacts/dynatrace-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/dynatrace-mcp-server.md +103 -0
- package/docs/safety-index/artifacts/easypaisa-mcp.json +553 -0
- package/docs/safety-index/artifacts/easypaisa-mcp.md +205 -0
- package/docs/safety-index/artifacts/ehsaas-mcp.json +66 -0
- package/docs/safety-index/artifacts/ehsaas-mcp.md +106 -0
- package/docs/safety-index/artifacts/epic-server.json +66 -0
- package/docs/safety-index/artifacts/epic-server.md +106 -0
- package/docs/safety-index/artifacts/eslint-mcp-server.json +320 -0
- package/docs/safety-index/artifacts/eslint-mcp-server.md +201 -0
- package/docs/safety-index/artifacts/espn-server.json +394 -0
- package/docs/safety-index/artifacts/espn-server.md +187 -0
- package/docs/safety-index/artifacts/everything-server.json +145 -18
- package/docs/safety-index/artifacts/everything-server.md +56 -11
- package/docs/safety-index/artifacts/exa-server.json +400 -0
- package/docs/safety-index/artifacts/exa-server.md +207 -0
- package/docs/safety-index/artifacts/executeautomation-playwright-server.json +625 -18
- package/docs/safety-index/artifacts/executeautomation-playwright-server.md +95 -11
- package/docs/safety-index/artifacts/fbr-mcp.json +66 -0
- package/docs/safety-index/artifacts/fbr-mcp.md +106 -0
- package/docs/safety-index/artifacts/fetch-server.json +66 -0
- package/docs/safety-index/artifacts/fetch-server.md +106 -0
- package/docs/safety-index/artifacts/fhir-server.json +66 -0
- package/docs/safety-index/artifacts/fhir-server.md +100 -0
- package/docs/safety-index/artifacts/figma-server.json +1766 -0
- package/docs/safety-index/artifacts/figma-server.md +256 -0
- package/docs/safety-index/artifacts/filesystem-mcp-server.json +427 -23
- package/docs/safety-index/artifacts/filesystem-mcp-server.md +75 -14
- package/docs/safety-index/artifacts/filesystem-server.json +426 -22
- package/docs/safety-index/artifacts/filesystem-server.md +73 -12
- package/docs/safety-index/artifacts/firecrawl-server.json +4056 -0
- package/docs/safety-index/artifacts/firecrawl-server.md +243 -0
- package/docs/safety-index/artifacts/flight-server.json +66 -0
- package/docs/safety-index/artifacts/flight-server.md +106 -0
- package/docs/safety-index/artifacts/foodpanda-pakistan-mcp.json +66 -0
- package/docs/safety-index/artifacts/foodpanda-pakistan-mcp.md +106 -0
- package/docs/safety-index/artifacts/gcp-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/gcp-mcp-server.md +103 -0
- package/docs/safety-index/artifacts/github-mcp-server.json +374 -21
- package/docs/safety-index/artifacts/github-mcp-server.md +71 -15
- package/docs/safety-index/artifacts/gitlab-server.json +229 -0
- package/docs/safety-index/artifacts/gitlab-server.md +753 -0
- package/docs/safety-index/artifacts/gmail-server.json +66 -0
- package/docs/safety-index/artifacts/gmail-server.md +106 -0
- package/docs/safety-index/artifacts/google-calendar-server.json +66 -0
- package/docs/safety-index/artifacts/google-calendar-server.md +106 -0
- package/docs/safety-index/artifacts/google-drive-server.json +66 -0
- package/docs/safety-index/artifacts/google-drive-server.md +106 -0
- package/docs/safety-index/artifacts/google-sheets-server.json +66 -0
- package/docs/safety-index/artifacts/google-sheets-server.md +106 -0
- package/docs/safety-index/artifacts/google-tasks-server.json +66 -0
- package/docs/safety-index/artifacts/google-tasks-server.md +106 -0
- package/docs/safety-index/artifacts/gst-mcp.json +66 -0
- package/docs/safety-index/artifacts/gst-mcp.md +106 -0
- package/docs/safety-index/artifacts/gupshup-mcp.json +66 -0
- package/docs/safety-index/artifacts/gupshup-mcp.md +106 -0
- package/docs/safety-index/artifacts/hasura-mcp.json +66 -0
- package/docs/safety-index/artifacts/hasura-mcp.md +106 -0
- package/docs/safety-index/artifacts/healthcare-ayushman-bharat-mcp.json +66 -0
- package/docs/safety-index/artifacts/healthcare-ayushman-bharat-mcp.md +106 -0
- package/docs/safety-index/artifacts/hec-pakistan-mcp.json +66 -0
- package/docs/safety-index/artifacts/hec-pakistan-mcp.md +106 -0
- package/docs/safety-index/artifacts/heroku-server.json +1502 -0
- package/docs/safety-index/artifacts/heroku-server.md +236 -0
- package/docs/safety-index/artifacts/homekit-server.json +66 -0
- package/docs/safety-index/artifacts/homekit-server.md +106 -0
- package/docs/safety-index/artifacts/hotel-booking-server.json +66 -0
- package/docs/safety-index/artifacts/hotel-booking-server.md +106 -0
- package/docs/safety-index/artifacts/hubspot-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/hubspot-mcp-server.md +106 -0
- package/docs/safety-index/artifacts/huggingface-server.json +66 -0
- package/docs/safety-index/artifacts/huggingface-server.md +106 -0
- package/docs/safety-index/artifacts/indian-food-nutrition-mcp.json +663 -0
- package/docs/safety-index/artifacts/indian-food-nutrition-mcp.md +211 -0
- package/docs/safety-index/artifacts/irctc-mcp.json +66 -0
- package/docs/safety-index/artifacts/irctc-mcp.md +106 -0
- package/docs/safety-index/artifacts/jazz-mcp.json +66 -0
- package/docs/safety-index/artifacts/jazz-mcp.md +106 -0
- package/docs/safety-index/artifacts/jazzcash-mcp.json +66 -0
- package/docs/safety-index/artifacts/jazzcash-mcp.md +102 -0
- package/docs/safety-index/artifacts/jina-server.json +66 -0
- package/docs/safety-index/artifacts/jina-server.md +106 -0
- package/docs/safety-index/artifacts/jira-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/jira-mcp-server.md +104 -0
- package/docs/safety-index/artifacts/k2-mcp.json +66 -0
- package/docs/safety-index/artifacts/k2-mcp.md +106 -0
- package/docs/safety-index/artifacts/karachi-stock-exchange-mcp.json +67 -0
- package/docs/safety-index/artifacts/karachi-stock-exchange-mcp.md +114 -0
- package/docs/safety-index/artifacts/khan-academy-server.json +66 -0
- package/docs/safety-index/artifacts/khan-academy-server.md +106 -0
- package/docs/safety-index/artifacts/kubernetes-server.json +1126 -29
- package/docs/safety-index/artifacts/kubernetes-server.md +141 -18
- package/docs/safety-index/artifacts/langfuse-mcp.json +66 -0
- package/docs/safety-index/artifacts/langfuse-mcp.md +106 -0
- package/docs/safety-index/artifacts/linear-server.json +1494 -0
- package/docs/safety-index/artifacts/linear-server.md +237 -0
- package/docs/safety-index/artifacts/mapmyindia-mcp.json +66 -0
- package/docs/safety-index/artifacts/mapmyindia-mcp.md +106 -0
- package/docs/safety-index/artifacts/memory-server.json +191 -18
- package/docs/safety-index/artifacts/memory-server.md +52 -10
- package/docs/safety-index/artifacts/minecraft-server.json +592 -0
- package/docs/safety-index/artifacts/minecraft-server.md +186 -0
- package/docs/safety-index/artifacts/mls-server.json +66 -0
- package/docs/safety-index/artifacts/mls-server.md +106 -0
- package/docs/safety-index/artifacts/mongodb-server.json +66 -0
- package/docs/safety-index/artifacts/mongodb-server.md +106 -0
- package/docs/safety-index/artifacts/mui-mcp-server.json +419 -0
- package/docs/safety-index/artifacts/mui-mcp-server.md +208 -0
- package/docs/safety-index/artifacts/mysql-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/mysql-mcp-server.md +106 -0
- package/docs/safety-index/artifacts/nadra-mcp.json +66 -0
- package/docs/safety-index/artifacts/nadra-mcp.md +106 -0
- package/docs/safety-index/artifacts/neon-server.json +66 -0
- package/docs/safety-index/artifacts/neon-server.md +103 -0
- package/docs/safety-index/artifacts/notion-server.json +7151 -0
- package/docs/safety-index/artifacts/notion-server.md +236 -0
- package/docs/safety-index/artifacts/obsidian-mcp.json +66 -0
- package/docs/safety-index/artifacts/obsidian-mcp.md +106 -0
- package/docs/safety-index/artifacts/ola-maps-mcp.json +66 -0
- package/docs/safety-index/artifacts/ola-maps-mcp.md +106 -0
- package/docs/safety-index/artifacts/olx-pakistan-mcp.json +66 -0
- package/docs/safety-index/artifacts/olx-pakistan-mcp.md +106 -0
- package/docs/safety-index/artifacts/onesignal-server.json +66 -0
- package/docs/safety-index/artifacts/onesignal-server.md +106 -0
- package/docs/safety-index/artifacts/openai-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/openai-mcp-server.md +106 -0
- package/docs/safety-index/artifacts/opentofu-server.json +30 -18
- package/docs/safety-index/artifacts/opentofu-server.md +27 -9
- package/docs/safety-index/artifacts/openweather-server.json +66 -0
- package/docs/safety-index/artifacts/openweather-server.md +106 -0
- package/docs/safety-index/artifacts/pakistan-cricket-mcp.json +66 -0
- package/docs/safety-index/artifacts/pakistan-cricket-mcp.md +106 -0
- package/docs/safety-index/artifacts/pakistan-post-mcp.json +66 -0
- package/docs/safety-index/artifacts/pakistan-post-mcp.md +106 -0
- package/docs/safety-index/artifacts/pakistan-weather-mcp.json +66 -0
- package/docs/safety-index/artifacts/pakistan-weather-mcp.md +106 -0
- package/docs/safety-index/artifacts/pakwheels-mcp.json +66 -0
- package/docs/safety-index/artifacts/pakwheels-mcp.md +106 -0
- package/docs/safety-index/artifacts/paytm-mcp.json +66 -0
- package/docs/safety-index/artifacts/paytm-mcp.md +106 -0
- package/docs/safety-index/artifacts/perplexity-mcp.json +66 -0
- package/docs/safety-index/artifacts/perplexity-mcp.md +106 -0
- package/docs/safety-index/artifacts/pims-mcp.json +66 -0
- package/docs/safety-index/artifacts/pims-mcp.md +106 -0
- package/docs/safety-index/artifacts/playwright-mcp-server.json +415 -24
- package/docs/safety-index/artifacts/playwright-mcp-server.md +84 -20
- package/docs/safety-index/artifacts/postgres-server.json +330 -0
- package/docs/safety-index/artifacts/postgres-server.md +208 -0
- package/docs/safety-index/artifacts/postman-india-region.json +66 -0
- package/docs/safety-index/artifacts/postman-india-region.md +102 -0
- package/docs/safety-index/artifacts/postman-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/postman-mcp-server.md +102 -0
- package/docs/safety-index/artifacts/promptopia-server.json +95 -18
- package/docs/safety-index/artifacts/promptopia-server.md +44 -10
- package/docs/safety-index/artifacts/pubmed-mcp-server.json +58 -0
- package/docs/safety-index/artifacts/pubmed-mcp-server.md +96 -0
- package/docs/safety-index/artifacts/punjab-health-mcp.json +66 -0
- package/docs/safety-index/artifacts/punjab-health-mcp.md +106 -0
- package/docs/safety-index/artifacts/puppeteer-server.json +118 -29
- package/docs/safety-index/artifacts/puppeteer-server.md +62 -20
- package/docs/safety-index/artifacts/qase-server.json +7055 -0
- package/docs/safety-index/artifacts/qase-server.md +329 -0
- package/docs/safety-index/artifacts/qdrant-server.json +66 -0
- package/docs/safety-index/artifacts/qdrant-server.md +106 -0
- package/docs/safety-index/artifacts/raspberrypi-server.json +66 -0
- package/docs/safety-index/artifacts/raspberrypi-server.md +106 -0
- package/docs/safety-index/artifacts/razorpay-mcp.json +66 -0
- package/docs/safety-index/artifacts/razorpay-mcp.md +103 -0
- package/docs/safety-index/artifacts/reddit-server.json +66 -0
- package/docs/safety-index/artifacts/reddit-server.md +106 -0
- package/docs/safety-index/artifacts/redis-server.json +66 -0
- package/docs/safety-index/artifacts/redis-server.md +106 -0
- package/docs/safety-index/artifacts/ref-tools-server.json +95 -18
- package/docs/safety-index/artifacts/ref-tools-server.md +43 -10
- package/docs/safety-index/artifacts/resend-mcp.json +66 -0
- package/docs/safety-index/artifacts/resend-mcp.md +102 -0
- package/docs/safety-index/artifacts/rozgar-mcp.json +66 -0
- package/docs/safety-index/artifacts/rozgar-mcp.md +106 -0
- package/docs/safety-index/artifacts/s3-mcp-server.json +467 -0
- package/docs/safety-index/artifacts/s3-mcp-server.md +209 -0
- package/docs/safety-index/artifacts/salesforce-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/salesforce-mcp-server.md +106 -0
- package/docs/safety-index/artifacts/sehat-sahulat-mcp.json +66 -0
- package/docs/safety-index/artifacts/sehat-sahulat-mcp.md +106 -0
- package/docs/safety-index/artifacts/sendgrid-mcp.json +66 -0
- package/docs/safety-index/artifacts/sendgrid-mcp.md +106 -0
- package/docs/safety-index/artifacts/sentry-server.json +66 -0
- package/docs/safety-index/artifacts/sentry-server.md +106 -0
- package/docs/safety-index/artifacts/sequential-thinking-server.json +59 -18
- package/docs/safety-index/artifacts/sequential-thinking-server.md +40 -8
- package/docs/safety-index/artifacts/shopify-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/shopify-mcp-server.md +106 -0
- package/docs/safety-index/artifacts/shopify-mcp.json +66 -0
- package/docs/safety-index/artifacts/shopify-mcp.md +106 -0
- package/docs/safety-index/artifacts/shortcut-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/shortcut-mcp-server.md +102 -0
- package/docs/safety-index/artifacts/slack-server.json +66 -0
- package/docs/safety-index/artifacts/slack-server.md +102 -0
- package/docs/safety-index/artifacts/smartbear-mcp-server.json +21483 -0
- package/docs/safety-index/artifacts/smartbear-mcp-server.md +900 -0
- package/docs/safety-index/artifacts/spotify-mcp.json +2071 -0
- package/docs/safety-index/artifacts/spotify-mcp.md +237 -0
- package/docs/safety-index/artifacts/spotify-server.json +66 -0
- package/docs/safety-index/artifacts/spotify-server.md +106 -0
- package/docs/safety-index/artifacts/sqlite-server.json +67 -0
- package/docs/safety-index/artifacts/sqlite-server.md +106 -0
- package/docs/safety-index/artifacts/stable-diffusion-server.json +66 -0
- package/docs/safety-index/artifacts/stable-diffusion-server.md +106 -0
- package/docs/safety-index/artifacts/stock-nse-india.json +66 -0
- package/docs/safety-index/artifacts/stock-nse-india.md +106 -0
- package/docs/safety-index/artifacts/storybook-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/storybook-mcp-server.md +103 -0
- package/docs/safety-index/artifacts/stripe-server.json +66 -0
- package/docs/safety-index/artifacts/stripe-server.md +106 -0
- package/docs/safety-index/artifacts/supabase-server.json +66 -0
- package/docs/safety-index/artifacts/supabase-server.md +102 -0
- package/docs/safety-index/artifacts/tavily-search-server.json +66 -0
- package/docs/safety-index/artifacts/tavily-search-server.md +106 -0
- package/docs/safety-index/artifacts/telegram-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/telegram-mcp-server.md +103 -0
- package/docs/safety-index/artifacts/telenor-pakistan-mcp.json +66 -0
- package/docs/safety-index/artifacts/telenor-pakistan-mcp.md +106 -0
- package/docs/safety-index/artifacts/textlocal-mcp.json +66 -0
- package/docs/safety-index/artifacts/textlocal-mcp.md +106 -0
- package/docs/safety-index/artifacts/tooljet-mcp.json +66 -0
- package/docs/safety-index/artifacts/tooljet-mcp.md +106 -0
- package/docs/safety-index/artifacts/transcend-server.json +3438 -0
- package/docs/safety-index/artifacts/transcend-server.md +277 -0
- package/docs/safety-index/artifacts/trello-mcp-server.json +916 -0
- package/docs/safety-index/artifacts/trello-mcp-server.md +211 -0
- package/docs/safety-index/artifacts/twilio-mcp.json +66 -0
- package/docs/safety-index/artifacts/twilio-mcp.md +106 -0
- package/docs/safety-index/artifacts/udyam-mcp.json +66 -0
- package/docs/safety-index/artifacts/udyam-mcp.md +106 -0
- package/docs/safety-index/artifacts/ufone-mcp.json +66 -0
- package/docs/safety-index/artifacts/ufone-mcp.md +106 -0
- package/docs/safety-index/artifacts/ui5-mcp-server.json +24 -24
- package/docs/safety-index/artifacts/ui5-mcp-server.md +13 -13
- package/docs/safety-index/artifacts/unity-server.json +66 -0
- package/docs/safety-index/artifacts/unity-server.md +102 -0
- package/docs/safety-index/artifacts/upi-mcp.json +452 -0
- package/docs/safety-index/artifacts/upi-mcp.md +201 -0
- package/docs/safety-index/artifacts/vercel-ai-server.json +66 -0
- package/docs/safety-index/artifacts/vercel-ai-server.md +106 -0
- package/docs/safety-index/artifacts/vimeo-server.json +66 -0
- package/docs/safety-index/artifacts/vimeo-server.md +106 -0
- package/docs/safety-index/artifacts/weather-server.json +66 -0
- package/docs/safety-index/artifacts/weather-server.md +106 -0
- package/docs/safety-index/artifacts/whatsapp-business-mcp.json +66 -0
- package/docs/safety-index/artifacts/whatsapp-business-mcp.md +106 -0
- package/docs/safety-index/artifacts/whatsapp-mcp-server.json +66 -0
- package/docs/safety-index/artifacts/whatsapp-mcp-server.md +106 -0
- package/docs/safety-index/artifacts/whatsapp-mcp.json +66 -0
- package/docs/safety-index/artifacts/whatsapp-mcp.md +106 -0
- package/docs/safety-index/artifacts/yahoo-finance-server.json +626 -0
- package/docs/safety-index/artifacts/yahoo-finance-server.md +187 -0
- package/docs/safety-index/artifacts/youtube-mcp-server.json +58 -0
- package/docs/safety-index/artifacts/youtube-mcp-server.md +96 -0
- package/docs/safety-index/artifacts/youtube-server.json +66 -0
- package/docs/safety-index/artifacts/youtube-server.md +103 -0
- package/docs/safety-index/artifacts/zendesk-mcp.json +66 -0
- package/docs/safety-index/artifacts/zendesk-mcp.md +106 -0
- package/docs/safety-index/artifacts/zillow-server.json +66 -0
- package/docs/safety-index/artifacts/zillow-server.md +102 -0
- package/docs/safety-index/artifacts/zong-mcp.json +66 -0
- package/docs/safety-index/artifacts/zong-mcp.md +106 -0
- package/docs/safety-index/targets.json +2663 -3
- package/package.json +10 -9
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# MCP Observatory Run Report
|
|
2
|
+
|
|
3
|
+
Generated at 2026-07-15T22:35:03.838Z
|
|
4
|
+
|
|
5
|
+
## Target and Environment Metadata
|
|
6
|
+
|
|
7
|
+
- Target: `discord-mcp`
|
|
8
|
+
- Adapter: `local-process`
|
|
9
|
+
- Command: `npx -y discord-mcp`
|
|
10
|
+
- Server: `discord-mcp 2.4.0`
|
|
11
|
+
- Platform: `darwin 25.5.0`
|
|
12
|
+
- Node: `v22.22.1`
|
|
13
|
+
|
|
14
|
+
## Executive Summary
|
|
15
|
+
|
|
16
|
+
**Health Score: 85/100 (B)**
|
|
17
|
+
|
|
18
|
+
| Dimension | Score | Weight |
|
|
19
|
+
| --- | --- | --- |
|
|
20
|
+
| Protocol Compliance | 100/100 | 30% |
|
|
21
|
+
| Schema Quality | 60/100 | 20% |
|
|
22
|
+
| Security | 100/100 | 20% |
|
|
23
|
+
| Reliability | 67/100 | 20% |
|
|
24
|
+
| Performance | 100/100 | 10% |
|
|
25
|
+
|
|
26
|
+
| Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
|
|
27
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
28
|
+
| pass | 9 | 5 | 0 | 2 | 2 | 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: runtime-profile: Detected 2 potential egress target(s) and 22 potential state mutation(s) with high confidence.; schema-quality: Found 1 quality finding(s) across 19 item(s): 0 warnings, 1 info.
|
|
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: runtime-profile, schema-quality
|
|
37
|
+
- Skipped checks: none
|
|
38
|
+
- Unsupported checks: prompts, resources
|
|
39
|
+
- Suggested next step: Review the caveated checks next: runtime-profile, schema-quality.
|
|
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
|
+
- ℹ️ credential_access: Credential scanning was performed (see security findings)
|
|
45
|
+
- ℹ️ destructive_payloads: Destructive payloads were not attempted (safe-mode only)
|
|
46
|
+
|
|
47
|
+
## Runtime Profile
|
|
48
|
+
|
|
49
|
+
### Egress Manifest
|
|
50
|
+
|
|
51
|
+
The following targets were identified as potentially reachable by this server (confidence: **high**):
|
|
52
|
+
|
|
53
|
+
| Target | Protocol | Source | Confidence |
|
|
54
|
+
| --- | --- | --- | --- |
|
|
55
|
+
| url | unknown | tool_schema | high |
|
|
56
|
+
| Discord CDN URL of the attachment to download | unknown | description_analysis | medium |
|
|
57
|
+
|
|
58
|
+
### State Mutations
|
|
59
|
+
|
|
60
|
+
The following state-modifying operations were identified from tool schemas:
|
|
61
|
+
|
|
62
|
+
| Resource | Operation | Scope | Source |
|
|
63
|
+
| --- | --- | --- | --- |
|
|
64
|
+
| filesystem | write | working_directory | description_analysis |
|
|
65
|
+
| filesystem | write | working_directory | description_analysis |
|
|
66
|
+
| filesystem | write | working_directory | description_analysis |
|
|
67
|
+
| filesystem | write | working_directory | description_analysis |
|
|
68
|
+
| filesystem | write | working_directory | description_analysis |
|
|
69
|
+
| filesystem | write | working_directory | description_analysis |
|
|
70
|
+
| filesystem | write | working_directory | description_analysis |
|
|
71
|
+
| filesystem | write | working_directory | description_analysis |
|
|
72
|
+
| filesystem | write | working_directory | description_analysis |
|
|
73
|
+
| filesystem | write | working_directory | description_analysis |
|
|
74
|
+
| filesystem | write | working_directory | description_analysis |
|
|
75
|
+
| filesystem | write | working_directory | tool_schema |
|
|
76
|
+
| filesystem | write | working_directory | description_analysis |
|
|
77
|
+
| filesystem | write | working_directory | description_analysis |
|
|
78
|
+
| filesystem | write | working_directory | description_analysis |
|
|
79
|
+
| filesystem | write | working_directory | description_analysis |
|
|
80
|
+
| filesystem | write | working_directory | description_analysis |
|
|
81
|
+
| filesystem | write | working_directory | description_analysis |
|
|
82
|
+
| filesystem | write | working_directory | description_analysis |
|
|
83
|
+
| filesystem | write | working_directory | description_analysis |
|
|
84
|
+
| filesystem | write | working_directory | description_analysis |
|
|
85
|
+
| filesystem | write | working_directory | description_analysis |
|
|
86
|
+
|
|
87
|
+
_Analyzed at 2026-07-15T22:35:04.573Z_
|
|
88
|
+
|
|
89
|
+
## Regressions and Recoveries
|
|
90
|
+
|
|
91
|
+
_Use the `diff` command against another run artifact to classify regressions and recoveries over time._
|
|
92
|
+
|
|
93
|
+
## Full Capability Status Table
|
|
94
|
+
|
|
95
|
+
| Focus | Check | Status | Duration (ms) | Message |
|
|
96
|
+
| --- | --- | --- | --- | --- |
|
|
97
|
+
| healthy | attack-sim | pass | 0.65 | Safe attack simulation found no high-risk MCP attack-readiness findings. |
|
|
98
|
+
| healthy | conformance | pass | 2.39 | All 7 conformance checks passed. |
|
|
99
|
+
| healthy | security | pass | 0.41 | No security issues detected. |
|
|
100
|
+
| healthy | security-lite | pass | 0.04 | No security issues detected (lightweight scan). |
|
|
101
|
+
| healthy | tools | pass | 3.47 | Advertised capability responded with the minimal expected shape (19 items). |
|
|
102
|
+
| review | runtime-profile | partial | 0.14 | Detected 2 potential egress target(s) and 22 potential state mutation(s) with high confidence. |
|
|
103
|
+
| review | schema-quality | partial | 0.59 | Found 1 quality finding(s) across 19 item(s): 0 warnings, 1 info. |
|
|
104
|
+
| confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
|
|
105
|
+
| confirm intent | resources | unsupported | 0.00 | Resources are not advertised by the target. |
|
|
106
|
+
|
|
107
|
+
## Evidence Snippets
|
|
108
|
+
|
|
109
|
+
### attack-sim — pass
|
|
110
|
+
|
|
111
|
+
Summary: Safe attack simulation found no high-risk MCP attack-readiness findings.
|
|
112
|
+
|
|
113
|
+
- Endpoint: `attack-sim/safe`
|
|
114
|
+
- Advertised: `true`
|
|
115
|
+
- Responded: `true`
|
|
116
|
+
- Minimal shape present: `true`
|
|
117
|
+
- Item count: `0`
|
|
118
|
+
- Identifiers: none
|
|
119
|
+
- Diagnostics: none
|
|
120
|
+
|
|
121
|
+
### conformance — pass
|
|
122
|
+
|
|
123
|
+
Summary: All 7 conformance checks passed.
|
|
124
|
+
|
|
125
|
+
- Endpoint: `conformance/check`
|
|
126
|
+
- Advertised: `true`
|
|
127
|
+
- Responded: `true`
|
|
128
|
+
- Minimal shape present: `true`
|
|
129
|
+
- Item count: `7`
|
|
130
|
+
- Identifiers: none
|
|
131
|
+
- Diagnostics: [pass] capabilities-present: Server returned capabilities object., [pass] server-info: Server provided initialization info., [pass] tools-capability-match: tools/list returned 19 tool(s). (+4 more)
|
|
132
|
+
|
|
133
|
+
### security — pass
|
|
134
|
+
|
|
135
|
+
Summary: No security issues detected.
|
|
136
|
+
|
|
137
|
+
- Endpoint: `security/scan`
|
|
138
|
+
- Advertised: `true`
|
|
139
|
+
- Responded: `true`
|
|
140
|
+
- Minimal shape present: `true`
|
|
141
|
+
- Item count: `0`
|
|
142
|
+
- Identifiers: none
|
|
143
|
+
- Diagnostics: none
|
|
144
|
+
|
|
145
|
+
### security-lite — pass
|
|
146
|
+
|
|
147
|
+
Summary: No security issues detected (lightweight scan).
|
|
148
|
+
|
|
149
|
+
- Endpoint: `security/scan-lite`
|
|
150
|
+
- Advertised: `true`
|
|
151
|
+
- Responded: `true`
|
|
152
|
+
- Minimal shape present: `true`
|
|
153
|
+
- Item count: `0`
|
|
154
|
+
- Identifiers: none
|
|
155
|
+
- Diagnostics: none
|
|
156
|
+
|
|
157
|
+
### tools — pass
|
|
158
|
+
|
|
159
|
+
Summary: Advertised capability responded with the minimal expected shape (19 items).
|
|
160
|
+
|
|
161
|
+
- Endpoint: `tools/list`
|
|
162
|
+
- Advertised: `true`
|
|
163
|
+
- Responded: `true`
|
|
164
|
+
- Minimal shape present: `true`
|
|
165
|
+
- Item count: `19`
|
|
166
|
+
- Identifiers: discord_send_message, discord_edit_message, discord_delete_message, discord_add_reaction, discord_remove_reaction (+14 more)
|
|
167
|
+
- Diagnostics: {"level":30,"time":1784154904566,"service":"discord-mcp","msg":"Discord MCP server starting","tools":19,"toolNames":["discord_send_message","discord_edit_message","discord_delete_message","discord_add_reaction","discord_remove_reaction","discord_get_message_history","discord_search_messages","discord_get_message","discord_list_attachments","discord_download_attachment","discord_cleanup_download","discord_get_channel","discord_get_dm_channels","discord_create_dm","discord_get_friends","discord_add_friend","discord_remove_friend","discord_update_presence","discord_clear_presence"],"version":"2.4.0"}
|
|
168
|
+
|
|
169
|
+
### runtime-profile — partial
|
|
170
|
+
|
|
171
|
+
Summary: Detected 2 potential egress target(s) and 22 potential state mutation(s) with high confidence.
|
|
172
|
+
|
|
173
|
+
- Endpoint: `runtime-profile/analyze`
|
|
174
|
+
- Advertised: `true`
|
|
175
|
+
- Responded: `true`
|
|
176
|
+
- Minimal shape present: `true`
|
|
177
|
+
- Item count: `24`
|
|
178
|
+
- Identifiers: none
|
|
179
|
+
- Diagnostics: Egress entries: 2, State mutations: 22, Confidence: high
|
|
180
|
+
|
|
181
|
+
### schema-quality — partial
|
|
182
|
+
|
|
183
|
+
Summary: Found 1 quality finding(s) across 19 item(s): 0 warnings, 1 info.
|
|
184
|
+
|
|
185
|
+
- Endpoint: `schema-quality/scan`
|
|
186
|
+
- Advertised: `true`
|
|
187
|
+
- Responded: `true`
|
|
188
|
+
- Minimal shape present: `true`
|
|
189
|
+
- Item count: `1`
|
|
190
|
+
- Identifiers: discord_update_presence
|
|
191
|
+
- Diagnostics: [info] tool "discord_update_presence": Has properties but no 'required' array declared
|
|
192
|
+
|
|
193
|
+
### prompts — unsupported
|
|
194
|
+
|
|
195
|
+
Summary: Prompts are not advertised by the target.
|
|
196
|
+
|
|
197
|
+
- Endpoint: `prompts/list`
|
|
198
|
+
- Advertised: `false`
|
|
199
|
+
- Responded: `false`
|
|
200
|
+
- Minimal shape present: `false`
|
|
201
|
+
- Item count: `0`
|
|
202
|
+
- Identifiers: none
|
|
203
|
+
- Diagnostics: none
|
|
204
|
+
|
|
205
|
+
### resources — unsupported
|
|
206
|
+
|
|
207
|
+
Summary: Resources are not advertised by the target.
|
|
208
|
+
|
|
209
|
+
- Endpoint: `resources/list | resources/templates/list`
|
|
210
|
+
- Advertised: `false`
|
|
211
|
+
- Responded: `false`
|
|
212
|
+
- Minimal shape present: `false`
|
|
213
|
+
- Item count: `0`
|
|
214
|
+
- Identifiers: none
|
|
215
|
+
- Diagnostics: none
|
|
216
|
+
|
|
217
|
+
## Reproduction Commands
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
npm run cli -- run --target <path-to-target-config.json>
|
|
221
|
+
npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## Artifact Provenance
|
|
225
|
+
|
|
226
|
+
- Artifact type: `run`
|
|
227
|
+
- Schema version: `1.0.0`
|
|
228
|
+
- Run ID: `run_2026-07-15T223503838Z_eb17b47b`
|
|
229
|
+
- Gate: `pass`
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
{
|
|
2
|
+
"artifactType": "run",
|
|
3
|
+
"schemaVersion": "1.0.0",
|
|
4
|
+
"gate": "fail",
|
|
5
|
+
"runId": "run_2026-07-15T223346900Z_b73ad8db",
|
|
6
|
+
"createdAt": "2026-07-15T22:33:46.900Z",
|
|
7
|
+
"toolVersion": "1.32.1",
|
|
8
|
+
"target": {
|
|
9
|
+
"targetId": "docker-server",
|
|
10
|
+
"adapter": "local-process",
|
|
11
|
+
"command": "npx",
|
|
12
|
+
"args": [
|
|
13
|
+
"-y",
|
|
14
|
+
"mcp-server-docker"
|
|
15
|
+
],
|
|
16
|
+
"cwd": ".",
|
|
17
|
+
"metadata": {
|
|
18
|
+
"package": "mcp-server-docker",
|
|
19
|
+
"purpose": "mcp-safety-index",
|
|
20
|
+
"riskClass": "Container orchestration",
|
|
21
|
+
"failureClass": "Container/image boundary",
|
|
22
|
+
"whyItMatters": "Docker MCP servers expose container run, exec, and image management tools — container-level command execution is a high-trust boundary."
|
|
23
|
+
},
|
|
24
|
+
"serverName": "mcp-server-docker",
|
|
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": 3,
|
|
34
|
+
"fail": 3,
|
|
35
|
+
"partial": 1,
|
|
36
|
+
"unsupported": 2,
|
|
37
|
+
"flaky": 0,
|
|
38
|
+
"skipped": 0,
|
|
39
|
+
"gate": "fail"
|
|
40
|
+
},
|
|
41
|
+
"checks": [
|
|
42
|
+
{
|
|
43
|
+
"id": "tools",
|
|
44
|
+
"capability": "tools",
|
|
45
|
+
"status": "pass",
|
|
46
|
+
"durationMs": 0.5254159999967669,
|
|
47
|
+
"message": "Advertised capability responded with the minimal expected shape (1 item).",
|
|
48
|
+
"evidence": [
|
|
49
|
+
{
|
|
50
|
+
"endpoint": "tools/list",
|
|
51
|
+
"advertised": true,
|
|
52
|
+
"responded": true,
|
|
53
|
+
"minimalShapePresent": true,
|
|
54
|
+
"itemCount": 1,
|
|
55
|
+
"identifiers": [
|
|
56
|
+
"run_command"
|
|
57
|
+
],
|
|
58
|
+
"diagnostics": [
|
|
59
|
+
"Warning: No allowed containers specified in ALLOWED_CONTAINERS environment variable",
|
|
60
|
+
"MCP Server Docker started",
|
|
61
|
+
"Default service: laravel_app",
|
|
62
|
+
"Allowed containers: laravel_app"
|
|
63
|
+
],
|
|
64
|
+
"schemas": {
|
|
65
|
+
"run_command": {
|
|
66
|
+
"type": "object",
|
|
67
|
+
"properties": {
|
|
68
|
+
"command": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "The command to execute in the container"
|
|
71
|
+
},
|
|
72
|
+
"service": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"description": "Docker Compose service name (optional, uses default: laravel_app if not specified)"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"required": [
|
|
78
|
+
"command"
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "prompts",
|
|
87
|
+
"capability": "prompts",
|
|
88
|
+
"status": "unsupported",
|
|
89
|
+
"durationMs": 0.0008329999982379377,
|
|
90
|
+
"message": "Prompts are not advertised by the target.",
|
|
91
|
+
"evidence": [
|
|
92
|
+
{
|
|
93
|
+
"endpoint": "prompts/list",
|
|
94
|
+
"advertised": false,
|
|
95
|
+
"responded": false,
|
|
96
|
+
"minimalShapePresent": false,
|
|
97
|
+
"diagnostics": []
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"id": "resources",
|
|
103
|
+
"capability": "resources",
|
|
104
|
+
"status": "unsupported",
|
|
105
|
+
"durationMs": 0.0005830000009154901,
|
|
106
|
+
"message": "Resources are not advertised by the target.",
|
|
107
|
+
"evidence": [
|
|
108
|
+
{
|
|
109
|
+
"endpoint": "resources/list | resources/templates/list",
|
|
110
|
+
"advertised": false,
|
|
111
|
+
"responded": false,
|
|
112
|
+
"minimalShapePresent": false,
|
|
113
|
+
"diagnostics": []
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": "security-lite",
|
|
119
|
+
"capability": "security-lite",
|
|
120
|
+
"status": "fail",
|
|
121
|
+
"durationMs": 0.012541999996756203,
|
|
122
|
+
"message": "Found 1 security finding(s): 1 high, 0 medium, 0 low.",
|
|
123
|
+
"evidence": [
|
|
124
|
+
{
|
|
125
|
+
"endpoint": "security/scan-lite",
|
|
126
|
+
"advertised": true,
|
|
127
|
+
"responded": true,
|
|
128
|
+
"minimalShapePresent": true,
|
|
129
|
+
"itemCount": 1,
|
|
130
|
+
"identifiers": [
|
|
131
|
+
"run_command"
|
|
132
|
+
],
|
|
133
|
+
"diagnostics": [
|
|
134
|
+
"[high] Tool \"run_command\" has parameter \"command\" which may allow arbitrary command execution."
|
|
135
|
+
],
|
|
136
|
+
"findings": [
|
|
137
|
+
{
|
|
138
|
+
"ruleId": "shell-injection",
|
|
139
|
+
"severity": "high",
|
|
140
|
+
"toolName": "run_command",
|
|
141
|
+
"message": "Tool \"run_command\" has parameter \"command\" which may allow arbitrary command execution."
|
|
142
|
+
}
|
|
143
|
+
]
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"id": "runtime-profile",
|
|
149
|
+
"capability": "runtime-profile",
|
|
150
|
+
"status": "partial",
|
|
151
|
+
"durationMs": 0.03562499999679858,
|
|
152
|
+
"message": "Detected 0 potential egress target(s) and 4 potential state mutation(s) with high confidence.",
|
|
153
|
+
"evidence": [
|
|
154
|
+
{
|
|
155
|
+
"endpoint": "runtime-profile/analyze",
|
|
156
|
+
"advertised": true,
|
|
157
|
+
"responded": true,
|
|
158
|
+
"minimalShapePresent": true,
|
|
159
|
+
"itemCount": 4,
|
|
160
|
+
"diagnostics": [
|
|
161
|
+
"Egress entries: 0",
|
|
162
|
+
"State mutations: 4",
|
|
163
|
+
"Confidence: high"
|
|
164
|
+
],
|
|
165
|
+
"findings": [
|
|
166
|
+
{
|
|
167
|
+
"resource": "network",
|
|
168
|
+
"operation": "execute",
|
|
169
|
+
"scope": "specific_path",
|
|
170
|
+
"source": "tool_schema"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"resource": "filesystem",
|
|
174
|
+
"operation": "write",
|
|
175
|
+
"scope": "working_directory",
|
|
176
|
+
"source": "description_analysis"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"resource": "filesystem",
|
|
180
|
+
"operation": "write",
|
|
181
|
+
"scope": "working_directory",
|
|
182
|
+
"source": "description_analysis"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"resource": "filesystem",
|
|
186
|
+
"operation": "execute",
|
|
187
|
+
"scope": "working_directory",
|
|
188
|
+
"source": "description_analysis"
|
|
189
|
+
}
|
|
190
|
+
]
|
|
191
|
+
}
|
|
192
|
+
]
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"id": "conformance",
|
|
196
|
+
"capability": "conformance",
|
|
197
|
+
"status": "pass",
|
|
198
|
+
"durationMs": 0.5707499999989523,
|
|
199
|
+
"message": "All 7 conformance checks passed.",
|
|
200
|
+
"evidence": [
|
|
201
|
+
{
|
|
202
|
+
"endpoint": "conformance/check",
|
|
203
|
+
"advertised": true,
|
|
204
|
+
"responded": true,
|
|
205
|
+
"minimalShapePresent": true,
|
|
206
|
+
"itemCount": 7,
|
|
207
|
+
"identifiers": [],
|
|
208
|
+
"diagnostics": [
|
|
209
|
+
"[pass] capabilities-present: Server returned capabilities object.",
|
|
210
|
+
"[pass] server-info: Server provided initialization info.",
|
|
211
|
+
"[pass] tools-capability-match: tools/list returned 1 tool(s).",
|
|
212
|
+
"[pass] prompts-capability-match: Prompts not advertised — endpoint check skipped.",
|
|
213
|
+
"[pass] resources-capability-match: Resources not advertised — endpoint check skipped.",
|
|
214
|
+
"[pass] tool-response-content: No safe tool to invoke — content validation skipped.",
|
|
215
|
+
"[pass] error-handling: Server returned proper error code -32601 for unknown method."
|
|
216
|
+
]
|
|
217
|
+
}
|
|
218
|
+
]
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"id": "schema-quality",
|
|
222
|
+
"capability": "schema-quality",
|
|
223
|
+
"status": "pass",
|
|
224
|
+
"durationMs": 0.08562499999970896,
|
|
225
|
+
"message": "All 1 item(s) have good schema quality.",
|
|
226
|
+
"evidence": [
|
|
227
|
+
{
|
|
228
|
+
"endpoint": "schema-quality/scan",
|
|
229
|
+
"advertised": true,
|
|
230
|
+
"responded": true,
|
|
231
|
+
"minimalShapePresent": true,
|
|
232
|
+
"itemCount": 0,
|
|
233
|
+
"identifiers": []
|
|
234
|
+
}
|
|
235
|
+
]
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"id": "security",
|
|
239
|
+
"capability": "security",
|
|
240
|
+
"status": "fail",
|
|
241
|
+
"durationMs": 0.21887499999866122,
|
|
242
|
+
"message": "Found 1 security finding(s): 1 high, 0 medium, 0 low.",
|
|
243
|
+
"evidence": [
|
|
244
|
+
{
|
|
245
|
+
"endpoint": "security/scan",
|
|
246
|
+
"advertised": true,
|
|
247
|
+
"responded": true,
|
|
248
|
+
"minimalShapePresent": true,
|
|
249
|
+
"itemCount": 1,
|
|
250
|
+
"identifiers": [
|
|
251
|
+
"run_command"
|
|
252
|
+
],
|
|
253
|
+
"diagnostics": [
|
|
254
|
+
"[high] Tool \"run_command\" has parameter \"command\" which may allow arbitrary command execution."
|
|
255
|
+
],
|
|
256
|
+
"findings": [
|
|
257
|
+
{
|
|
258
|
+
"ruleId": "shell-injection",
|
|
259
|
+
"severity": "high",
|
|
260
|
+
"toolName": "run_command",
|
|
261
|
+
"message": "Tool \"run_command\" has parameter \"command\" which may allow arbitrary command execution."
|
|
262
|
+
}
|
|
263
|
+
]
|
|
264
|
+
}
|
|
265
|
+
]
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"id": "attack-sim",
|
|
269
|
+
"capability": "attack-sim",
|
|
270
|
+
"status": "fail",
|
|
271
|
+
"durationMs": 0.15812500000174623,
|
|
272
|
+
"message": "Safe attack simulation found 1 finding(s): 1 high, 0 medium, 0 low.",
|
|
273
|
+
"evidence": [
|
|
274
|
+
{
|
|
275
|
+
"endpoint": "attack-sim/safe",
|
|
276
|
+
"advertised": true,
|
|
277
|
+
"responded": true,
|
|
278
|
+
"minimalShapePresent": true,
|
|
279
|
+
"itemCount": 1,
|
|
280
|
+
"identifiers": [
|
|
281
|
+
"run_command"
|
|
282
|
+
],
|
|
283
|
+
"diagnostics": [
|
|
284
|
+
"[high] Tool \"run_command\" combines broad parameters (command) with destructive or non-read-only behavior."
|
|
285
|
+
],
|
|
286
|
+
"findings": [
|
|
287
|
+
{
|
|
288
|
+
"ruleId": "attack-sim/permission-boundary/broad-destructive-tool",
|
|
289
|
+
"attackClass": "permission-boundary",
|
|
290
|
+
"severity": "high",
|
|
291
|
+
"itemType": "tool",
|
|
292
|
+
"itemName": "run_command",
|
|
293
|
+
"message": "Tool \"run_command\" combines broad parameters (command) with destructive or non-read-only behavior.",
|
|
294
|
+
"evidence": {
|
|
295
|
+
"broadParams": [
|
|
296
|
+
"command"
|
|
297
|
+
],
|
|
298
|
+
"description": "Execute a command inside a Docker container service"
|
|
299
|
+
},
|
|
300
|
+
"recommendation": "Constrain this tool with typed inputs, allowlists, explicit read-only/destructive annotations, and a harmless CI fixture.",
|
|
301
|
+
"recommendedAction": "quarantine"
|
|
302
|
+
}
|
|
303
|
+
]
|
|
304
|
+
}
|
|
305
|
+
]
|
|
306
|
+
}
|
|
307
|
+
],
|
|
308
|
+
"healthScore": {
|
|
309
|
+
"overall": 73,
|
|
310
|
+
"grade": "C",
|
|
311
|
+
"dimensions": [
|
|
312
|
+
{
|
|
313
|
+
"name": "Protocol Compliance",
|
|
314
|
+
"weight": 0.3,
|
|
315
|
+
"score": 100,
|
|
316
|
+
"details": [
|
|
317
|
+
"conformance: pass (100/100)"
|
|
318
|
+
]
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"name": "Schema Quality",
|
|
322
|
+
"weight": 0.2,
|
|
323
|
+
"score": 100,
|
|
324
|
+
"details": [
|
|
325
|
+
"schema-quality: pass (100/100)"
|
|
326
|
+
]
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"name": "Security",
|
|
330
|
+
"weight": 0.2,
|
|
331
|
+
"score": 0,
|
|
332
|
+
"details": [
|
|
333
|
+
"security-lite: fail (0/100)",
|
|
334
|
+
"security: fail (0/100)",
|
|
335
|
+
"attack-sim: fail (0/100)"
|
|
336
|
+
]
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"name": "Reliability",
|
|
340
|
+
"weight": 0.2,
|
|
341
|
+
"score": 67,
|
|
342
|
+
"details": [
|
|
343
|
+
"tools: pass (100/100)",
|
|
344
|
+
"prompts: unsupported (50/100)",
|
|
345
|
+
"resources: unsupported (50/100)"
|
|
346
|
+
]
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"name": "Performance",
|
|
350
|
+
"weight": 0.1,
|
|
351
|
+
"score": 100,
|
|
352
|
+
"details": [
|
|
353
|
+
"Connect: 665ms",
|
|
354
|
+
"p95 latency: 1ms (3 operations)"
|
|
355
|
+
]
|
|
356
|
+
}
|
|
357
|
+
]
|
|
358
|
+
},
|
|
359
|
+
"performanceMetrics": {
|
|
360
|
+
"connectMs": 664.9754169999942,
|
|
361
|
+
"toolsListMs": 0.5254159999967669,
|
|
362
|
+
"promptsListMs": 0.0008329999982379377,
|
|
363
|
+
"resourcesListMs": 0.0005830000009154901
|
|
364
|
+
},
|
|
365
|
+
"runtimeProfile": {
|
|
366
|
+
"stateMutations": [
|
|
367
|
+
{
|
|
368
|
+
"resource": "network",
|
|
369
|
+
"operation": "execute",
|
|
370
|
+
"scope": "specific_path",
|
|
371
|
+
"source": "tool_schema"
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"resource": "filesystem",
|
|
375
|
+
"operation": "write",
|
|
376
|
+
"scope": "working_directory",
|
|
377
|
+
"source": "description_analysis"
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"resource": "filesystem",
|
|
381
|
+
"operation": "write",
|
|
382
|
+
"scope": "working_directory",
|
|
383
|
+
"source": "description_analysis"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"resource": "filesystem",
|
|
387
|
+
"operation": "execute",
|
|
388
|
+
"scope": "working_directory",
|
|
389
|
+
"source": "description_analysis"
|
|
390
|
+
}
|
|
391
|
+
],
|
|
392
|
+
"analyzedAt": "2026-07-15T22:33:47.565Z",
|
|
393
|
+
"confidence": "high"
|
|
394
|
+
}
|
|
395
|
+
}
|