@kryptosai/mcp-observatory 0.23.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +8 -7
  2. package/dist/src/commands/init-ci.d.ts +3 -0
  3. package/dist/src/commands/init-ci.js +24 -12
  4. package/dist/src/commands/init-ci.js.map +1 -1
  5. package/dist/src/reporters/pr-comment.js +6 -2
  6. package/dist/src/reporters/pr-comment.js.map +1 -1
  7. package/docs/certification-campaign-template.md +2 -2
  8. package/docs/mcp-safety-report-latest.md +12 -7
  9. package/docs/mcp-server-safety-index.md +56 -80
  10. package/docs/methodology.md +90 -0
  11. package/docs/metrics-dashboard.md +105 -0
  12. package/docs/paid-pilot-offer.md +21 -5
  13. package/docs/project-case-study.md +12 -8
  14. package/docs/proof.md +28 -15
  15. package/docs/public-post-drafts.md +18 -6
  16. package/docs/publish-readiness.md +1 -5
  17. package/docs/reference-evaluations.md +1 -1
  18. package/docs/safety-index/artifacts/antv-chart-server.json +2765 -0
  19. package/docs/safety-index/artifacts/antv-chart-server.md +156 -0
  20. package/docs/safety-index/artifacts/browsermcp-server.json +416 -0
  21. package/docs/safety-index/artifacts/browsermcp-server.md +163 -0
  22. package/docs/safety-index/artifacts/context7-server.json +286 -0
  23. package/docs/safety-index/artifacts/context7-server.md +163 -0
  24. package/docs/safety-index/artifacts/everything-server.json +482 -0
  25. package/docs/safety-index/artifacts/everything-server.md +163 -0
  26. package/docs/safety-index/artifacts/executeautomation-playwright-server.json +955 -0
  27. package/docs/safety-index/artifacts/executeautomation-playwright-server.md +163 -0
  28. package/docs/safety-index/artifacts/filesystem-server.json +583 -0
  29. package/docs/safety-index/artifacts/filesystem-server.md +156 -0
  30. package/docs/safety-index/artifacts/memory-server.json +469 -0
  31. package/docs/safety-index/artifacts/memory-server.md +156 -0
  32. package/docs/safety-index/artifacts/opentofu-server.json +387 -0
  33. package/docs/safety-index/artifacts/opentofu-server.md +163 -0
  34. package/docs/safety-index/artifacts/playwright-mcp-server.json +919 -0
  35. package/docs/safety-index/artifacts/playwright-mcp-server.md +156 -0
  36. package/docs/safety-index/artifacts/promptopia-server.json +442 -0
  37. package/docs/safety-index/artifacts/promptopia-server.md +156 -0
  38. package/docs/safety-index/artifacts/puppeteer-server.json +377 -0
  39. package/docs/safety-index/artifacts/puppeteer-server.md +163 -0
  40. package/docs/safety-index/artifacts/ref-tools-server.json +262 -0
  41. package/docs/safety-index/artifacts/ref-tools-server.md +156 -0
  42. package/docs/safety-index/artifacts/sequential-thinking-server.json +286 -0
  43. package/docs/safety-index/artifacts/sequential-thinking-server.md +156 -0
  44. package/docs/safety-index/maintainer-note-template.md +25 -0
  45. package/docs/safety-index/targets.json +192 -0
  46. package/package.json +12 -9
package/README.md CHANGED
@@ -55,7 +55,7 @@ Observatory gives maintainers and teams:
55
55
  - **MCP server mode** so agents can inspect other MCP servers directly
56
56
  - **Production pilot path** for hosted history, private repo reporting, certification, support, and fleet visibility
57
57
 
58
- See the [MCP server security field guide](./docs/mcp-security-field-guide.md), [MCP Server Safety Index](./docs/mcp-server-safety-index.md), [reference evaluations](./docs/reference-evaluations.md), [MCP lock files](./docs/mcp-lock-files.md), [public proof](./docs/proof.md), the [certification distribution loop](./docs/certification-distribution.md), and [commercial pilots](./COMMERCIAL.md).
58
+ See the [MCP server security field guide](./docs/mcp-security-field-guide.md), [Safety Methodology](./docs/methodology.md), [MCP Server Safety Index](./docs/mcp-server-safety-index.md), [reference evaluations](./docs/reference-evaluations.md), [MCP lock files](./docs/mcp-lock-files.md), [public proof](./docs/proof.md), the [certification distribution loop](./docs/certification-distribution.md), [local metrics dashboard](./docs/metrics-dashboard.md), and [commercial pilots](./COMMERCIAL.md).
59
59
 
60
60
  ## For Security And Platform Teams
61
61
 
@@ -219,18 +219,19 @@ on: [pull_request]
219
219
 
220
220
  permissions:
221
221
  contents: read
222
- pull-requests: write
223
- statuses: write
224
222
 
225
223
  jobs:
226
224
  observatory:
227
225
  runs-on: ubuntu-latest
228
226
  steps:
229
227
  - uses: actions/checkout@v4
230
- - uses: KryptosAI/mcp-observatory/action@main
228
+ - uses: KryptosAI/mcp-observatory/action@v0.24.0
231
229
  with:
232
230
  command: npx -y my-mcp-server
