@kryptosai/mcp-observatory 1.28.2 → 1.29.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 (100) hide show
  1. package/CONTRIBUTORS.md +2 -1
  2. package/README.md +24 -8
  3. package/README.zh-CN.md +587 -0
  4. package/dist/src/adapters/http.js +13 -4
  5. package/dist/src/adapters/http.js.map +1 -1
  6. package/dist/src/checks/security.js +33 -65
  7. package/dist/src/checks/security.js.map +1 -1
  8. package/dist/src/cli.js +9 -1
  9. package/dist/src/cli.js.map +1 -1
  10. package/dist/src/commands/helpers.d.ts +2 -1
  11. package/dist/src/commands/helpers.js +9 -1
  12. package/dist/src/commands/helpers.js.map +1 -1
  13. package/dist/src/commands/legacy.js +3 -0
  14. package/dist/src/commands/legacy.js.map +1 -1
  15. package/dist/src/commands/risk-graph.d.ts +2 -0
  16. package/dist/src/commands/risk-graph.js +64 -0
  17. package/dist/src/commands/risk-graph.js.map +1 -0
  18. package/dist/src/commands/score.js.map +1 -1
  19. package/dist/src/commands/watch.js +13 -8
  20. package/dist/src/commands/watch.js.map +1 -1
  21. package/dist/src/discovery.js +32 -26
  22. package/dist/src/discovery.js.map +1 -1
  23. package/dist/src/reporters/terminal.js +2 -1
  24. package/dist/src/reporters/terminal.js.map +1 -1
  25. package/dist/src/risk-graph.d.ts +64 -0
  26. package/dist/src/risk-graph.js +452 -0
  27. package/dist/src/risk-graph.js.map +1 -0
  28. package/dist/src/server.d.ts +1 -3
  29. package/dist/src/server.js +29 -645
  30. package/dist/src/server.js.map +1 -1
  31. package/dist/src/storage.js +13 -9
  32. package/dist/src/storage.js.map +1 -1
  33. package/dist/src/telemetry.d.ts +7 -0
  34. package/dist/src/telemetry.js.map +1 -1
  35. package/dist/src/tools/check-server.d.ts +27 -0
  36. package/dist/src/tools/check-server.js +46 -0
  37. package/dist/src/tools/check-server.js.map +1 -0
  38. package/dist/src/tools/ci-report.d.ts +21 -0
  39. package/dist/src/tools/ci-report.js +38 -0
  40. package/dist/src/tools/ci-report.js.map +1 -0
  41. package/dist/src/tools/diff-runs.d.ts +28 -0
  42. package/dist/src/tools/diff-runs.js +39 -0
  43. package/dist/src/tools/diff-runs.js.map +1 -0
  44. package/dist/src/tools/get-history.d.ts +21 -0
  45. package/dist/src/tools/get-history.js +37 -0
  46. package/dist/src/tools/get-history.js.map +1 -0
  47. package/dist/src/tools/get-last-run.d.ts +21 -0
  48. package/dist/src/tools/get-last-run.js +47 -0
  49. package/dist/src/tools/get-last-run.js.map +1 -0
  50. package/dist/src/tools/helpers.d.ts +8 -0
  51. package/dist/src/tools/helpers.js +32 -0
  52. package/dist/src/tools/helpers.js.map +1 -0
  53. package/dist/src/tools/lock-verify.d.ts +21 -0
  54. package/dist/src/tools/lock-verify.js +47 -0
  55. package/dist/src/tools/lock-verify.js.map +1 -0
  56. package/dist/src/tools/record.d.ts +23 -0
  57. package/dist/src/tools/record.js +48 -0
  58. package/dist/src/tools/record.js.map +1 -0
  59. package/dist/src/tools/replay.d.ts +21 -0
  60. package/dist/src/tools/replay.js +54 -0
  61. package/dist/src/tools/replay.js.map +1 -0
  62. package/dist/src/tools/scan.d.ts +18 -0
  63. package/dist/src/tools/scan.js +43 -0
  64. package/dist/src/tools/scan.js.map +1 -0
  65. package/dist/src/tools/score-server.d.ts +23 -0
  66. package/dist/src/tools/score-server.js +53 -0
  67. package/dist/src/tools/score-server.js.map +1 -0
  68. package/dist/src/tools/suggest-servers.d.ts +21 -0
  69. package/dist/src/tools/suggest-servers.js +114 -0
  70. package/dist/src/tools/suggest-servers.js.map +1 -0
  71. package/dist/src/tools/verify-tool.d.ts +25 -0
  72. package/dist/src/tools/verify-tool.js +48 -0
  73. package/dist/src/tools/verify-tool.js.map +1 -0
  74. package/dist/src/tools/watch.d.ts +23 -0
  75. package/dist/src/tools/watch.js +67 -0
  76. package/dist/src/tools/watch.js.map +1 -0
  77. package/dist/src/utils/security.d.ts +3 -0
  78. package/dist/src/utils/security.js +37 -0
  79. package/dist/src/utils/security.js.map +1 -0
  80. package/dist/src/validate.d.ts +1 -0
  81. package/dist/src/validate.js +119 -35
  82. package/dist/src/validate.js.map +1 -1
  83. package/docs/agent-tasks.md +1 -1
  84. package/docs/commercial-boundary.md +9 -1
  85. package/docs/contributor-recognition.md +1 -0
  86. package/docs/mcp-receipts.md +9 -0
  87. package/docs/mcp-server-safety-index.md +19 -16
  88. package/docs/metrics-dashboard.md +17 -1
  89. package/docs/private-mcp-fleet-risk-graph.md +69 -0
  90. package/docs/receipt-graph.md +118 -31
  91. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.json +1745 -0
  92. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.md +169 -0
  93. package/docs/safety-index/artifacts/filesystem-mcp-server.json +786 -0
  94. package/docs/safety-index/artifacts/filesystem-mcp-server.md +169 -0
  95. package/docs/safety-index/mcp-risk-graph.html +167 -0
  96. package/docs/safety-index/mcp-risk-graph.json +669 -0
  97. package/docs/safety-index/mcp-risk-graph.md +47 -0
  98. package/docs/safety-index/targets.json +40 -0
  99. package/docs/sample-private-fleet-risk-graph.md +90 -0
  100. package/package.json +21 -11
