@kryptosai/mcp-observatory 1.32.1 → 1.34.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 +11 -122
- package/dist/src/auth.d.ts +22 -0
- package/dist/src/auth.js +140 -0
- package/dist/src/auth.js.map +1 -0
- package/dist/src/cli.js +55 -4
- 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/demo.d.ts +2 -0
- package/dist/src/commands/demo.js +247 -0
- package/dist/src/commands/demo.js.map +1 -0
- package/dist/src/commands/enforce.js +14 -3
- package/dist/src/commands/enforce.js.map +1 -1
- package/dist/src/commands/helpers.d.ts +13 -0
- package/dist/src/commands/helpers.js +34 -1
- package/dist/src/commands/helpers.js.map +1 -1
- package/dist/src/commands/init-ci.d.ts +1 -0
- package/dist/src/commands/init-ci.js +157 -10
- package/dist/src/commands/init-ci.js.map +1 -1
- package/dist/src/commands/receipt.js +13 -3
- package/dist/src/commands/receipt.js.map +1 -1
- package/dist/src/commands/scan.d.ts +14 -0
- package/dist/src/commands/scan.js +51 -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/setup-ci-conversion.js +4 -4
- package/dist/src/commands/setup-ci-conversion.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 +77 -3
- package/dist/src/commands/test.js.map +1 -1
- package/dist/src/commercial.d.ts +3 -0
- package/dist/src/commercial.js +14 -3
- package/dist/src/commercial.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/receipt.d.ts +9 -0
- package/dist/src/receipt.js +24 -1
- package/dist/src/receipt.js.map +1 -1
- package/dist/src/telemetry.d.ts +25 -3
- package/dist/src/telemetry.js +88 -19
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/utils/failure-diagnosis.d.ts +7 -0
- package/dist/src/utils/failure-diagnosis.js +14 -0
- package/dist/src/utils/failure-diagnosis.js.map +1 -1
- package/docs/mcp-server-safety-index.md +255 -6
- 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 +21 -21
- package/docs/safety-index/artifacts/antv-chart-server.md +11 -11
- 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 +18 -18
- package/docs/safety-index/artifacts/brave-search-server.md +6 -6
- package/docs/safety-index/artifacts/browsermcp-server.json +18 -18
- package/docs/safety-index/artifacts/browsermcp-server.md +9 -9
- 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 +23 -23
- package/docs/safety-index/artifacts/chrome-devtools-mcp-server.md +12 -12
- 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 +4 -4
- package/docs/safety-index/artifacts/clay-server.md +3 -3
- 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 +4 -4
- package/docs/safety-index/artifacts/cloudflare-server.md +4 -4
- 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 +18 -18
- package/docs/safety-index/artifacts/context7-server.md +12 -12
- 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 +34 -34
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +15 -15
- 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 +19 -19
- package/docs/safety-index/artifacts/docker-server.md +8 -8
- 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 +18 -18
- package/docs/safety-index/artifacts/everything-server.md +12 -12
- package/docs/safety-index/artifacts/exa-server.json +22 -22
- package/docs/safety-index/artifacts/exa-server.md +14 -14
- package/docs/safety-index/artifacts/executeautomation-playwright-server.json +19 -19
- package/docs/safety-index/artifacts/executeautomation-playwright-server.md +11 -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 +4 -4
- package/docs/safety-index/artifacts/fetch-server.md +3 -3
- 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 +18 -18
- package/docs/safety-index/artifacts/figma-server.md +10 -10
- package/docs/safety-index/artifacts/filesystem-mcp-server.json +18 -18
- package/docs/safety-index/artifacts/filesystem-mcp-server.md +10 -10
- package/docs/safety-index/artifacts/filesystem-server.json +19 -19
- package/docs/safety-index/artifacts/filesystem-server.md +11 -11
- package/docs/safety-index/artifacts/firecrawl-server.json +18 -18
- package/docs/safety-index/artifacts/firecrawl-server.md +10 -10
- 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 +18 -18
- package/docs/safety-index/artifacts/github-mcp-server.md +10 -10
- package/docs/safety-index/artifacts/gitlab-server.json +16 -16
- package/docs/safety-index/artifacts/gitlab-server.md +6 -6
- package/docs/safety-index/artifacts/gmail-server.json +4 -4
- package/docs/safety-index/artifacts/gmail-server.md +3 -3
- package/docs/safety-index/artifacts/google-calendar-server.json +4 -4
- package/docs/safety-index/artifacts/google-calendar-server.md +3 -3
- package/docs/safety-index/artifacts/google-drive-server.json +4 -4
- package/docs/safety-index/artifacts/google-drive-server.md +4 -4
- package/docs/safety-index/artifacts/google-sheets-server.json +4 -4
- package/docs/safety-index/artifacts/google-sheets-server.md +3 -3
- package/docs/safety-index/artifacts/google-tasks-server.json +4 -4
- package/docs/safety-index/artifacts/google-tasks-server.md +3 -3
- 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 +4 -4
- package/docs/safety-index/artifacts/huggingface-server.md +3 -3
- 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 +4 -4
- package/docs/safety-index/artifacts/jina-server.md +3 -3
- 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 +104 -34
- package/docs/safety-index/artifacts/kubernetes-server.md +25 -21
- 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 +18 -18
- package/docs/safety-index/artifacts/linear-server.md +8 -8
- 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 +18 -18
- package/docs/safety-index/artifacts/memory-server.md +11 -11
- 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 +4 -4
- package/docs/safety-index/artifacts/mongodb-server.md +4 -4
- 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 +4 -4
- package/docs/safety-index/artifacts/neon-server.md +3 -3
- package/docs/safety-index/artifacts/notion-server.json +18 -18
- package/docs/safety-index/artifacts/notion-server.md +10 -10
- 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 +4 -4
- package/docs/safety-index/artifacts/onesignal-server.md +3 -3
- 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 +19 -19
- package/docs/safety-index/artifacts/opentofu-server.md +10 -10
- 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 +18 -18
- package/docs/safety-index/artifacts/playwright-mcp-server.md +8 -8
- package/docs/safety-index/artifacts/postgres-server.json +19 -19
- package/docs/safety-index/artifacts/postgres-server.md +9 -9
- 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 +21 -21
- package/docs/safety-index/artifacts/promptopia-server.md +11 -11
- 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 +18 -18
- package/docs/safety-index/artifacts/puppeteer-server.md +9 -9
- 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 +4 -4
- package/docs/safety-index/artifacts/qdrant-server.md +4 -4
- 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 +4 -4
- package/docs/safety-index/artifacts/reddit-server.md +3 -3
- 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 +18 -18
- package/docs/safety-index/artifacts/ref-tools-server.md +8 -8
- 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 +3 -3
- package/docs/safety-index/artifacts/sentry-server.md +2 -2
- package/docs/safety-index/artifacts/sequential-thinking-server.json +18 -18
- package/docs/safety-index/artifacts/sequential-thinking-server.md +8 -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 +3 -3
- package/docs/safety-index/artifacts/slack-server.md +2 -2
- 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 +4 -4
- package/docs/safety-index/artifacts/sqlite-server.md +3 -3
- 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 +3 -3
- package/docs/safety-index/artifacts/stripe-server.md +2 -2
- package/docs/safety-index/artifacts/supabase-server.json +3 -3
- package/docs/safety-index/artifacts/supabase-server.md +2 -2
- package/docs/safety-index/artifacts/tavily-search-server.json +4 -4
- package/docs/safety-index/artifacts/tavily-search-server.md +3 -3
- 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 +21 -21
- package/docs/safety-index/artifacts/ui5-mcp-server.md +10 -10
- 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 +4 -4
- package/docs/safety-index/artifacts/vercel-ai-server.md +4 -4
- 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 +2145 -20
- package/package.json +10 -9
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"artifactType": "run",
|
|
3
|
+
"schemaVersion": "1.0.0",
|
|
4
|
+
"gate": "fail",
|
|
5
|
+
"runId": "run_2026-07-15T223401221Z_9edad485",
|
|
6
|
+
"createdAt": "2026-07-15T22:34:01.221Z",
|
|
7
|
+
"toolVersion": "1.32.1",
|
|
8
|
+
"target": {
|
|
9
|
+
"targetId": "khan-academy-server",
|
|
10
|
+
"adapter": "local-process",
|
|
11
|
+
"command": "npx",
|
|
12
|
+
"args": [
|
|
13
|
+
"-y",
|
|
14
|
+
"khan-academy-mcp"
|
|
15
|
+
],
|
|
16
|
+
"cwd": ".",
|
|
17
|
+
"metadata": {
|
|
18
|
+
"package": "khan-academy-mcp",
|
|
19
|
+
"purpose": "mcp-safety-index",
|
|
20
|
+
"riskClass": "Educational content retrieval",
|
|
21
|
+
"failureClass": "Learning content boundary",
|
|
22
|
+
"whyItMatters": "Khan Academy MCP servers expose courses, exercises, and learning progress — agents serving educational content need content accuracy and student privacy boundaries."
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"environment": {
|
|
26
|
+
"platform": "darwin 25.5.0",
|
|
27
|
+
"nodeVersion": "v22.22.1"
|
|
28
|
+
},
|
|
29
|
+
"summary": {
|
|
30
|
+
"total": 3,
|
|
31
|
+
"pass": 0,
|
|
32
|
+
"fail": 0,
|
|
33
|
+
"partial": 0,
|
|
34
|
+
"unsupported": 0,
|
|
35
|
+
"flaky": 0,
|
|
36
|
+
"skipped": 3,
|
|
37
|
+
"gate": "fail"
|
|
38
|
+
},
|
|
39
|
+
"checks": [
|
|
40
|
+
{
|
|
41
|
+
"id": "tools",
|
|
42
|
+
"capability": "tools",
|
|
43
|
+
"status": "skipped",
|
|
44
|
+
"durationMs": 0,
|
|
45
|
+
"message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
|
|
46
|
+
"evidence": []
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "prompts",
|
|
50
|
+
"capability": "prompts",
|
|
51
|
+
"status": "skipped",
|
|
52
|
+
"durationMs": 0,
|
|
53
|
+
"message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
|
|
54
|
+
"evidence": []
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "resources",
|
|
58
|
+
"capability": "resources",
|
|
59
|
+
"status": "skipped",
|
|
60
|
+
"durationMs": 0,
|
|
61
|
+
"message": "Skipped because startup failed before the MCP session initialized. See the failure diagnosis.",
|
|
62
|
+
"evidence": []
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"fatalError": "Could not establish a plain stdio MCP session for target `khan-academy-server`.\nCommand: npx -y khan-academy-mcp\nDiagnosis: The process exited or detached before MCP initialization completed.\nRaw error: MCP error -32000: Connection closed\nLikely causes:\n- The package may expect extra startup arguments or environment variables.\n- The package may not behave like a plain local-process stdio target under this invocation.\n- The server may be crashing immediately and only leaving clues on stderr.\nNext steps:\n- Run the command manually and look for usage output, auth prompts, or crash text.\n- Check whether the package expects a different transport or an app-oriented startup flow.\n- Use the recent stderr lines below before assuming this is a harness bug.\nRecent stderr:\n- npm error 404 'khan-academy-mcp@*' is not in this registry.\n- npm error 404\n- npm error 404 Note that you can also install from a\n- npm error 404 tarball, folder, http url, or git url.\n- npm error A complete log of this run can be found in: /Users/williamweishuhn/.npm/_logs/2026-07-15T22_34_01_290Z-debug-0.log"
|
|
66
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# MCP Observatory Run Report
|
|
2
|
+
|
|
3
|
+
Generated at 2026-07-15T22:34:01.221Z
|
|
4
|
+
|
|
5
|
+
## Target and Environment Metadata
|
|
6
|
+
|
|
7
|
+
- Target: `khan-academy-server`
|
|
8
|
+
- Adapter: `local-process`
|
|
9
|
+
- Command: `npx -y khan-academy-mcp`
|
|
10
|
+
- Server: `unknown `
|
|
11
|
+
- Platform: `darwin 25.5.0`
|
|
12
|
+
- Node: `v22.22.1`
|
|
13
|
+
|
|
14
|
+
## Executive Summary
|
|
15
|
+
|
|
16
|
+
| Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
|
|
17
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
18
|
+
| fail | 3 | 0 | 0 | 0 | 0 | 0 | 3 |
|
|
19
|
+
|
|
20
|
+
## At a Glance
|
|
21
|
+
|
|
22
|
+
- Safety verdict: **Blocked** — One or more checks can break agent dependence and should be fixed before production use.
|
|
23
|
+
- Top risks: startup: server failed to start
|
|
24
|
+
- Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
|
|
25
|
+
- Failing checks: none
|
|
26
|
+
- Partial or flaky checks: none
|
|
27
|
+
- Skipped checks: tools, prompts, resources
|
|
28
|
+
- Unsupported checks: none
|
|
29
|
+
- Suggested next step: Run the target command manually, compare stderr with the diagnosis below, and only raise timeoutMs if startup is genuinely slow.
|
|
30
|
+
- CI next step: `Add CI: npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>"`
|
|
31
|
+
|
|
32
|
+
## What Was Not Tested
|
|
33
|
+
|
|
34
|
+
- 🔒 network_egress: No outbound network calls were attempted during scan
|
|
35
|
+
- 🔒 filesystem_mutation: Filesystem write operations were not exercised
|
|
36
|
+
- 🔒 credential_access: Credential scanning was not performed
|
|
37
|
+
- ℹ️ destructive_payloads: Destructive payloads were not attempted (safe-mode only)
|
|
38
|
+
|
|
39
|
+
## Regressions and Recoveries
|
|
40
|
+
|
|
41
|
+
_Use the `diff` command against another run artifact to classify regressions and recoveries over time._
|
|
42
|
+
|
|
43
|
+
## Failure Diagnosis
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
Could not establish a plain stdio MCP session for target `khan-academy-server`.
|
|
47
|
+
Command: npx -y khan-academy-mcp
|
|
48
|
+
Diagnosis: The process exited or detached before MCP initialization completed.
|
|
49
|
+
Raw error: MCP error -32000: Connection closed
|
|
50
|
+
Likely causes:
|
|
51
|
+
- The package may expect extra startup arguments or environment variables.
|
|
52
|
+
- The package may not behave like a plain local-process stdio target under this invocation.
|
|
53
|
+
- The server may be crashing immediately and only leaving clues on stderr.
|
|
54
|
+
Next steps:
|
|
55
|
+
- Run the command manually and look for usage output, auth prompts, or crash text.
|
|
56
|
+
- Check whether the package expects a different transport or an app-oriented startup flow.
|
|
57
|
+
- Use the recent stderr lines below before assuming this is a harness bug.
|
|
58
|
+
Recent stderr:
|
|
59
|
+
- npm error 404 'khan-academy-mcp@*' is not in this registry.
|
|
60
|
+
- npm error 404
|
|
61
|
+
- npm error 404 Note that you can also install from a
|
|
62
|
+
- npm error 404 tarball, folder, http url, or git url.
|
|
63
|
+
- npm error A complete log of this run can be found in: /Users/williamweishuhn/.npm/_logs/2026-07-15T22_34_01_290Z-debug-0.log
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Full Capability Status Table
|
|
67
|
+
|
|
68
|
+
| Focus | Check | Status | Duration (ms) | Message |
|
|
69
|
+
| --- | --- | --- | --- | --- |
|
|
70
|
+
| inspect startup | prompts | skipped | 0.00 | Skipped because startup failed before the MCP session initialized. See the failure diagnosis. |
|
|
71
|
+
| inspect startup | resources | skipped | 0.00 | Skipped because startup failed before the MCP session initialized. See the failure diagnosis. |
|
|
72
|
+
| inspect startup | tools | skipped | 0.00 | Skipped because startup failed before the MCP session initialized. See the failure diagnosis. |
|
|
73
|
+
|
|
74
|
+
## Evidence Snippets
|
|
75
|
+
|
|
76
|
+
### prompts — skipped
|
|
77
|
+
|
|
78
|
+
Summary: Skipped because startup failed before the MCP session initialized. See the failure diagnosis.
|
|
79
|
+
|
|
80
|
+
_No evidence was captured._
|
|
81
|
+
|
|
82
|
+
### resources — skipped
|
|
83
|
+
|
|
84
|
+
Summary: Skipped because startup failed before the MCP session initialized. See the failure diagnosis.
|
|
85
|
+
|
|
86
|
+
_No evidence was captured._
|
|
87
|
+
|
|
88
|
+
### tools — skipped
|
|
89
|
+
|
|
90
|
+
Summary: Skipped because startup failed before the MCP session initialized. See the failure diagnosis.
|
|
91
|
+
|
|
92
|
+
_No evidence was captured._
|
|
93
|
+
|
|
94
|
+
## Reproduction Commands
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
npm run cli -- run --target <path-to-target-config.json>
|
|
98
|
+
npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Artifact Provenance
|
|
102
|
+
|
|
103
|
+
- Artifact type: `run`
|
|
104
|
+
- Schema version: `1.0.0`
|
|
105
|
+
- Run ID: `run_2026-07-15T223401221Z_9edad485`
|
|
106
|
+
- Gate: `fail`
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"artifactType": "run",
|
|
3
3
|
"schemaVersion": "1.0.0",
|
|
4
4
|
"gate": "fail",
|
|
5
|
-
"runId": "run_2026-07-
|
|
6
|
-
"createdAt": "2026-07-
|
|
7
|
-
"toolVersion": "1.
|
|
5
|
+
"runId": "run_2026-07-17T003636918Z_5edd3f96",
|
|
6
|
+
"createdAt": "2026-07-17T00:36:36.918Z",
|
|
7
|
+
"toolVersion": "1.33.0",
|
|
8
8
|
"target": {
|
|
9
9
|
"targetId": "kubernetes-server",
|
|
10
10
|
"adapter": "local-process",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"whyItMatters": "Kubernetes MCP servers can expose cluster mutation, pod exec, manifest apply/delete, and broad kubectl command surfaces to agents."
|
|
23
23
|
},
|
|
24
24
|
"serverName": "kubernetes",
|
|
25
|
-
"serverVersion": "4.0.
|
|
25
|
+
"serverVersion": "4.0.4"
|
|
26
26
|
},
|
|
27
27
|
"environment": {
|
|
28
28
|
"platform": "darwin 25.5.0",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"id": "tools",
|
|
44
44
|
"capability": "tools",
|
|
45
45
|
"status": "pass",
|
|
46
|
-
"durationMs":
|
|
46
|
+
"durationMs": 2.041291999998066,
|
|
47
47
|
"message": "Advertised capability responded with the minimal expected shape (23 items).",
|
|
48
48
|
"evidence": [
|
|
49
49
|
{
|
|
@@ -78,9 +78,9 @@
|
|
|
78
78
|
"ping"
|
|
79
79
|
],
|
|
80
80
|
"diagnostics": [
|
|
81
|
-
"Starting Kubernetes MCP server v4.0.
|
|
81
|
+
"Starting Kubernetes MCP server v4.0.4, handling commands...",
|
|
82
82
|
"Telemetry: Disabled",
|
|
83
|
-
"(node:
|
|
83
|
+
"(node:41154) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
|
|
84
84
|
"(Use `node --trace-deprecation ...` to show where the warning was created)"
|
|
85
85
|
],
|
|
86
86
|
"schemas": {
|
|
@@ -295,7 +295,7 @@
|
|
|
295
295
|
},
|
|
296
296
|
"filename": {
|
|
297
297
|
"type": "string",
|
|
298
|
-
"description": "Path to a YAML file to create resources from"
|
|
298
|
+
"description": "Path to a YAML file to create resources from. The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use 'manifest' to pass the file's contents instead."
|
|
299
299
|
},
|
|
300
300
|
"resourceType": {
|
|
301
301
|
"type": "string",
|
|
@@ -322,7 +322,29 @@
|
|
|
322
322
|
"items": {
|
|
323
323
|
"type": "string"
|
|
324
324
|
},
|
|
325
|
-
"description": "Path to file for creating configmap (e.g. [\"key1=/path/to/file1\", \"key2=/path/to/file2\"])"
|
|
325
|
+
"description": "Path to file for creating configmap/secret (e.g. [\"key1=/path/to/file1\", \"key2=/path/to/file2\"]). The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use \"fromFileContent\" to pass file contents directly instead."
|
|
326
|
+
},
|
|
327
|
+
"fromFileContent": {
|
|
328
|
+
"type": "array",
|
|
329
|
+
"items": {
|
|
330
|
+
"type": "object",
|
|
331
|
+
"properties": {
|
|
332
|
+
"key": {
|
|
333
|
+
"type": "string",
|
|
334
|
+
"description": "Key to store the content under in the configmap/secret"
|
|
335
|
+
},
|
|
336
|
+
"content": {
|
|
337
|
+
"type": "string",
|
|
338
|
+
"description": "The file content to store"
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
"required": [
|
|
342
|
+
"key",
|
|
343
|
+
"content"
|
|
344
|
+
],
|
|
345
|
+
"additionalProperties": false
|
|
346
|
+
},
|
|
347
|
+
"description": "Inline file contents for creating a configmap/secret, provided by the client instead of a server-side path (e.g. [{\"key\": \"app.conf\", \"content\": \"...\"}]). Safe on all transports; use this instead of \"fromFile\" on remote (SSE/Streamable HTTP) servers."
|
|
326
348
|
},
|
|
327
349
|
"secretType": {
|
|
328
350
|
"type": "string",
|
|
@@ -1054,7 +1076,7 @@
|
|
|
1054
1076
|
"id": "prompts",
|
|
1055
1077
|
"capability": "prompts",
|
|
1056
1078
|
"status": "pass",
|
|
1057
|
-
"durationMs": 0.
|
|
1079
|
+
"durationMs": 0.42466699999931734,
|
|
1058
1080
|
"message": "Advertised capability responded with the minimal expected shape (1 item).",
|
|
1059
1081
|
"evidence": [
|
|
1060
1082
|
{
|
|
@@ -1067,9 +1089,9 @@
|
|
|
1067
1089
|
"k8s-diagnose"
|
|
1068
1090
|
],
|
|
1069
1091
|
"diagnostics": [
|
|
1070
|
-
"Starting Kubernetes MCP server v4.0.
|
|
1092
|
+
"Starting Kubernetes MCP server v4.0.4, handling commands...",
|
|
1071
1093
|
"Telemetry: Disabled",
|
|
1072
|
-
"(node:
|
|
1094
|
+
"(node:41154) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
|
|
1073
1095
|
"(Use `node --trace-deprecation ...` to show where the warning was created)"
|
|
1074
1096
|
]
|
|
1075
1097
|
}
|
|
@@ -1079,7 +1101,7 @@
|
|
|
1079
1101
|
"id": "resources",
|
|
1080
1102
|
"capability": "resources",
|
|
1081
1103
|
"status": "pass",
|
|
1082
|
-
"durationMs": 0.
|
|
1104
|
+
"durationMs": 0.9475420000017039,
|
|
1083
1105
|
"message": "Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported.",
|
|
1084
1106
|
"evidence": [
|
|
1085
1107
|
{
|
|
@@ -1096,9 +1118,9 @@
|
|
|
1096
1118
|
"k8s://nodes"
|
|
1097
1119
|
],
|
|
1098
1120
|
"diagnostics": [
|
|
1099
|
-
"Starting Kubernetes MCP server v4.0.
|
|
1121
|
+
"Starting Kubernetes MCP server v4.0.4, handling commands...",
|
|
1100
1122
|
"Telemetry: Disabled",
|
|
1101
|
-
"(node:
|
|
1123
|
+
"(node:41154) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
|
|
1102
1124
|
"(Use `node --trace-deprecation ...` to show where the warning was created)"
|
|
1103
1125
|
]
|
|
1104
1126
|
},
|
|
@@ -1109,9 +1131,9 @@
|
|
|
1109
1131
|
"minimalShapePresent": false,
|
|
1110
1132
|
"diagnostics": [
|
|
1111
1133
|
"MCP error -32601: Method not found",
|
|
1112
|
-
"Starting Kubernetes MCP server v4.0.
|
|
1134
|
+
"Starting Kubernetes MCP server v4.0.4, handling commands...",
|
|
1113
1135
|
"Telemetry: Disabled",
|
|
1114
|
-
"(node:
|
|
1136
|
+
"(node:41154) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.",
|
|
1115
1137
|
"(Use `node --trace-deprecation ...` to show where the warning was created)"
|
|
1116
1138
|
]
|
|
1117
1139
|
}
|
|
@@ -1121,7 +1143,7 @@
|
|
|
1121
1143
|
"id": "security-lite",
|
|
1122
1144
|
"capability": "security-lite",
|
|
1123
1145
|
"status": "fail",
|
|
1124
|
-
"durationMs": 0.
|
|
1146
|
+
"durationMs": 0.07570800000030431,
|
|
1125
1147
|
"message": "Found 8 security finding(s): 3 high, 3 medium, 2 low.",
|
|
1126
1148
|
"evidence": [
|
|
1127
1149
|
{
|
|
@@ -1206,18 +1228,18 @@
|
|
|
1206
1228
|
"id": "runtime-profile",
|
|
1207
1229
|
"capability": "runtime-profile",
|
|
1208
1230
|
"status": "partial",
|
|
1209
|
-
"durationMs": 0.
|
|
1210
|
-
"message": "Detected
|
|
1231
|
+
"durationMs": 0.407959000000119,
|
|
1232
|
+
"message": "Detected 11 potential egress target(s) and 76 potential state mutation(s) with high confidence.",
|
|
1211
1233
|
"evidence": [
|
|
1212
1234
|
{
|
|
1213
1235
|
"endpoint": "runtime-profile/analyze",
|
|
1214
1236
|
"advertised": true,
|
|
1215
1237
|
"responded": true,
|
|
1216
1238
|
"minimalShapePresent": true,
|
|
1217
|
-
"itemCount":
|
|
1239
|
+
"itemCount": 87,
|
|
1218
1240
|
"diagnostics": [
|
|
1219
|
-
"Egress entries:
|
|
1220
|
-
"State mutations:
|
|
1241
|
+
"Egress entries: 11",
|
|
1242
|
+
"State mutations: 76",
|
|
1221
1243
|
"Confidence: high"
|
|
1222
1244
|
],
|
|
1223
1245
|
"findings": [
|
|
@@ -1233,6 +1255,24 @@
|
|
|
1233
1255
|
"source": "description_analysis",
|
|
1234
1256
|
"confidence": "medium"
|
|
1235
1257
|
},
|
|
1258
|
+
{
|
|
1259
|
+
"target": "Path to a YAML file to create resources from. The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use 'manifest' to pass the file's contents instead.",
|
|
1260
|
+
"protocol": "unknown",
|
|
1261
|
+
"source": "description_analysis",
|
|
1262
|
+
"confidence": "medium"
|
|
1263
|
+
},
|
|
1264
|
+
{
|
|
1265
|
+
"target": "Path to file for creating configmap/secret (e.g. [\"key1=/path/to/file1\", \"key2=/path/to/file2\"]). The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use \"fromFileContent\" to pass file contents directly instead.",
|
|
1266
|
+
"protocol": "unknown",
|
|
1267
|
+
"source": "description_analysis",
|
|
1268
|
+
"confidence": "medium"
|
|
1269
|
+
},
|
|
1270
|
+
{
|
|
1271
|
+
"target": "Inline file contents for creating a configmap/secret, provided by the client instead of a server-side path (e.g. [{\"key\": \"app.conf\", \"content\": \"...\"}]). Safe on all transports; use this instead of \"fromFile\" on remote (SSE/Streamable HTTP) servers.",
|
|
1272
|
+
"protocol": "unknown",
|
|
1273
|
+
"source": "description_analysis",
|
|
1274
|
+
"confidence": "medium"
|
|
1275
|
+
},
|
|
1236
1276
|
{
|
|
1237
1277
|
"target": "kubectl_reconnect",
|
|
1238
1278
|
"protocol": "unknown",
|
|
@@ -1629,6 +1669,12 @@
|
|
|
1629
1669
|
"scope": "working_directory",
|
|
1630
1670
|
"source": "description_analysis"
|
|
1631
1671
|
},
|
|
1672
|
+
{
|
|
1673
|
+
"resource": "filesystem",
|
|
1674
|
+
"operation": "write",
|
|
1675
|
+
"scope": "working_directory",
|
|
1676
|
+
"source": "description_analysis"
|
|
1677
|
+
},
|
|
1632
1678
|
{
|
|
1633
1679
|
"resource": "network",
|
|
1634
1680
|
"operation": "execute",
|
|
@@ -1727,7 +1773,7 @@
|
|
|
1727
1773
|
"id": "conformance",
|
|
1728
1774
|
"capability": "conformance",
|
|
1729
1775
|
"status": "pass",
|
|
1730
|
-
"durationMs":
|
|
1776
|
+
"durationMs": 2.1241660000014235,
|
|
1731
1777
|
"message": "All 7 conformance checks passed.",
|
|
1732
1778
|
"evidence": [
|
|
1733
1779
|
{
|
|
@@ -1753,7 +1799,7 @@
|
|
|
1753
1799
|
"id": "schema-quality",
|
|
1754
1800
|
"capability": "schema-quality",
|
|
1755
1801
|
"status": "partial",
|
|
1756
|
-
"durationMs":
|
|
1802
|
+
"durationMs": 0.9270419999993464,
|
|
1757
1803
|
"message": "Found 7 quality finding(s) across 29 item(s): 0 warnings, 7 info.",
|
|
1758
1804
|
"evidence": [
|
|
1759
1805
|
{
|
|
@@ -1827,7 +1873,7 @@
|
|
|
1827
1873
|
"id": "security",
|
|
1828
1874
|
"capability": "security",
|
|
1829
1875
|
"status": "fail",
|
|
1830
|
-
"durationMs": 0.
|
|
1876
|
+
"durationMs": 0.4053329999987909,
|
|
1831
1877
|
"message": "Found 8 security finding(s): 3 high, 3 medium, 2 low.",
|
|
1832
1878
|
"evidence": [
|
|
1833
1879
|
{
|
|
@@ -1912,7 +1958,7 @@
|
|
|
1912
1958
|
"id": "attack-sim",
|
|
1913
1959
|
"capability": "attack-sim",
|
|
1914
1960
|
"status": "fail",
|
|
1915
|
-
"durationMs": 1.
|
|
1961
|
+
"durationMs": 1.5383750000000873,
|
|
1916
1962
|
"message": "Safe attack simulation found 5 finding(s): 3 high, 2 medium, 0 low.",
|
|
1917
1963
|
"evidence": [
|
|
1918
1964
|
{
|
|
@@ -2079,17 +2125,17 @@
|
|
|
2079
2125
|
"weight": 0.1,
|
|
2080
2126
|
"score": 100,
|
|
2081
2127
|
"details": [
|
|
2082
|
-
"Connect:
|
|
2083
|
-
"p95 latency:
|
|
2128
|
+
"Connect: 1788ms",
|
|
2129
|
+
"p95 latency: 2ms (3 operations)"
|
|
2084
2130
|
]
|
|
2085
2131
|
}
|
|
2086
2132
|
]
|
|
2087
2133
|
},
|
|
2088
2134
|
"performanceMetrics": {
|
|
2089
|
-
"connectMs":
|
|
2090
|
-
"toolsListMs":
|
|
2091
|
-
"promptsListMs": 0.
|
|
2092
|
-
"resourcesListMs": 0.
|
|
2135
|
+
"connectMs": 1788.1130420000009,
|
|
2136
|
+
"toolsListMs": 2.041291999998066,
|
|
2137
|
+
"promptsListMs": 0.42466699999931734,
|
|
2138
|
+
"resourcesListMs": 0.9475420000017039
|
|
2093
2139
|
},
|
|
2094
2140
|
"runtimeProfile": {
|
|
2095
2141
|
"egress": [
|
|
@@ -2105,6 +2151,24 @@
|
|
|
2105
2151
|
"source": "description_analysis",
|
|
2106
2152
|
"confidence": "medium"
|
|
2107
2153
|
},
|
|
2154
|
+
{
|
|
2155
|
+
"target": "Path to a YAML file to create resources from. The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use 'manifest' to pass the file's contents instead.",
|
|
2156
|
+
"protocol": "unknown",
|
|
2157
|
+
"source": "description_analysis",
|
|
2158
|
+
"confidence": "medium"
|
|
2159
|
+
},
|
|
2160
|
+
{
|
|
2161
|
+
"target": "Path to file for creating configmap/secret (e.g. [\"key1=/path/to/file1\", \"key2=/path/to/file2\"]). The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use \"fromFileContent\" to pass file contents directly instead.",
|
|
2162
|
+
"protocol": "unknown",
|
|
2163
|
+
"source": "description_analysis",
|
|
2164
|
+
"confidence": "medium"
|
|
2165
|
+
},
|
|
2166
|
+
{
|
|
2167
|
+
"target": "Inline file contents for creating a configmap/secret, provided by the client instead of a server-side path (e.g. [{\"key\": \"app.conf\", \"content\": \"...\"}]). Safe on all transports; use this instead of \"fromFile\" on remote (SSE/Streamable HTTP) servers.",
|
|
2168
|
+
"protocol": "unknown",
|
|
2169
|
+
"source": "description_analysis",
|
|
2170
|
+
"confidence": "medium"
|
|
2171
|
+
},
|
|
2108
2172
|
{
|
|
2109
2173
|
"target": "kubectl_reconnect",
|
|
2110
2174
|
"protocol": "unknown",
|
|
@@ -2503,6 +2567,12 @@
|
|
|
2503
2567
|
"scope": "working_directory",
|
|
2504
2568
|
"source": "description_analysis"
|
|
2505
2569
|
},
|
|
2570
|
+
{
|
|
2571
|
+
"resource": "filesystem",
|
|
2572
|
+
"operation": "write",
|
|
2573
|
+
"scope": "working_directory",
|
|
2574
|
+
"source": "description_analysis"
|
|
2575
|
+
},
|
|
2506
2576
|
{
|
|
2507
2577
|
"resource": "network",
|
|
2508
2578
|
"operation": "execute",
|
|
@@ -2594,7 +2664,7 @@
|
|
|
2594
2664
|
"source": "description_analysis"
|
|
2595
2665
|
}
|
|
2596
2666
|
],
|
|
2597
|
-
"analyzedAt": "2026-07-
|
|
2667
|
+
"analyzedAt": "2026-07-17T00:36:38.710Z",
|
|
2598
2668
|
"confidence": "high"
|
|
2599
2669
|
}
|
|
2600
2670
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# MCP Observatory Run Report
|
|
2
2
|
|
|
3
|
-
Generated at 2026-07-
|
|
3
|
+
Generated at 2026-07-17T00:36:36.918Z
|
|
4
4
|
|
|
5
5
|
## Target and Environment Metadata
|
|
6
6
|
|
|
7
7
|
- Target: `kubernetes-server`
|
|
8
8
|
- Adapter: `local-process`
|
|
9
9
|
- Command: `npx -y mcp-server-kubernetes`
|
|
10
|
-
- Server: `kubernetes 4.0.
|
|
10
|
+
- Server: `kubernetes 4.0.4`
|
|
11
11
|
- Platform: `darwin 25.5.0`
|
|
12
12
|
- Node: `v22.22.1`
|
|
13
13
|
|
|
@@ -30,7 +30,7 @@ Generated at 2026-07-12T23:44:14.092Z
|
|
|
30
30
|
## At a Glance
|
|
31
31
|
|
|
32
32
|
- Safety verdict: **Blocked** — One or more checks can break agent dependence and should be fixed before production use.
|
|
33
|
-
- Top risks: runtime-profile: Detected
|
|
33
|
+
- Top risks: runtime-profile: Detected 11 potential egress target(s) and 76 potential state mutation(s) with high confidence.; schema-quality: Found 7 quality finding(s) across 29 item(s): 0 warnings, 7 info.; attack-sim: Safe attack simulation found 5 finding(s): 3 high, 2 medium, 0 low.
|
|
34
34
|
- Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
|
|
35
35
|
- Failing checks: security-lite, security, attack-sim
|
|
36
36
|
- Partial or flaky checks: runtime-profile, schema-quality
|
|
@@ -54,6 +54,9 @@ The following targets were identified as potentially reachable by this server (c
|
|
|
54
54
|
| --- | --- | --- | --- |
|
|
55
55
|
| If true, immediately remove resources from API and bypass graceful deletion | unknown | description_analysis | medium |
|
|
56
56
|
| If true, immediately remove resources from API and bypass graceful deletion | unknown | description_analysis | medium |
|
|
57
|
+
| Path to a YAML file to create resources from. The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use 'manifest' to pass the file's contents instead. | unknown | description_analysis | medium |
|
|
58
|
+
| Path to file for creating configmap/secret (e.g. ["key1=/path/to/file1", "key2=/path/to/file2"]). The path is read on the machine running the MCP server, so it is rejected when the server runs over a remote (SSE/Streamable HTTP) transport; use "fromFileContent" to pass file contents directly instead. | unknown | description_analysis | medium |
|
|
59
|
+
| Inline file contents for creating a configmap/secret, provided by the client instead of a server-side path (e.g. [{"key": "app.conf", "content": "..."}]). Safe on all transports; use this instead of "fromFile" on remote (SSE/Streamable HTTP) servers. | unknown | description_analysis | medium |
|
|
57
60
|
| kubectl_reconnect | unknown | description_analysis | low |
|
|
58
61
|
| API version to use (e.g. 'apps/v1') | unknown | description_analysis | medium |
|
|
59
62
|
| Helm repository URL (optional if using local chart path) | unknown | description_analysis | medium |
|
|
@@ -127,6 +130,7 @@ The following state-modifying operations were identified from tool schemas:
|
|
|
127
130
|
| filesystem | write | working_directory | description_analysis |
|
|
128
131
|
| filesystem | write | working_directory | description_analysis |
|
|
129
132
|
| filesystem | write | working_directory | description_analysis |
|
|
133
|
+
| filesystem | write | working_directory | description_analysis |
|
|
130
134
|
| network | execute | specific_path | tool_schema |
|
|
131
135
|
| filesystem | write | working_directory | description_analysis |
|
|
132
136
|
| filesystem | write | working_directory | description_analysis |
|
|
@@ -143,7 +147,7 @@ The following state-modifying operations were identified from tool schemas:
|
|
|
143
147
|
| filesystem | write | working_directory | description_analysis |
|
|
144
148
|
| filesystem | write | working_directory | description_analysis |
|
|
145
149
|
|
|
146
|
-
_Analyzed at 2026-07-
|
|
150
|
+
_Analyzed at 2026-07-17T00:36:38.710Z_
|
|
147
151
|
|
|
148
152
|
## Regressions and Recoveries
|
|
149
153
|
|
|
@@ -153,15 +157,15 @@ _Use the `diff` command against another run artifact to classify regressions and
|
|
|
153
157
|
|
|
154
158
|
| Focus | Check | Status | Duration (ms) | Message |
|
|
155
159
|
| --- | --- | --- | --- | --- |
|
|
156
|
-
| healthy | conformance | pass |
|
|
157
|
-
| healthy | prompts | pass | 0.
|
|
158
|
-
| healthy | resources | pass | 0.
|
|
159
|
-
| healthy | tools | pass |
|
|
160
|
-
| review | runtime-profile | partial | 0.
|
|
161
|
-
| review | schema-quality | partial |
|
|
162
|
-
| act now | attack-sim | fail | 1.
|
|
163
|
-
| act now | security | fail | 0.
|
|
164
|
-
| act now | security-lite | fail | 0.
|
|
160
|
+
| healthy | conformance | pass | 2.12 | All 7 conformance checks passed. |
|
|
161
|
+
| healthy | prompts | pass | 0.42 | Advertised capability responded with the minimal expected shape (1 item). |
|
|
162
|
+
| healthy | resources | pass | 0.95 | Advertised capability responded with the minimal expected shape, but one optional resource endpoint appears unsupported. |
|
|
163
|
+
| healthy | tools | pass | 2.04 | Advertised capability responded with the minimal expected shape (23 items). |
|
|
164
|
+
| review | runtime-profile | partial | 0.41 | Detected 11 potential egress target(s) and 76 potential state mutation(s) with high confidence. |
|
|
165
|
+
| review | schema-quality | partial | 0.93 | Found 7 quality finding(s) across 29 item(s): 0 warnings, 7 info. |
|
|
166
|
+
| act now | attack-sim | fail | 1.54 | Safe attack simulation found 5 finding(s): 3 high, 2 medium, 0 low. |
|
|
167
|
+
| act now | security | fail | 0.41 | Found 8 security finding(s): 3 high, 3 medium, 2 low. |
|
|
168
|
+
| act now | security-lite | fail | 0.08 | Found 8 security finding(s): 3 high, 3 medium, 2 low. |
|
|
165
169
|
|
|
166
170
|
## Evidence Snippets
|
|
167
171
|
|
|
@@ -187,7 +191,7 @@ Summary: Advertised capability responded with the minimal expected shape (1 item
|
|
|
187
191
|
- Minimal shape present: `true`
|
|
188
192
|
- Item count: `1`
|
|
189
193
|
- Identifiers: k8s-diagnose
|
|
190
|
-
- Diagnostics: Starting Kubernetes MCP server v4.0.
|
|
194
|
+
- Diagnostics: Starting Kubernetes MCP server v4.0.4, handling commands..., Telemetry: Disabled, (node:41154) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (+1 more)
|
|
191
195
|
|
|
192
196
|
### resources — pass
|
|
193
197
|
|
|
@@ -199,14 +203,14 @@ Summary: Advertised capability responded with the minimal expected shape, but on
|
|
|
199
203
|
- Minimal shape present: `true`
|
|
200
204
|
- Item count: `5`
|
|
201
205
|
- Identifiers: k8s://default/pods, k8s://default/deployments, k8s://default/services, k8s://namespaces, k8s://nodes
|
|
202
|
-
- Diagnostics: Starting Kubernetes MCP server v4.0.
|
|
206
|
+
- Diagnostics: Starting Kubernetes MCP server v4.0.4, handling commands..., Telemetry: Disabled, (node:41154) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (+1 more)
|
|
203
207
|
- Endpoint: `resources/templates/list`
|
|
204
208
|
- Advertised: `true`
|
|
205
209
|
- Responded: `false`
|
|
206
210
|
- Minimal shape present: `false`
|
|
207
211
|
- Item count: `0`
|
|
208
212
|
- Identifiers: none
|
|
209
|
-
- Diagnostics: MCP error -32601: Method not found, Starting Kubernetes MCP server v4.0.
|
|
213
|
+
- Diagnostics: MCP error -32601: Method not found, Starting Kubernetes MCP server v4.0.4, handling commands..., Telemetry: Disabled (+2 more)
|
|
210
214
|
|
|
211
215
|
### tools — pass
|
|
212
216
|
|
|
@@ -218,19 +222,19 @@ Summary: Advertised capability responded with the minimal expected shape (23 ite
|
|
|
218
222
|
- Minimal shape present: `true`
|
|
219
223
|
- Item count: `23`
|
|
220
224
|
- Identifiers: cleanup, kubectl_get, kubectl_describe, kubectl_apply, kubectl_delete (+18 more)
|
|
221
|
-
- Diagnostics: Starting Kubernetes MCP server v4.0.
|
|
225
|
+
- Diagnostics: Starting Kubernetes MCP server v4.0.4, handling commands..., Telemetry: Disabled, (node:41154) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (+1 more)
|
|
222
226
|
|
|
223
227
|
### runtime-profile — partial
|
|
224
228
|
|
|
225
|
-
Summary: Detected
|
|
229
|
+
Summary: Detected 11 potential egress target(s) and 76 potential state mutation(s) with high confidence.
|
|
226
230
|
|
|
227
231
|
- Endpoint: `runtime-profile/analyze`
|
|
228
232
|
- Advertised: `true`
|
|
229
233
|
- Responded: `true`
|
|
230
234
|
- Minimal shape present: `true`
|
|
231
|
-
- Item count: `
|
|
235
|
+
- Item count: `87`
|
|
232
236
|
- Identifiers: none
|
|
233
|
-
- Diagnostics: Egress entries:
|
|
237
|
+
- Diagnostics: Egress entries: 11, State mutations: 76, Confidence: high
|
|
234
238
|
|
|
235
239
|
### schema-quality — partial
|
|
236
240
|
|
|
@@ -291,5 +295,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
|
|
|
291
295
|
|
|
292
296
|
- Artifact type: `run`
|
|
293
297
|
- Schema version: `1.0.0`
|
|
294
|
-
- Run ID: `run_2026-07-
|
|
298
|
+
- Run ID: `run_2026-07-17T003636918Z_5edd3f96`
|
|
295
299
|
- Gate: `fail`
|