231
+ deep: true
233
232
  security: true
233
+ comment-on-pr: false
234
+ set-status: false
234
235
  ```
235
236
 
236
237
  Action inputs:
@@ -244,11 +245,11 @@ Action inputs:
244
245
  | `security` | Run security analysis | `false` |
245
246
  | `fail-on-regression` | Fail the action on issues | `true` |
246
247
  | `fail-on-baseline-drift` | Fail the action when baseline verification detects drift | `true` |
247
- | `comment-on-pr` | Post report as PR comment | `true` |
248
- | `set-status` | Set a commit status check (green/red) on the HEAD SHA | `true` |
248
+ | `comment-on-pr` | Post report as PR comment. Requires `pull-requests: write`. | `true` |
249
+ | `set-status` | Set a commit status check (green/red) on the HEAD SHA. Requires `statuses: write`. | `true` |
249
250
  | `github-token` | Token for PR comments and commit statuses | `${{ github.token }}` |
250
251
 
251
- The action runs checks on every PR, comments a markdown report when GitHub grants write permissions, and blocks merge on regressions. See [`action/README.md`](./action/README.md) for all options.
252
+ The action can comment on PRs and set commit statuses when the workflow grants write permissions. `init-ci` generates read-only third-party-friendly workflows by default and lets maintainers opt into comments/statuses later. See [`action/README.md`](./action/README.md) for all options.
252
253
 
253
254
  Production teams can add hosted CI history, private-repo reporting, recurring security reports, certification review, support, and fleet visibility. Run `npx @kryptosai/mcp-observatory cloud` for pilot options.
254
255
 
@@ -9,6 +9,9 @@ export interface InitCiOptions {
9
9
  prBody?: string | boolean;
10
10
  issueBody?: string | boolean;
11
11
  scoreBadge?: string | boolean;
12
+ commentOnPr?: boolean;
13
+ setStatus?: boolean;
14
+ actionRef?: string;
12
15
  all?: boolean;
13
16
  force?: boolean;
14
17
  }
@@ -7,6 +7,7 @@ const DEFAULT_TARGET_CONFIG_PATH = "mcp-observatory.target.json";
7
7
  const DEFAULT_PR_BODY_PATH = "docs/mcp-observatory-pr-body.md";
8
8
  const DEFAULT_ISSUE_BODY_PATH = "docs/mcp-observatory-issue.md";
9
9
  const DEFAULT_SCORE_BADGE_PATH = "docs/mcp-observatory-score-badge.md";
10
+ const DEFAULT_ACTION_REF = "v0.24.0";
10
11
  async function exists(filePath) {
11
12
  try {
12
13
  await access(filePath);
@@ -19,6 +20,9 @@ async function exists(filePath) {
19
20
  function workflowYaml(options) {
20
21
  const command = options.command?.trim();
21
22
  const target = options.target?.trim();
23
+ const commentsEnabled = options.commentOnPr === true;
24
+ const statusEnabled = options.setStatus === true;
25
+ const actionRef = options.actionRef?.trim() || DEFAULT_ACTION_REF;
22
26
  const lines = [
23
27
  "name: MCP Observatory",
24
28
  "",
@@ -29,17 +33,12 @@ function workflowYaml(options) {
29
33
  "",
30
34
  "permissions:",
31
35
  " contents: read",
32
- " pull-requests: write",
33
- " statuses: write",
34
- "",
35
- "jobs:",
36
- " mcp-observatory:",
37
- " runs-on: ubuntu-latest",
38
- " steps:",
39
- " - uses: actions/checkout@v6",
40
- " - uses: KryptosAI/mcp-observatory/action@main",
41
- " with:",
42
36
  ];
37
+ if (commentsEnabled)
38
+ lines.push(" pull-requests: write");
39
+ if (statusEnabled)
40
+ lines.push(" statuses: write");
41
+ lines.push("", "jobs:", " mcp-observatory:", " runs-on: ubuntu-latest", " steps:", " - uses: actions/checkout@v6", ` - uses: KryptosAI/mcp-observatory/action@${actionRef}`, " with:");
43
42
  if (target) {
44
43
  lines.push(` target: ${target}`);
45
44
  }
@@ -49,7 +48,11 @@ function workflowYaml(options) {
49
48
  else {
50
49
  lines.push(` command: ${command ?? "npx -y <server-package>"}`);
51
50
  }
52
- lines.push(" deep: true", " security: true", " comment-on-pr: true", "");
51
+ lines.push(" deep: true", " security: true", ` comment-on-pr: ${commentsEnabled ? "true" : "false"}`, ` set-status: ${statusEnabled ? "true" : "false"}`);
52
+ if (!commentsEnabled && !statusEnabled) {
53
+ lines.push(" # Read-only by default for low-friction external PRs. Maintainers can enable PR comments/statuses later.");
54
+ }
55
+ lines.push("");
53
56
  return lines.join("\n");
54
57
  }
55
58
  function badgeMarkdown() {
@@ -94,7 +97,11 @@ function prBodyMarkdown(options) {
94
97
  "- publishes a small PR report for maintainers",
95
98
  "- adds an optional README trust badge",
96
99
  "",
97
- "This does not require an MCP Observatory account. If the check is too strict at first, the workflow can be adjusted while keeping the report visible.",
100
+ "This does not require an MCP Observatory account. The generated workflow is read-only by default for low-friction review; maintainers can enable PR comments or commit statuses later if they want inline reporting.",
101
+ "",
102
+ "The action reference is pinned to a release by default. Security-sensitive repos can replace it with a full commit SHA.",
103
+ "",
104
+ "Maintainer note: if this PR is opened on the MCP server's own repository, please update `mcp-observatory.target.json` to run the local build/start command instead of a published package. The generated `npx` command is a portable default, but local CI should validate the code in this PR.",
98
105
  "",
99
106
  "Generated by:",
100
107
  "",
@@ -119,6 +126,8 @@ function issueBodyMarkdown(options) {
119
126
  "",
120
127
  "The generated workflow runs on pull requests and pushes, comments a concise report, and can include a README badge if maintainers want a public trust signal.",
121
128
  "",
129
+ "If this is the server's own repository, prefer a local build/start command in the generated target config so CI validates the pull request code rather than only the published package.",
130
+ "",
122
131
  ].join("\n");
123
132
  }
124
133
  function scoreBadgeMarkdown() {
@@ -206,6 +215,9 @@ export function registerInitCiCommands(program) {
206
215
  .option("--pr-body [file]", "Also write a maintainer PR body.")
207
216
  .option("--issue-body [file]", "Also write an issue-only fallback body.")
208
217
  .option("--score-badge [file]", "Also write score badge generation instructions.")
218
+ .option("--comment-on-pr", "Allow the generated workflow to post PR comments. This adds pull-requests: write permission.", false)
219
+ .option("--set-status", "Allow the generated workflow to set commit statuses. This adds statuses: write permission.", false)
220
+ .option("--action-ref <ref>", "Git ref for KryptosAI/mcp-observatory/action. Use a full commit SHA for strict third-party action pinning.", DEFAULT_ACTION_REF)
209
221
  .option("--all", "Write the full adoption kit: workflow, badge, target config, PR body, issue body, and score badge instructions.", false)
210
222
  .option("--force", "Overwrite existing files.", false)
211
223
  .action(async (options) => {
@@ -1 +1 @@
1
- {"version":3,"file":"init-ci.js","sourceRoot":"","sources":["../../../src/commands/init-ci.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-ci.js","sourceRoot":"","sources":["../../../src/commands/init-ci.ts"],"names":[],"mappings":"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"}
@@ -75,13 +75,17 @@ function renderRunComment(artifact, trend) {
75
75
  const highMedSecurity = security.filter(f => f.severity === "high" || f.severity === "medium");
76
76
  const issueCount = highMedSecurity.length + failingChecks.length + quality.length + (conformance ? 1 : 0);
77
77
  // Header
78
- if (issueCount === 0) {
78
+ if (safety.verdict === "Ready" && issueCount === 0) {
79
79
  sections.push("## 🔭 MCP Observatory — All clear ✅");
80
80
  sections.push("");
81
81
  sections.push("All checks passed. No security issues, no schema quality warnings.");
82
82
  }
83
83
  else {
84
- sections.push(`## 🔭 MCP Observatory — ${issueCount} issue${issueCount === 1 ? "" : "s"} found`);
84
+ const label = safety.verdict === "Blocked" ? "Action needed" : "Review recommended";
85
+ const issueLabel = issueCount > 0
86
+ ? `${issueCount} issue${issueCount === 1 ? "" : "s"} found`
87
+ : "run did not clear the gate";
88
+ sections.push(`## 🔭 MCP Observatory — ${label}: ${issueLabel}`);
85
89
  }