@@ -13,7 +13,7 @@ The layout follows an App Store Connect-style breakdown:
13
13
  - Usage
14
14
  - Reliability
15
15
 
16
- The Strategy section turns raw telemetry into operator decisions: command funnel, clone/download-to-CI conversion, version adoption, account/domain drilldown, CI/local source mix, and release-spike context.
16
+ The Strategy section turns raw telemetry into operator decisions: command funnel, receipt-to-risk-graph conversion, clone/download-to-CI conversion, version adoption, account/domain drilldown, CI/local source mix, and release-spike context.
17
17
 
18
18
  Daily rows are shown newest to oldest so the most recent project activity is always at the top.
19
19
 
@@ -45,6 +45,22 @@ The collector stores each source independently. If one source fails, the dashboa
45
45
 
46
46
  GitHub traffic APIs have a limited visible window, so the collector stores snapshots locally going forward. npm daily buckets can lag; the dashboard labels npm data as complete public days rather than assuming current-day zero.
47
47
 
48
+ ## Growth Command Center
49
+
50
+ The dashboard tracks the Wiz-style evidence funnel:
51
+
52
+ - latest-version adoption
53
+ - stale-version sessions
54
+ - receipt sessions
55
+ - risk-graph sessions
56
+ - attack-sim sessions
57
+ - setup-ci/SARIF sessions
58
+ - external CI sessions
59
+ - paid-intent commands
60
+ - sanitized account/domain signals
61
+
62
+ `risk-graph` telemetry stores command-level aggregates such as invocation, output format, input count, node count, highest graph risk, and whether graph output was generated. It does not collect raw artifacts, file contents, secrets, private URLs, command output, hostnames, or unapproved customer names.
63
+
48
64
  ## Credentials
49
65
 
50
66
  GitHub collection uses either:
@@ -0,0 +1,69 @@
1
+ # Private MCP Fleet Risk Graph
2
+
3
+ Public MCP receipts prove the method. A private MCP fleet risk graph turns the method into a buyer-ready operating picture.
4
+
5
+ ## Offer
6
+
7
+ **Private MCP Dependency Safety Report + CI Gate + Attack Simulation Evidence Pack**
8
+
9
+ What the buyer gets:
10
+
11
+ - private MCP dependency inventory across repos, agents, gateways, and automation projects
12
+ - MCP risk graph grouped by filesystem, browser, command execution, infrastructure/cloud, memory, data/API, and identity/auth boundaries
13
+ - safe-mode attack simulation evidence for selected dependencies
14
+ - receipt pack with rerun commands, artifact hashes, verdicts, and recommended actions
15
+ - CI/SARIF rollout plan with owner-ready pull request guidance
16
+ - top risky MCP dependencies and remediation backlog
17
+ - procurement/security appendix that explains scope, safe-mode guarantees, limitations, and evidence custody
18
+
19
+ ## Safe-Mode Scope
20
+
21
+ The pilot does not run destructive attacks, exfiltrate secrets, contact external callback infrastructure, mutate production systems, or require customer credentials in public artifacts.
22
+
23
+ Evidence is generated from safe startup commands, metadata, schemas, tool descriptions, allowed fixture modes, run artifacts, safe attack-readiness simulation, drift comparison, SARIF, and maintainer-provided context.
24
+
25
+ ## Pricing Anchors
26
+
27
+ | Package | Starting point | Best for |
28
+ | --- | ---: | --- |
29
+ | Narrow readiness review | `$2,500+` | One team, one repo, or one high-priority MCP dependency. |
30
+ | Attack simulation evidence pack | `$15,000+` | Security teams that need safe attack-readiness proof and owner-ready remediation. |
31
+ | Private fleet risk graph pilot | `$50,000+` | Organizations adopting MCP across multiple agents, repos, teams, or gateways. |
32
+
33
+ ## Pilot Timeline
34
+
35
+ | Phase | Output |
36
+ | --- | --- |
37
+ | Day 0-1 | Scope, safe startup commands, target inventory, evidence handling rules. |
38
+ | Day 2-4 | Run artifacts, receipts, attack-sim evidence, SARIF, initial risk graph. |
39
+ | Day 5-7 | Owner-ready remediation list, CI rollout plan, executive verdict, procurement appendix. |
40
+ | Optional ongoing | Weekly drift review, CI gate tuning, hosted retention, alerting, and SIEM export roadmap. |
41
+
42
+ ## Sample Deliverable
43
+
44
+ See the [sanitized sample private fleet risk graph](./sample-private-fleet-risk-graph.md).
45
+
46
+ ## Proprietary Layer
47
+
48
+ The public CLI, receipts, attack simulator, and risk graph format stay open because they create trust and distribution. These commercial surfaces should stay private unless a customer agreement says otherwise:
49
+
50
+ - raw telemetry, private account signals, emails, hostnames, and lead intelligence
51
+ - private fleet inventory and buyer-specific risk interpretation
52
+ - commercial scoring weights and prioritization models
53
+ - hosted review workflow, retention, alerting, SIEM export, and incident timelines
54
+ - customer-specific reports, remediation ownership, and procurement packets
55
+
56
+ ## Request A Pilot
57
+
58
+ Run:
59
+
60
+ ```bash
61
+ npx @kryptosai/mcp-observatory cloud
62
+ ```
63
+
64
+ Or send the buyer this short ask:
65
+
66
+ ```text
67
+ We can map your private MCP fleet into a risk graph, generate safe attack-simulation evidence, and ship CI/SARIF gates without running destructive probes or collecting secrets. The first pilot produces an executive verdict, dependency graph, receipt pack, SARIF evidence, and owner-ready remediation list.
68
+ ```
69
+
@@ -1,35 +1,107 @@
1
- # MCP Receipt Graph
1
+ # MCP Risk Graph
2
2
 