86
90
  // Security (red)
87
91
  if (highMedSecurity.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"pr-comment.js","sourceRoot":"","sources":["../../../src/reporters/pr-comment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr-comment.js","sourceRoot":"","sources":["../../../src/reporters/pr-comment.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ Skip:
42
42
  | 5 | `browserbase/mcp-server-browserbase` | `npx -y @browserbasehq/mcp-server-browserbase` | Browser Automation | Hosted browser MCP category | verify auth-free startup | May require API key; issue-only if startup requires credentials | researched | | |
43
43
  | 6 | `smithery-ai/server-sequential-thinking` | `npx -y @smithery-ai/server-sequential-thinking` | Developer Tools | MCP directory ecosystem | verify package/repo naming | Good low-risk simple server if public package starts cleanly | researched | | |
44
44
  | 7 | `kazuph/mcp-taskmanager` | `npx -y @kazuph/mcp-taskmanager@latest` | Developer Tools | 200+ stars / task/project MCP category | Local validation passed: 10 tools | Scoped package name corrected from tracker | pr-opened | https://github.com/kazuph/mcp-taskmanager/pull/11 | Waiting for maintainer review |
45
- | 8 | `cyanheads/filesystem-mcp-server` | `node dist/index.js` | Filesystem | Filesystem MCP category | Local validation passed after fix: 10 tools | Fixed real conformance bug: advertised resources without `resources/list`; workflow uses temp sandbox | pr-opened | https://github.com/cyanheads/filesystem-mcp-server/pull/19 | Waiting for maintainer review |
45
+ | 8 | `cyanheads/filesystem-mcp-server` | `node dist/index.js` | Filesystem | Filesystem MCP category | Local validation passed after fix: 10 tools | Fixed real conformance bug: advertised resources without `resources/list`; workflow uses temp sandbox | closed-unmerged | https://github.com/cyanheads/filesystem-mcp-server/pull/19 | Closed by maintainer without merge |
46
46
  | 9 | `redis/mcp-redis` | `uvx mcp-redis` | Database | Enterprise database category | verify auth-free startup | Database target may require service; issue-only if credentials needed | researched | | |
47
47
  | 10 | `mongodb-js/mongodb-mcp-server` | `npx -y mongodb-mcp-server` | Database | Enterprise database category | verify auth-free startup | Likely needs connection string; issue-only first | researched | | |
48
48
  | 11 | `supabase-community/supabase-mcp` | `npx -y supabase-mcp` | Database | Enterprise/SaaS category | verify current package | Likely requires token; issue-only first | researched | | |
@@ -54,7 +54,7 @@ Skip:
54
54
  | 17 | `BrowserMCP/mcp` | `npx -y @browsermcp/mcp` | Browser Automation | 6k+ stars / browser-control MCP category | Local validation passed: 12 tools | Browser automation trust boundary; workflow is inventory/security only | pr-opened | https://github.com/BrowserMCP/mcp/pull/189 | Waiting for maintainer review |
55
55
  | 18 | `UI5/mcp-server` | `npx -y @ui5/mcp-server` | Developer Tools | SAP/UI5 ecosystem MCP package | Local validation passed: 10 tools | Developer tooling surface; no credentials required for inventory | pr-opened | https://github.com/UI5/mcp-server/pull/348 | Waiting for maintainer review |
56
56
  | 19 | `apify/actors-mcp-server` | `npx -y @apify/actors-mcp-server` | SaaS/API | Automation platform category | verify auth-free startup | Likely requires token; issue-only first | researched | | |
57
- | 20 | `makenotion/notion-mcp-server` | `npx -y @notionhq/notion-mcp-server` | SaaS/API | Major SaaS category | Local validation passed: 24 tools | Workspace-data MCP; PR is compatibility/schema/security inventory only | pr-opened | https://github.com/makenotion/notion-mcp-server/pull/324 | Waiting for maintainer review |
57
+ | 20 | `makenotion/notion-mcp-server` | `npx -y @notionhq/notion-mcp-server` | SaaS/API | Major SaaS category | Local validation passed: 24 tools | Workspace-data MCP; PR is compatibility/schema/security inventory only | pr-opened | https://github.com/makenotion/notion-mcp-server/pull/324 | Waiting for maintainer review; external Semgrep check failing |
58
58
  | 21 | `linear/linear-mcp` | `npx -y @linear/mcp-server` | SaaS/API | Developer SaaS category | verify package | Likely requires token; issue-only first | researched | | |
59
59
  | 22 | `sentry/sentry-mcp` | `npx -y @sentry/mcp-server` | Observability | Developer SaaS category | verify package | Likely requires token; issue-only first | researched | | |
60
60
  | 23 | `elastic/mcp-server-elasticsearch` | `npx -y @elastic/mcp-server-elasticsearch` | Search | Enterprise search category | verify package | Likely requires service; issue-only first | researched | | |
@@ -24,13 +24,18 @@ Safe aggregate telemetry from the latest local export:
24
24
 
25
25
  | Metric | Value |
26
26
  | --- | ---: |
27
- | Total telemetry events | 10,918 |
28
- | Total sessions | 7,380 |
29
- | External sessions | 5,379 |
27
+ | Total telemetry events | 11,481 |
28
+ | Total sessions | 7,571 |
29
+ | External sessions | 5,389 |
30
30
  | External CI sessions | 2,446 |
31
- | Attributed company/org sessions | 138 |
32
- | GitHub clones in visible traffic window | 721 |
33
- | Unique cloners in visible traffic window | 221 |
31
+ | Attributed company/org sessions | 148 |
32
+ | Attributed company/org candidates | 12 |
33
+ | Latest external activity | June 21, 2026 |
34
+ | npm downloads snapshot | 511 downloads, June 11-20, 2026 |
35
+ | GitHub clones in visible traffic window | 745 |
36
+ | Unique cloners in visible traffic window | 232 |
37
+ | GitHub page views in visible traffic window | 12 |
38
+ | Unique GitHub viewers in visible traffic window | 9 |
34
39
 
35
40
  Top external commands:
36
41
 
@@ -74,7 +79,7 @@ Production teams can use MCP Observatory for:
74
79
  - support and rollout review
75
80
  - fleet visibility across teams and repos
76
81
 
77
- Contact `william@banksey.com` for pilots.
82
+ See [Commercial Pilots](../COMMERCIAL.md) for production/private MCP usage.
78
83
 
79
84
  ## Launch Post
80
85
 
@@ -1,85 +1,61 @@
1
- # MCP Server Safety Index
2
-
3
- The MCP Server Safety Index is a public, reproducible way to show how MCP servers behave under compatibility, schema quality, drift, and security checks.
4
-
5
- The goal is constructive proof, not callouts. Each entry shows what should be tested, how to reproduce it, what risk class matters, and what a maintainer can do next.
6
-
7
- ## Index v0
8
-
9
- | # | Server | Category | Reproducible Command | What To Check | Risk Class | Status |
10
- | ---: | --- | --- | --- | --- | --- | --- |
11
- | 1 | [`modelcontextprotocol/servers`](https://github.com/modelcontextprotocol/servers) sequential thinking | Reference | `npx -y @modelcontextprotocol/server-sequential-thinking@latest` | Startup, tools/list, schema quality, security-lite | Reference compatibility | PR open: [#4392](https://github.com/modelcontextprotocol/servers/pull/4392) |
12
- | 2 | [`modelcontextprotocol/servers`](https://github.com/modelcontextprotocol/servers) filesystem | Filesystem | `npx -y @modelcontextprotocol/server-filesystem .` | Startup in harmless temp dir, path tools, schema quality | Filesystem boundary | Researched |
13
- | 3 | [`upstash/context7`](https://github.com/upstash/context7) | Documentation/search | `npx -y @upstash/context7-mcp@latest` | Startup, retrieval tools, schemas, prompt-injection-sensitive text flow | Untrusted content retrieval | PR open: [#2800](https://github.com/upstash/context7/pull/2800) |
14
- | 4 | [`executeautomation/mcp-playwright`](https://github.com/executeautomation/mcp-playwright) | Browser automation | `npx -y @executeautomation/playwright-mcp-server@latest` | Browser tools, schema quality, intentional code-eval suppressions | Browser/code execution | PR open: [#225](https://github.com/executeautomation/mcp-playwright/pull/225) |
15
- | 5 | [`microsoft/playwright-mcp`](https://github.com/microsoft/playwright-mcp) | Browser automation | `npx -y @playwright/mcp@latest` | Browser tools, skip-invoke policy, schema quality, suppressions | Browser/code execution | PR open: [#1657](https://github.com/microsoft/playwright-mcp/pull/1657) |
16
- | 6 | [`kazuph/mcp-taskmanager`](https://github.com/kazuph/mcp-taskmanager) | Developer tools | `npx -y @kazuph/mcp-taskmanager@latest` | Task tools, schema quality, mutation clarity | Project/task mutation | PR open: [#11](https://github.com/kazuph/mcp-taskmanager/pull/11) |
17
- | 7 | [`cyanheads/filesystem-mcp-server`](https://github.com/cyanheads/filesystem-mcp-server) | Filesystem | `node dist/index.js` | Capability declarations, resources/list, sandboxed filesystem target | Filesystem boundary | PR open: [#19](https://github.com/cyanheads/filesystem-mcp-server/pull/19) |
18
- | 8 | [`browserbase/mcp-server-browserbase`](https://github.com/browserbase/mcp-server-browserbase) | Browser automation | `npx -y @browserbasehq/mcp-server-browserbase` | Auth-free startup, browser tools, network/browser boundaries | Hosted browser control | Researched; likely needs API key |
19
- | 9 | [`redis/mcp-redis`](https://github.com/redis/mcp-redis) | Database | `uvx mcp-redis` | Startup without live database, command surface, destructive operations | Data mutation | Researched; may need service |
20
- | 10 | [`mongodb-js/mongodb-mcp-server`](https://github.com/mongodb-js/mongodb-mcp-server) | Database | `npx -y mongodb-mcp-server` | Connection handling, read/write tools, auth posture | Data mutation/auth | Researched; likely needs connection string |
21
- | 11 | [`supabase-community/supabase-mcp`](https://github.com/supabase-community/supabase-mcp) | Database/SaaS | `npx -y supabase-mcp` | Startup, token handling, project mutation tools | Cloud data access | Researched; likely needs token |
22
- | 12 | [`cloudflare/mcp-server-cloudflare`](https://github.com/cloudflare/mcp-server-cloudflare) | Cloud | `npx -y @cloudflare/mcp-server-cloudflare` | Auth posture, deploy/config tools, schema clarity | Cloud control plane | Researched; likely needs auth |
23
- | 13 | [`stripe/agent-toolkit`](https://github.com/stripe/agent-toolkit) | Payments | `npx -y @stripe/agent-toolkit` | MCP mode, payment/customer mutation tools, auth posture | Payments/destructive action | Researched; likely needs API key |
24
- | 14 | [`github/github-mcp-server`](https://github.com/github/github-mcp-server) | Developer tools | `docker run ghcr.io/github/github-mcp-server` | Auth handling, repo mutation tools, schema clarity | Source-code control | Researched; likely needs token |
25
- | 15 | [`jetbrains/mcpProxy`](https://github.com/JetBrains/mcpProxy) | IDE/developer tools | `npx -y @jetbrains/mcp-proxy` | IDE dependency, startup behavior, tool surface | Local IDE control | Researched; may need IDE process |
26
- | 16 | [`BrowserMCP/mcp`](https://github.com/BrowserMCP/mcp) | Browser automation | `npx -y @browsermcp/mcp` | Browser tools, schema quality, browser-control boundary | Browser control | PR open: [#189](https://github.com/BrowserMCP/mcp/pull/189) |
27
- | 17 | [`UI5/mcp-server`](https://github.com/UI5/mcp-server) | Developer tools | `npx -y @ui5/mcp-server` | UI5 tooling commands, schema quality, drift risk | App development tooling | PR open: [#348](https://github.com/UI5/mcp-server/pull/348) |
28
- | 18 | [`antvis/mcp-server-chart`](https://github.com/antvis/mcp-server-chart) | Visualization/data | `npx -y @antv/mcp-server-chart` | Chart generation tools, schema quality, artifact-producing tools | Generated artifacts | PR open: [#312](https://github.com/antvis/mcp-server-chart/pull/312) |
29
- | 19 | [`makenotion/notion-mcp-server`](https://github.com/makenotion/notion-mcp-server) | SaaS/API | `npx -y @notionhq/notion-mcp-server` | Auth handling, read/write tool separation, schema quality | Workspace data access | PR open: [#324](https://github.com/makenotion/notion-mcp-server/pull/324) |
30
- | 20 | [`sentry/sentry-mcp`](https://github.com/getsentry/sentry-mcp) | Developer SaaS | `npx -y @sentry/mcp-server` | Auth handling, issue/project tools, schema quality | Production incident data | Researched; likely needs token |
31
-
32
- ## Evaluation Command
33
-
34
- For simple npm-backed servers:
35
-
36
- ```bash
37
- npx @kryptosai/mcp-observatory test --security npx -y <server-package>
38
- ```
39
-
40
- For safer campaign PRs:
41
-
42
- ```bash
43
- npx @kryptosai/mcp-observatory init-ci --all --command "npx -y <server-package>"
44
- ```
45
-
46
- For production-style review:
47
-
48
- ```bash
49
- npx @kryptosai/mcp-observatory lock
50
- npx @kryptosai/mcp-observatory lock verify
51
- ```
52
-
53
- ## What Each Column Means
54
-
55
- - What To Check: the minimum compatibility/security surface a maintainer or platform team should inspect.
56
- - Risk Class: the operational reason the server matters before agents depend on it.
57
- - Status: public proof such as PR open, PR accepted, badge added, researched, or needs maintainer review.
1
+ # MCP Server Safety Index v1
2
+
3
+ The MCP Server Safety Index is an evidence standard for MCP readiness. It is not a leaderboard and does not rank maintainers.
4
+
5
+ Each row links to a reproducible command, a JSON run artifact, and a Markdown report generated by MCP Observatory. The goal is to show which failure classes matter before teams let agents depend on MCP servers.
6
+
7
+ For the rules behind this page, see the [Safety Methodology](./methodology.md).
8
+
9
+ ## Snapshot
10
+
11
+ - Evaluated servers: 13
12
+ - Ready for CI: 10
13
+ - Needs review before production: 1
14
+ - Unsafe default posture: 2
15
+ - Not reproducible: 0
16
+ - Latest run: 2026-06-24T02:07:44.894Z
17
+
18
+ ## Evaluations
19
+
20
+ | # | Server | Category | Verdict | Failure Class | Reproduce | Evidence | Notes |
21
+ | ---: | --- | --- | --- | --- | --- | --- | --- |
22
+ | 1 | [Official everything server](https://github.com/modelcontextprotocol/servers) | Reference | **Ready for CI** | Broad protocol surface | `npx -y @modelcontextprotocol/server-everything` | [JSON](./safety-index/artifacts/everything-server.json) / [report](./safety-index/artifacts/everything-server.md) | Zero-config official package; useful as a broad protocol baseline. [public proof](https://github.com/modelcontextprotocol/servers/pull/4392) |
23
+ | 2 | [Official sequential thinking server](https://github.com/modelcontextprotocol/servers) | Reference | **Ready for CI** | Tool schema clarity | `npx -y @modelcontextprotocol/server-sequential-thinking` | [JSON](./safety-index/artifacts/sequential-thinking-server.json) / [report](./safety-index/artifacts/sequential-thinking-server.md) | Zero-config official package. |
24
+ | 3 | [Official memory server](https://github.com/modelcontextprotocol/servers) | Reference / Memory | **Ready for CI** | Persistent state tools | `npx -y @modelcontextprotocol/server-memory` | [JSON](./safety-index/artifacts/memory-server.json) / [report](./safety-index/artifacts/memory-server.md) | Zero-config official package. |
25
+ | 4 | [Official filesystem server](https://github.com/modelcontextprotocol/servers) | Filesystem | **Needs review before production** | Sandboxed filesystem access | `npx -y @modelcontextprotocol/server-filesystem examples/filesystem-fixture` | [JSON](./safety-index/artifacts/filesystem-server.json) / [report](./safety-index/artifacts/filesystem-server.md) | Runs against the checked-in harmless fixture directory. |
26
+ | 5 | [Context7](https://github.com/upstash/context7) | Documentation / Search | **Ready for CI** | Prompt-injection-sensitive retrieval | `npx -y @upstash/context7-mcp` | [JSON](./safety-index/artifacts/context7-server.json) / [report](./safety-index/artifacts/context7-server.md) | Zero-config public package. |
27
+ | 6 | [Promptopia](https://www.npmjs.com/package/promptopia-mcp) | Prompts | **Ready for CI** | Prompt/resource contract | `npx -y promptopia-mcp` | [JSON](./safety-index/artifacts/promptopia-server.json) / [report](./safety-index/artifacts/promptopia-server.md) | Uses the checked-in prompt fixture through package defaults. |
28
+ | 7 | [Ref tools](https://www.npmjs.com/package/ref-tools-mcp) | Developer Tools | **Ready for CI** | Prompt/tool inventory | `npx -y ref-tools-mcp` | [JSON](./safety-index/artifacts/ref-tools-server.json) / [report](./safety-index/artifacts/ref-tools-server.md) | Zero-config public package. |
29
+ | 8 | [OpenTofu MCP server](https://github.com/opentofu/opentofu-mcp-server) | Infrastructure | **Ready for CI** | Infrastructure tool surface | `npx -y @opentofu/opentofu-mcp-server` | [JSON](./safety-index/artifacts/opentofu-server.json) / [report](./safety-index/artifacts/opentofu-server.md) | Zero-config public package. |
30
+ | 9 | [Puppeteer MCP server](https://www.npmjs.com/package/puppeteer-mcp-server) | Browser Automation | **Ready for CI** | Browser/code execution boundary | `npx -y puppeteer-mcp-server` | [JSON](./safety-index/artifacts/puppeteer-server.json) / [report](./safety-index/artifacts/puppeteer-server.md) | Intentional browser evaluation is suppressed so remaining findings stay readable. |
31
+ | 10 | [BrowserMCP](https://github.com/BrowserMCP/mcp) | Browser Automation | **Ready for CI** | Browser-control boundary | `npx -y @browsermcp/mcp` | [JSON](./safety-index/artifacts/browsermcp-server.json) / [report](./safety-index/artifacts/browsermcp-server.md) | Zero-config public package. [public proof](https://github.com/BrowserMCP/mcp/pull/189) |
32
+ | 11 | [Microsoft Playwright MCP](https://github.com/microsoft/playwright-mcp) | Browser Automation | **Unsafe default posture** | Browser/code execution boundary | `npx -y @playwright/mcp` | [JSON](./safety-index/artifacts/playwright-mcp-server.json) / [report](./safety-index/artifacts/playwright-mcp-server.md) | Zero-config public package; security findings represent policy-review prompts, not a vulnerability claim. |
33
+ | 12 | [AntV chart MCP server](https://github.com/antvis/mcp-server-chart) | Visualization | **Ready for CI** | Artifact-producing tools | `npx -y @antv/mcp-server-chart` | [JSON](./safety-index/artifacts/antv-chart-server.json) / [report](./safety-index/artifacts/antv-chart-server.md) | Zero-config public package. [public proof](https://github.com/antvis/mcp-server-chart/pull/312) |
34
+ | 13 | [ExecuteAutomation Playwright MCP](https://github.com/executeautomation/mcp-playwright) | Browser Automation | **Unsafe default posture** | Startup/listing reproducibility | `npx -y @executeautomation/playwright-mcp-server` | [JSON](./safety-index/artifacts/executeautomation-playwright-server.json) / [report](./safety-index/artifacts/executeautomation-playwright-server.md) | Evaluated as a public package; current result should be treated as a maintainer conversation starter. [public proof](https://github.com/executeautomation/mcp-playwright/pull/225) |
35
+
36
+ ## Patterns Observed
37
+
38
+ - Browser/code execution boundary: 2 server(s)
39
+ - Artifact-producing tools: 1 server(s)
40
+ - Broad protocol surface: 1 server(s)
41
+ - Browser-control boundary: 1 server(s)
42
+ - Infrastructure tool surface: 1 server(s)
43
+ - Persistent state tools: 1 server(s)
44
+ - Prompt-injection-sensitive retrieval: 1 server(s)
45
+ - Prompt/resource contract: 1 server(s)
46
+ - Prompt/tool inventory: 1 server(s)
47
+ - Sandboxed filesystem access: 1 server(s)
48
+ - Startup/listing reproducibility: 1 server(s)
49
+ - Tool schema clarity: 1 server(s)
58
50
 
59
51
  ## Publication Rules
60
52
 
61
- - Use only public repositories, public package commands, public PRs, or sample artifacts.
62
- - Include a reproduction command for every row.
63
- - Link to the maintainer PR or public artifact when available.
64
- - Phrase findings constructively: “needs review” rather than “unsafe” unless there is clear public proof.
65
- - Keep customer/domain telemetry internal unless the customer gives permission or there is independent public evidence.
66
-
67
- ## Five Patterns To Publish From v0
68
-
69
- 1. Browser automation MCP servers need explicit policy around code execution, screenshots, navigation, and mutation.
70
- 2. Filesystem MCP servers need harmless CI sandboxes and clear read/write boundaries.
71
- 3. SaaS and cloud MCP servers often cannot be meaningfully checked without token-safe target configs.
72
- 4. Database MCP servers need read/write classification and connection-string hygiene before CI rollout.
73
- 5. Lock files turn MCP surface drift into a reviewable PR event instead of an invisible agent dependency change.
74
-
75
- ## Next Wave Criteria
76
-
77
- Prioritize 20-50 servers that have:
53
+ - Use only public repositories, public package commands, public PRs, and generated sanitized artifacts.
54
+ - Treat findings as reproducible evidence, not public shaming.
55
+ - Prefer “needs review” language unless there is clear artifact-backed proof of a dangerous default.
56
+ - Keep raw telemetry, emails, hostnames, private URLs, tokens, and customer claims out of public materials.
57
+ - Send maintainers the report first; open CI PRs only when the report is useful and the target can run safely.
78
58
 
79
- - active maintenance in the last 90 days
80
- - visible stars, downloads, or directory listings
81
- - simple `npx`, `uvx`, or Docker startup commands
82
- - enterprise-relevant categories such as browser automation, filesystem, documentation/search, databases, cloud, productivity, and developer tools
83
- - no existing MCP compatibility/security CI
59
+ ## Next Step
84
60
 
85
- One accepted PR in a respected repo is worth more than a large list of shallow checks.
61
+ Use this index to start maintainer conversations and private readiness reviews. The buyer-facing offer is a private MCP readiness review with CI rollout, drift/security reporting, and safe-for-agent-dependency verdicts.
@@ -0,0 +1,90 @@
1
+ # MCP Observatory Safety Methodology
2
+
3
+ MCP Observatory treats MCP servers as agent-facing dependencies. The Safety Index is designed to answer one practical question:
4
+
5
+ > Is this server ready for agents and teams to depend on, and what evidence supports that answer?
6
+
7
+ The index is not a leaderboard. It is a reproducible evidence standard for maintainers, security teams, platform teams, and buyers evaluating MCP servers.
8
+
9
+ ## What Gets Tested
10
+
11
+ Each public evaluation runs MCP Observatory against a public repository or package command. A useful entry includes:
12
+
13
+ - server name and public source
14
+ - exact command and arguments
15
+ - run date
16
+ - MCP Observatory version
17
+ - JSON run artifact
18
+ - Markdown report
19
+ - verdict
20
+ - failure class
21
+ - reproduction notes
22
+
23
+ The default public check verifies startup, tools, prompts, resources, schema quality, and lightweight security findings. Some entries also include deeper security checks when the target can be evaluated without private credentials.
24
+
25
+ ## Verdicts
26
+
27
+ - **Ready for CI:** the server starts, lists expected MCP surfaces, and has no high- or medium-severity security finding in the generated artifact.
28
+ - **Needs review before production:** the server is reproducible but has findings or partial results a maintainer/security reviewer should inspect before production use.
29
+ - **Not reproducible:** the server cannot complete a basic startup or listing check from the documented public command.
30
+ - **Unsafe default posture:** the artifact contains high-severity security findings that deserve explicit policy review before agent dependency.
31
+ - **Could not evaluate:** the public command cannot be evaluated without credentials, private infrastructure, or maintainer-provided safe configuration.
32
+
33
+ These verdicts are intentionally operational. They are not formal vulnerability claims.
34
+
35
+ ## Scoring Inputs
36
+
37
+ MCP Observatory uses the same run artifact model across CLI, CI, reports, and the Safety Index. The health score considers:
38
+
39
+ - protocol compliance
40
+ - schema quality
41
+ - security and security-lite checks
42
+ - reliability/startup behavior
43
+ - performance where latency data is available
44
+
45
+ The Safety Index does not rank by score. Scores are supporting evidence; failure classes are the story.
46
+
47
+ ## Failure Classes
48
+
49
+ Common MCP readiness patterns include:
50
+
51
+ - startup/listing reproducibility
52
+ - browser/code execution boundary
53
+ - filesystem boundary
54
+ - prompt-injection-sensitive retrieval
55
+ - persistent state tools
56
+ - infrastructure or cloud control surfaces
57
+ - artifact-producing tools
58
+ - schema clarity and drift
59
+ - token-safe configuration
60
+
61
+ The first public index emphasizes these classes so maintainers can improve concrete surfaces rather than argue about a single trust score.
62
+
63
+ ## Reproducibility Rules
64
+
65
+ An index row should be included only when it can be reproduced from public information:
66
+
67
+ - public repo, package, or container reference
68
+ - no private telemetry
69
+ - no private customer evidence
70
+ - no raw emails, hostnames, private URLs, tokens, or response bodies
71
+ - a generated JSON artifact and Markdown report
72
+ - clear notes when credentials or maintainer context are required
73
+
74
+ If the safe public command is not known, the right next step is a maintainer note, not a drive-by CI PR.
75
+
76
+ ## Maintainer Posture
77
+
78
+ The index is constructive by default:
79
+
80
+ - send the report first
81
+ - describe the failure class, not the maintainer
82
+ - offer a CI PR only if the target can run safely and the maintainer wants it
83
+ - prefer read-only workflows and pinned action refs for third-party repos
84
+ - use issue-first outreach for token-backed SaaS, cloud, payments, database, and browser-control servers
85
+
86
+ ## Limitations
87
+
88
+ MCP Observatory cannot prove semantic safety. A passing result does not mean a server is safe for every workflow. It means the server produced reproducible evidence for compatibility, schema quality, and common security footguns under the tested command.
89
+
90
+ Production teams should pair these checks with their own threat model, policy, credential boundaries, sandboxing, approvals, and runtime monitoring.