3
- Agent trust should be a receipt graph, not a follower graph.
3
+ Agent trust should be a risk graph, not a follower graph.
4
4
 
5
- A social graph says who is popular. A receipt graph says what was verified, what could not happen during the run, which artifact can be rerun, and what changed since the last trusted state.
5
+ A follower graph says who is popular. An MCP risk graph says which agent toolchains were evaluated, what capability boundary each server exposes, what receipts support the verdict, which evidence can be rerun, where CI/SARIF should be added, and what changed since the last trusted state.
6
6
 
7
- Use this page as the first public map from MCP servers to reproducible evidence. It is intentionally small: a receipt graph should start with high-quality, rerunnable receipts before it tries to become a giant directory.
7
+ MCP Observatory maps the risk graph of agent toolchains before agents depend on them.
8
8
 
9
- ## Receipt Graph Fields
9
+ ## Generate A Graph
10
+
11
+ Use `risk-graph` to merge run artifacts, receipt artifacts, or a Safety Index artifact directory into JSON, Markdown, and HTML outputs:
12
+
13
+ ```bash
14
+ npx @kryptosai/mcp-observatory risk-graph --input docs/safety-index/artifacts --json mcp-risk-graph.json --output mcp-risk-graph.md --html mcp-risk-graph.html
15
+ ```
16
+
17
+ Supported inputs:
18
+
19
+ - one JSON run artifact
20
+ - one JSON receipt
21
+ - an audit report JSON with an embedded `artifact`
22
+ - a directory containing any mix of supported artifacts
23
+ - repeated `--input` paths
24
+
25
+ The JSON output is intended for agents and tooling. The Markdown output is intended for GitHub and docs. The HTML output is intended for demos, buyer review, and internal security conversations.
26
+
27
+ ## Graph Fields
10
28
 
11
29
  | Field | Meaning |
12
30
  | --- | --- |
13
- | Server | Public MCP server, package, or repo. |
14
- | Receipt | JSON/Markdown evidence generated by MCP Observatory. |
15
- | Attack evidence | Safe `attack-sim` command, report, or SARIF. |
16
- | CI/SARIF path | Whether the next step is a maintainer CI gate, Code Scanning, or both. |
17
- | Capability envelope | What the run was allowed to access. |
18
- | Last verified | Timestamp of the latest public Safety Index refresh. |
19
-
20
- ## Seed Graph
21
-
22
- | Server | Receipt | Attack evidence | CI/SARIF path | Capability envelope | Last verified |
23
- | --- | --- | --- | --- | --- | --- |
24
- | [Official everything server](https://github.com/modelcontextprotocol/servers) | [JSON](./safety-index/artifacts/everything-server.json) / [report](./safety-index/artifacts/everything-server.md) | `attack-sim npx -y @modelcontextprotocol/server-everything` | Public reference baseline; CI-ready. | Public package, no secrets, no production data. | 2026-07-06 |
25
- | [Official sequential thinking server](https://github.com/modelcontextprotocol/servers) | [JSON](./safety-index/artifacts/sequential-thinking-server.json) / [report](./safety-index/artifacts/sequential-thinking-server.md) | `attack-sim npx -y @modelcontextprotocol/server-sequential-thinking` | Public reference baseline; CI-ready. | Public package, no secrets, no production data. | 2026-07-06 |
26
- | [Official memory server](https://github.com/modelcontextprotocol/servers) | [JSON](./safety-index/artifacts/memory-server.json) / [report](./safety-index/artifacts/memory-server.md) | `attack-sim npx -y @modelcontextprotocol/server-memory` | Public reference baseline; CI-ready. | Public package, no secrets, no production data. | 2026-07-06 |
27
- | [Context7](https://github.com/upstash/context7) | [JSON](./safety-index/artifacts/context7-server.json) / [report](./safety-index/artifacts/context7-server.md) | `attack-sim npx -y @upstash/context7-mcp` | Maintainer CI conversation candidate. | Public package, no secrets, no production data. | 2026-07-06 |
28
- | [BrowserMCP](https://github.com/BrowserMCP/mcp) | [JSON](./safety-index/artifacts/browsermcp-server.json) / [report](./safety-index/artifacts/browsermcp-server.md) | `attack-sim npx -y @browsermcp/mcp` | Browser boundary candidate for CI/SARIF. | Public package, no secrets, no production credentials. | 2026-07-06 |
29
- | [Microsoft Playwright MCP](https://github.com/microsoft/playwright-mcp) | [JSON](./safety-index/artifacts/playwright-mcp-server.json) / [report](./safety-index/artifacts/playwright-mcp-server.md) | `attack-sim npx -y @playwright/mcp` | High-capability browser boundary; Code Scanning useful. | Public package, no secrets, no production credentials. | 2026-07-06 |
30
- | [Puppeteer MCP server](https://www.npmjs.com/package/puppeteer-mcp-server) | [JSON](./safety-index/artifacts/puppeteer-server.json) / [report](./safety-index/artifacts/puppeteer-server.md) | `attack-sim npx -y puppeteer-mcp-server` | Browser boundary candidate for review before production. | Public package, no secrets, no production credentials. | 2026-07-06 |
31
- | [OpenTofu MCP server](https://github.com/opentofu/opentofu-mcp-server) | [JSON](./safety-index/artifacts/opentofu-server.json) / [report](./safety-index/artifacts/opentofu-server.md) | `attack-sim npx -y @opentofu/opentofu-mcp-server` | Infrastructure tool surface; CI/SARIF recommended. | Public package, no secrets, no production infrastructure. | 2026-07-06 |
32
- | [Flux159 Kubernetes MCP server](https://github.com/Flux159/mcp-server-kubernetes) | [JSON](./safety-index/artifacts/kubernetes-server.json) / [report](./safety-index/artifacts/kubernetes-server.md) | [attack-sim](./safety-index/artifacts/kubernetes-server.attack.md) / [SARIF](./safety-index/artifacts/kubernetes-server.attack.sarif) | Kubernetes command and cluster mutation boundary; CI/SARIF recommended before agent dependency. | Public package, no secrets, no kubeconfig, no cluster tool invocation. | 2026-07-06 |
31
+ | Server | Public MCP server, package, repo, or private fleet dependency. |
32
+ | Capability boundary | Filesystem, browser, command execution, infrastructure/cloud, memory, data/API, identity/auth, or unknown. |
33
+ | Receipt state | Whether the current evidence is ready for CI, needs review, blocked, or could not be evaluated. |
34
+ | Recommended action | `allow`, `gate`, `rerun`, `quarantine`, or `escalate`. |
35
+ | Risk level | Graph-level severity derived from receipts, attack-sim evidence, findings, and action receipts. |
36
+ | Evidence refs | Source artifact paths and SHA-256 hashes. |
37
+ | CI command | The exact `setup-ci --all --sarif` command maintainers can run. |
38
+
39
+ ## Seed Public Map
40
+
41
+ The seed graph is intentionally evidence-based, not a dunk list. A public entry means MCP Observatory has a safe, reproducible command and an artifact path. It is not an official certification and should not be treated as a production approval.
42
+
43
+ ### Browser Boundary
44
+
45
+ | Server | Receipt | Attack evidence | CI/SARIF path | Maintainer note |
46
+ | --- | --- | --- | --- | --- |
47
+ | [BrowserMCP](https://github.com/BrowserMCP/mcp) | [JSON](./safety-index/artifacts/browsermcp-server.json) / [report](./safety-index/artifacts/browsermcp-server.md) | `attack-sim npx -y @browsermcp/mcp` | `setup-ci --all --command "npx -y @browsermcp/mcp" --sarif` | Browser automation should have clear CI evidence before agents depend on it. |
48
+ | [Microsoft Playwright MCP](https://github.com/microsoft/playwright-mcp) | [JSON](./safety-index/artifacts/playwright-mcp-server.json) / [report](./safety-index/artifacts/playwright-mcp-server.md) | `attack-sim npx -y @playwright/mcp` | `setup-ci --all --command "npx -y @playwright/mcp" --sarif` | High-capability browser boundary; safe evidence is useful for downstream adopters. |
49
+ | [Puppeteer MCP server](https://www.npmjs.com/package/puppeteer-mcp-server) | [JSON](./safety-index/artifacts/puppeteer-server.json) / [report](./safety-index/artifacts/puppeteer-server.md) | `attack-sim npx -y puppeteer-mcp-server` | `setup-ci --all --command "npx -y puppeteer-mcp-server" --sarif` | Public package, no production credentials, no destructive tool invocation. |
50
+
51
+ ### Command Execution And Infrastructure Boundary
52
+
53
+ | Server | Receipt | Attack evidence | CI/SARIF path | Maintainer note |
54
+ | --- | --- | --- | --- | --- |
55
+ | [OpenTofu MCP server](https://github.com/opentofu/opentofu-mcp-server) | [JSON](./safety-index/artifacts/opentofu-server.json) / [report](./safety-index/artifacts/opentofu-server.md) | `attack-sim npx -y @opentofu/opentofu-mcp-server` | `setup-ci --all --command "npx -y @opentofu/opentofu-mcp-server" --sarif` | Infrastructure tools deserve explicit permission-boundary evidence before production use. |
56
+ | [Flux159 Kubernetes MCP server](https://github.com/Flux159/mcp-server-kubernetes) | [JSON](./safety-index/artifacts/kubernetes-server.json) / [report](./safety-index/artifacts/kubernetes-server.md) | [attack-sim](./safety-index/artifacts/kubernetes-server.attack.md) / [SARIF](./safety-index/artifacts/kubernetes-server.attack.sarif) | `setup-ci --all --command "npx -y mcp-server-kubernetes" --sarif` | Kubernetes and cluster mutation boundaries should be reviewed with no kubeconfig or cluster calls in public evidence. |
57
+
58
+ ### Memory Boundary
59
+
60
+ | Server | Receipt | Attack evidence | CI/SARIF path | Maintainer note |
61
+ | --- | --- | --- | --- | --- |
62
+ | [Official memory server](https://github.com/modelcontextprotocol/servers) | [JSON](./safety-index/artifacts/memory-server.json) / [report](./safety-index/artifacts/memory-server.md) | `attack-sim npx -y @modelcontextprotocol/server-memory` | `setup-ci --all --command "npx -y @modelcontextprotocol/server-memory" --sarif` | Memory tools need clear evidence around persistence, recall, and schema drift. |
63
+
64
+ ### Data/API And General Tooling Boundary
65
+
66
+ | Server | Receipt | Attack evidence | CI/SARIF path | Maintainer note |
67
+ | --- | --- | --- | --- | --- |
68
+ | [Context7](https://github.com/upstash/context7) | [JSON](./safety-index/artifacts/context7-server.json) / [report](./safety-index/artifacts/context7-server.md) | `attack-sim npx -y @upstash/context7-mcp` | `setup-ci --all --command "npx -y @upstash/context7-mcp" --sarif` | Documentation/data access servers are good candidates for portable receipts and maintainer CI. |
69
+ | [Official everything server](https://github.com/modelcontextprotocol/servers) | [JSON](./safety-index/artifacts/everything-server.json) / [report](./safety-index/artifacts/everything-server.md) | `attack-sim npx -y @modelcontextprotocol/server-everything` | Public reference baseline; CI-ready. | Baseline server for validating Observatory behavior and receipt output. |
70
+ | [Official sequential thinking server](https://github.com/modelcontextprotocol/servers) | [JSON](./safety-index/artifacts/sequential-thinking-server.json) / [report](./safety-index/artifacts/sequential-thinking-server.md) | `attack-sim npx -y @modelcontextprotocol/server-sequential-thinking` | Public reference baseline; CI-ready. | Low-destructive baseline useful for receipt and graph examples. |
71
+
72
+ ## Maintainer Conversation Templates
73
+
74
+ Use these when opening or replying to maintainer conversations. Keep them short, specific, and easy to rerun.
75
+
76
+ ### Safe Receipt Generated
77
+
78
+ ```text
79
+ We generated a safe MCP Observatory receipt for this server using a public startup command. It does not use secrets, production data, external callbacks, or destructive tool calls.
80
+
81
+ Receipt/report: <artifact link>
82
+ Reproduce: npx @kryptosai/mcp-observatory receipt <safe startup command> --profile nsa-mcp --format markdown --output receipt.md
83
+ CI/SARIF: npx @kryptosai/mcp-observatory setup-ci --all --command "<safe startup command>" --sarif --schedule weekly
84
+
85
+ If there is a safer startup mode or fixture command you prefer, tell us and we can rerun the receipt.
86
+ ```
87
+
88
+ ### CI/SARIF Follow-Up
89
+
90
+ ```text
91
+ This server now has reproducible MCP receipt evidence. The next useful maintainer step is a weekly CI/SARIF gate:
92
+
93
+ npx @kryptosai/mcp-observatory setup-ci --all --command "<safe startup command>" --sarif --schedule weekly
94
+
95
+ That gives downstream users a GitHub-native signal when tool schemas, descriptions, or attack-readiness findings drift.
96
+ ```
97
+
98
+ ### Claim Or Update Receipt
99
+
100
+ ```text
101
+ Maintainers can claim/update this receipt by providing the preferred safe startup command, expected capability boundary, and any fixture mode that avoids credentials or production systems.
102
+
103
+ We will keep the public entry evidence-based and mark limitations directly in the receipt instead of treating this as a ranking dunk.
104
+ ```
33
105
 
34
106
  ## How To Add A Node
35
107
 
@@ -40,15 +112,30 @@ Use this page as the first public map from MCP servers to reproducible evidence.
40
112
  ```bash
41
113
  npx @kryptosai/mcp-observatory test <safe startup command> --json run-artifact.json --markdown run-report.md
42
114
  npx @kryptosai/mcp-observatory attack-sim <safe startup command> --json attack-artifact.json --output attack-report.md --sarif attack-results.sarif
43
- npx @kryptosai/mcp-observatory setup-ci --all --command "<safe startup command>" --sarif
115
+ npx @kryptosai/mcp-observatory receipt <safe startup command> --profile nsa-mcp --format json --output receipt.json
116
+ npx @kryptosai/mcp-observatory risk-graph --input . --json mcp-risk-graph.json --output mcp-risk-graph.md --html mcp-risk-graph.html
117
+ npx @kryptosai/mcp-observatory setup-ci --all --command "<safe startup command>" --sarif --schedule weekly
44
118
  ```
45
119
 
46
120
  4. Attach sanitized artifacts or open a focused PR.
47
121
 
48
- ## Agent-Native Ask
122
+ ## Commercial Boundary
49
123
 
50
- ```text
51
- Name one MCP server your agent depends on. I will help turn it into a reproducible receipt: safe startup command, run artifact, attack-sim evidence, SARIF, and a CI gate maintainers can review.
52
- ```
124
+ The public graph should maximize trust and adoption. The private graph should maximize buyer value.
125
+
126
+ Public:
127
+
128
+ - target name and safe startup command
129
+ - receipt, run artifact, SARIF, Markdown/HTML reports
130
+ - capability boundary and recommended action
131
+ - maintainer note and rerun command
132
+
133
+ Private:
134
+
135
+ - raw telemetry, emails, hostnames, and account identifiers
136
+ - exact commercial scoring weights
137
+ - private fleet inventory
138
+ - buyer-specific remediation notes
139
+ - hosted retention, alerts, SIEM export, and incident timeline workflows
53
140
 
54
- For the public intake loop, see [Drop an MCP server, get a receipt](./drop-server-get-receipt.md) or comment on [the live GitHub thread](https://github.com/KryptosAI/mcp-observatory/issues/146).
141
+ See [Open Core And Commercial Boundary](./commercial-boundary.md) and [Private MCP Fleet Risk Graph](./private-mcp-fleet-risk-graph.md).