@kryptosai/mcp-observatory 1.33.0 → 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.
Files changed (107) hide show
  1. package/README.md +8 -121
  2. package/dist/src/auth.d.ts +22 -0
  3. package/dist/src/auth.js +140 -0
  4. package/dist/src/auth.js.map +1 -0
  5. package/dist/src/cli.js +48 -3
  6. package/dist/src/cli.js.map +1 -1
  7. package/dist/src/commands/demo.d.ts +2 -0
  8. package/dist/src/commands/demo.js +247 -0
  9. package/dist/src/commands/demo.js.map +1 -0
  10. package/dist/src/commands/helpers.d.ts +11 -0
  11. package/dist/src/commands/helpers.js +26 -0
  12. package/dist/src/commands/helpers.js.map +1 -1
  13. package/dist/src/commands/init-ci.d.ts +1 -0
  14. package/dist/src/commands/init-ci.js +157 -10
  15. package/dist/src/commands/init-ci.js.map +1 -1
  16. package/dist/src/commands/receipt.js +13 -3
  17. package/dist/src/commands/receipt.js.map +1 -1
  18. package/dist/src/commands/scan.js +10 -1
  19. package/dist/src/commands/scan.js.map +1 -1
  20. package/dist/src/commands/setup-ci-conversion.js +4 -4
  21. package/dist/src/commands/setup-ci-conversion.js.map +1 -1
  22. package/dist/src/commands/test.js +9 -1
  23. package/dist/src/commands/test.js.map +1 -1
  24. package/dist/src/commercial.d.ts +3 -0
  25. package/dist/src/commercial.js +12 -1
  26. package/dist/src/commercial.js.map +1 -1
  27. package/dist/src/index.d.ts +1 -1
  28. package/dist/src/index.js +1 -1
  29. package/dist/src/index.js.map +1 -1
  30. package/dist/src/receipt.d.ts +9 -0
  31. package/dist/src/receipt.js +24 -1
  32. package/dist/src/receipt.js.map +1 -1
  33. package/dist/src/telemetry.js +4 -0
  34. package/dist/src/telemetry.js.map +1 -1
  35. package/dist/src/utils/failure-diagnosis.d.ts +7 -0
  36. package/dist/src/utils/failure-diagnosis.js +14 -0
  37. package/dist/src/utils/failure-diagnosis.js.map +1 -1
  38. package/docs/mcp-server-safety-index.md +1 -1
  39. package/docs/safety-index/artifacts/antv-chart-server.json +21 -21
  40. package/docs/safety-index/artifacts/antv-chart-server.md +10 -10
  41. package/docs/safety-index/artifacts/browsermcp-server.json +18 -18
  42. package/docs/safety-index/artifacts/browsermcp-server.md +9 -9
  43. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.json +19 -19
  44. package/docs/safety-index/artifacts/chrome-devtools-mcp-server.md +9 -9
  45. package/docs/safety-index/artifacts/cloudflare-server.json +4 -4
  46. package/docs/safety-index/artifacts/cloudflare-server.md +4 -4
  47. package/docs/safety-index/artifacts/context7-server.json +18 -18
  48. package/docs/safety-index/artifacts/context7-server.md +10 -10
  49. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +34 -34
  50. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +15 -15
  51. package/docs/safety-index/artifacts/everything-server.json +18 -18
  52. package/docs/safety-index/artifacts/everything-server.md +11 -11
  53. package/docs/safety-index/artifacts/executeautomation-playwright-server.json +19 -19
  54. package/docs/safety-index/artifacts/executeautomation-playwright-server.md +11 -11
  55. package/docs/safety-index/artifacts/filesystem-mcp-server.json +19 -19
  56. package/docs/safety-index/artifacts/filesystem-mcp-server.md +10 -10
  57. package/docs/safety-index/artifacts/filesystem-server.json +19 -19
  58. package/docs/safety-index/artifacts/filesystem-server.md +10 -10
  59. package/docs/safety-index/artifacts/github-mcp-server.json +18 -18
  60. package/docs/safety-index/artifacts/github-mcp-server.md +9 -9
  61. package/docs/safety-index/artifacts/google-drive-server.json +4 -4
  62. package/docs/safety-index/artifacts/google-drive-server.md +4 -4
  63. package/docs/safety-index/artifacts/kubernetes-server.json +23 -23
  64. package/docs/safety-index/artifacts/kubernetes-server.md +15 -15
  65. package/docs/safety-index/artifacts/memory-server.json +18 -18
  66. package/docs/safety-index/artifacts/memory-server.md +10 -10
  67. package/docs/safety-index/artifacts/mongodb-server.json +4 -4
  68. package/docs/safety-index/artifacts/mongodb-server.md +4 -4
  69. package/docs/safety-index/artifacts/opentofu-server.json +18 -18
  70. package/docs/safety-index/artifacts/opentofu-server.md +9 -9
  71. package/docs/safety-index/artifacts/playwright-mcp-server.json +18 -18
  72. package/docs/safety-index/artifacts/playwright-mcp-server.md +9 -9
  73. package/docs/safety-index/artifacts/promptopia-server.json +21 -21
  74. package/docs/safety-index/artifacts/promptopia-server.md +11 -11
  75. package/docs/safety-index/artifacts/puppeteer-server.json +18 -18
  76. package/docs/safety-index/artifacts/puppeteer-server.md +9 -9
  77. package/docs/safety-index/artifacts/qdrant-server.json +4 -4
  78. package/docs/safety-index/artifacts/qdrant-server.md +4 -4
  79. package/docs/safety-index/artifacts/ref-tools-server.json +18 -18
  80. package/docs/safety-index/artifacts/ref-tools-server.md +10 -10
  81. package/docs/safety-index/artifacts/sequential-thinking-server.json +18 -18
  82. package/docs/safety-index/artifacts/sequential-thinking-server.md +8 -8
  83. package/docs/safety-index/artifacts/slack-server.json +3 -3
  84. package/docs/safety-index/artifacts/slack-server.md +2 -2
  85. package/docs/safety-index/artifacts/ui5-mcp-server.json +18 -18
  86. package/docs/safety-index/artifacts/ui5-mcp-server.md +9 -9
  87. package/docs/safety-index/artifacts/vercel-ai-server.json +4 -4
  88. package/docs/safety-index/artifacts/vercel-ai-server.md +4 -4
  89. package/package.json +2 -2
  90. package/dist/src/adapters/base.d.ts +0 -14
  91. package/dist/src/adapters/base.js +0 -2
  92. package/dist/src/adapters/base.js.map +0 -1
  93. package/dist/src/checks/semantics.d.ts +0 -2
  94. package/dist/src/checks/semantics.js +0 -48
  95. package/dist/src/checks/semantics.js.map +0 -1
  96. package/dist/src/diff/diff.d.ts +0 -2
  97. package/dist/src/diff/diff.js +0 -81
  98. package/dist/src/diff/diff.js.map +0 -1
  99. package/dist/src/reporters/json.d.ts +0 -2
  100. package/dist/src/reporters/json.js +0 -4
  101. package/dist/src/reporters/json.js.map +0 -1
  102. package/dist/src/runner/runner.d.ts +0 -2
  103. package/dist/src/runner/runner.js +0 -135
  104. package/dist/src/runner/runner.js.map +0 -1
  105. package/dist/src/storage/filesystem.d.ts +0 -6
  106. package/dist/src/storage/filesystem.js +0 -21
  107. package/dist/src/storage/filesystem.js.map +0 -1
@@ -2,9 +2,9 @@
2
2
  "artifactType": "run",
3
3
  "schemaVersion": "1.0.0",
4
4
  "gate": "fail",
5
- "runId": "run_2026-07-15T223335366Z_4ee3cf79",
6
- "createdAt": "2026-07-15T22:33:35.366Z",
7
- "toolVersion": "1.32.1",
5
+ "runId": "run_2026-07-17T003638730Z_9e4736a4",
6
+ "createdAt": "2026-07-17T00:36:38.730Z",
7
+ "toolVersion": "1.33.0",
8
8
  "target": {
9
9
  "targetId": "chrome-devtools-mcp-server",
10
10
  "adapter": "local-process",
@@ -43,7 +43,7 @@
43
43
  "id": "tools",
44
44
  "capability": "tools",
45
45
  "status": "pass",
46
- "durationMs": 3.329791000000114,
46
+ "durationMs": 5.126208999998198,
47
47
  "message": "Advertised capability responded with the minimal expected shape (29 items).",
48
48
  "evidence": [
49
49
  {
@@ -809,7 +809,7 @@
809
809
  "id": "prompts",
810
810
  "capability": "prompts",
811
811
  "status": "unsupported",
812
- "durationMs": 0.000959000000875676,
812
+ "durationMs": 0.0029159999976400286,
813
813
  "message": "Prompts are not advertised by the target.",
814
814
  "evidence": [
815
815
  {
@@ -825,7 +825,7 @@
825
825
  "id": "resources",
826
826
  "capability": "resources",
827
827
  "status": "unsupported",
828
- "durationMs": 0.0034589999995660037,
828
+ "durationMs": 0.006000000001222361,
829
829
  "message": "Resources are not advertised by the target.",
830
830
  "evidence": [
831
831
  {
@@ -841,7 +841,7 @@
841
841
  "id": "security-lite",
842
842
  "capability": "security-lite",
843
843
  "status": "fail",
844
- "durationMs": 0.07579099999929895,
844
+ "durationMs": 0.08212500000081491,
845
845
  "message": "Found 30 security finding(s): 1 high, 7 medium, 22 low.",
846
846
  "evidence": [
847
847
  {
@@ -1095,7 +1095,7 @@
1095
1095
  "id": "runtime-profile",
1096
1096
  "capability": "runtime-profile",
1097
1097
  "status": "partial",
1098
- "durationMs": 0.27462499999819556,
1098
+ "durationMs": 0.5307919999977457,
1099
1099
  "message": "Detected 9 potential egress target(s) and 36 potential state mutation(s) with high confidence.",
1100
1100
  "evidence": [
1101
1101
  {
@@ -1388,7 +1388,7 @@
1388
1388
  "id": "conformance",
1389
1389
  "capability": "conformance",
1390
1390
  "status": "pass",
1391
- "durationMs": 467.4852920000012,
1391
+ "durationMs": 525.9972909999997,
1392
1392
  "message": "All 7 conformance checks passed.",
1393
1393
  "evidence": [
1394
1394
  {
@@ -1414,7 +1414,7 @@
1414
1414
  "id": "schema-quality",
1415
1415
  "capability": "schema-quality",
1416
1416
  "status": "partial",
1417
- "durationMs": 0.9106250000004366,
1417
+ "durationMs": 0.9111249999987194,
1418
1418
  "message": "Found 10 quality finding(s) across 29 item(s): 0 warnings, 10 info.",
1419
1419
  "evidence": [
1420
1420
  {
@@ -1516,7 +1516,7 @@
1516
1516
  "id": "security",
1517
1517
  "capability": "security",
1518
1518
  "status": "fail",
1519
- "durationMs": 0.6830829999998969,
1519
+ "durationMs": 0.6520000000018626,
1520
1520
  "message": "Found 30 security finding(s): 1 high, 7 medium, 22 low.",
1521
1521
  "evidence": [
1522
1522
  {
@@ -1770,7 +1770,7 @@
1770
1770
  "id": "attack-sim",
1771
1771
  "capability": "attack-sim",
1772
1772
  "status": "partial",
1773
- "durationMs": 0.8363329999992857,
1773
+ "durationMs": 0.7598749999997381,
1774
1774
  "message": "Safe attack simulation found 9 finding(s): 0 high, 9 medium, 0 low.",
1775
1775
  "evidence": [
1776
1776
  {
@@ -2023,17 +2023,17 @@
2023
2023
  "weight": 0.1,
2024
2024
  "score": 100,
2025
2025
  "details": [
2026
- "Connect: 844ms",
2027
- "p95 latency: 3ms (3 operations)"
2026
+ "Connect: 909ms",
2027
+ "p95 latency: 5ms (3 operations)"
2028
2028
  ]
2029
2029
  }
2030
2030
  ]
2031
2031
  },
2032
2032
  "performanceMetrics": {
2033
- "connectMs": 844.4904169999973,
2034
- "toolsListMs": 3.329791000000114,
2035
- "promptsListMs": 0.000959000000875676,
2036
- "resourcesListMs": 0.0034589999995660037
2033
+ "connectMs": 908.7971249999973,
2034
+ "toolsListMs": 5.126208999998198,
2035
+ "promptsListMs": 0.0029159999976400286,
2036
+ "resourcesListMs": 0.006000000001222361
2037
2037
  },
2038
2038
  "runtimeProfile": {
2039
2039
  "egress": [
@@ -2310,7 +2310,7 @@
2310
2310
  "source": "description_analysis"
2311
2311
  }
2312
2312
  ],
2313
- "analyzedAt": "2026-07-15T22:33:36.216Z",
2313
+ "analyzedAt": "2026-07-17T00:36:39.647Z",
2314
2314
  "confidence": "high"
2315
2315
  }
2316
2316
  }
@@ -1,6 +1,6 @@
1
1
  # MCP Observatory Run Report
2
2
 
3
- Generated at 2026-07-15T22:33:35.366Z
3
+ Generated at 2026-07-17T00:36:38.730Z
4
4
 
5
5
  ## Target and Environment Metadata
6
6
 
@@ -106,7 +106,7 @@ The following state-modifying operations were identified from tool schemas:
106
106
  | filesystem | write | working_directory | description_analysis |
107
107
  | filesystem | write | working_directory | description_analysis |
108
108
 
109
- _Analyzed at 2026-07-15T22:33:36.216Z_
109
+ _Analyzed at 2026-07-17T00:36:39.647Z_
110
110
 
111
111
  ## Regressions and Recoveries
112
112
 
@@ -116,14 +116,14 @@ _Use the `diff` command against another run artifact to classify regressions and
116
116
 
117
117
  | Focus | Check | Status | Duration (ms) | Message |
118
118
  | --- | --- | --- | --- | --- |
119
- | healthy | conformance | pass | 467.49 | All 7 conformance checks passed. |
120
- | healthy | tools | pass | 3.33 | Advertised capability responded with the minimal expected shape (29 items). |
121
- | review | attack-sim | partial | 0.84 | Safe attack simulation found 9 finding(s): 0 high, 9 medium, 0 low. |
122
- | review | runtime-profile | partial | 0.27 | Detected 9 potential egress target(s) and 36 potential state mutation(s) with high confidence. |
119
+ | healthy | conformance | pass | 526.00 | All 7 conformance checks passed. |
120
+ | healthy | tools | pass | 5.13 | Advertised capability responded with the minimal expected shape (29 items). |
121
+ | review | attack-sim | partial | 0.76 | Safe attack simulation found 9 finding(s): 0 high, 9 medium, 0 low. |
122
+ | review | runtime-profile | partial | 0.53 | Detected 9 potential egress target(s) and 36 potential state mutation(s) with high confidence. |
123
123
  | review | schema-quality | partial | 0.91 | Found 10 quality finding(s) across 29 item(s): 0 warnings, 10 info. |
124
124
  | confirm intent | prompts | unsupported | 0.00 | Prompts are not advertised by the target. |
125
- | confirm intent | resources | unsupported | 0.00 | Resources are not advertised by the target. |
126
- | act now | security | fail | 0.68 | Found 30 security finding(s): 1 high, 7 medium, 22 low. |
125
+ | confirm intent | resources | unsupported | 0.01 | Resources are not advertised by the target. |
126
+ | act now | security | fail | 0.65 | Found 30 security finding(s): 1 high, 7 medium, 22 low. |
127
127
  | act now | security-lite | fail | 0.08 | Found 30 security finding(s): 1 high, 7 medium, 22 low. |
128
128
 
129
129
  ## Evidence Snippets
@@ -247,5 +247,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
247
247
 
248
248
  - Artifact type: `run`
249
249
  - Schema version: `1.0.0`
250
- - Run ID: `run_2026-07-15T223335366Z_4ee3cf79`
250
+ - Run ID: `run_2026-07-17T003638730Z_9e4736a4`
251
251
  - 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-15T223338249Z_a169ea76",
6
- "createdAt": "2026-07-15T22:33:38.249Z",
7
- "toolVersion": "1.32.1",
5
+ "runId": "run_2026-07-17T003641847Z_09c16193",
6
+ "createdAt": "2026-07-17T00:36:41.847Z",
7
+ "toolVersion": "1.33.0",
8
8
  "target": {
9
9
  "targetId": "cloudflare-server",
10
10
  "adapter": "local-process",
@@ -62,5 +62,5 @@
62
62
  "evidence": []
63
63
  }
64
64
  ],
65
- "fatalError": "Could not establish a plain stdio MCP session for target `cloudflare-server`.\nCommand: npx -y @anthropic/mcp-server-cloudflare\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 '@anthropic/mcp-server-cloudflare@*' 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_33_38_319Z-debug-0.log"
65
+ "fatalError": "Could not establish a plain stdio MCP session for target `cloudflare-server`.\nCommand: npx -y @anthropic/mcp-server-cloudflare\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 The requested resource '@anthropic/mcp-server-cloudflare@*' could not be found or you do not have permission to access it.\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-17T00_36_41_933Z-debug-0.log"
66
66
  }
@@ -1,6 +1,6 @@
1
1
  # MCP Observatory Run Report
2
2
 
3
- Generated at 2026-07-15T22:33:38.249Z
3
+ Generated at 2026-07-17T00:36:41.847Z
4
4
 
5
5
  ## Target and Environment Metadata
6
6
 
@@ -56,11 +56,11 @@ Next steps:
56
56
  - Check whether the package expects a different transport or an app-oriented startup flow.
57
57
  - Use the recent stderr lines below before assuming this is a harness bug.
58
58
  Recent stderr:
59
- - npm error 404 '@anthropic/mcp-server-cloudflare@*' is not in this registry.
59
+ - npm error 404 The requested resource '@anthropic/mcp-server-cloudflare@*' could not be found or you do not have permission to access it.
60
60
  - npm error 404
61
61
  - npm error 404 Note that you can also install from a
62
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_33_38_319Z-debug-0.log
63
+ - npm error A complete log of this run can be found in: /Users/williamweishuhn/.npm/_logs/2026-07-17T00_36_41_933Z-debug-0.log
64
64
  ```
65
65
 
66
66
  ## Full Capability Status Table
@@ -102,5 +102,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
102
102
 
103
103
  - Artifact type: `run`
104
104
  - Schema version: `1.0.0`
105
- - Run ID: `run_2026-07-15T223338249Z_a169ea76`
105
+ - Run ID: `run_2026-07-17T003641847Z_09c16193`
106
106
  - Gate: `fail`
@@ -2,9 +2,9 @@
2
2
  "artifactType": "run",
3
3
  "schemaVersion": "1.0.0",
4
4
  "gate": "pass",
5
- "runId": "run_2026-07-15T223317716Z_6b43b34a",
6
- "createdAt": "2026-07-15T22:33:17.716Z",
7
- "toolVersion": "1.32.1",
5
+ "runId": "run_2026-07-17T003622609Z_7a792254",
6
+ "createdAt": "2026-07-17T00:36:22.609Z",
7
+ "toolVersion": "1.33.0",
8
8
  "target": {
9
9
  "targetId": "context7-server",
10
10
  "adapter": "local-process",
@@ -43,7 +43,7 @@
43
43
  "id": "tools",
44
44
  "capability": "tools",
45
45
  "status": "pass",
46
- "durationMs": 1.6031249999996362,
46
+ "durationMs": 1.6870420000004742,
47
47
  "message": "Advertised capability responded with the minimal expected shape (2 items).",
48
48
  "evidence": [
49
49
  {
@@ -104,7 +104,7 @@
104
104
  "id": "prompts",
105
105
  "capability": "prompts",
106
106
  "status": "pass",
107
- "durationMs": 0.2611249999999927,
107
+ "durationMs": 0.29366699999991397,
108
108
  "message": "Advertised capability responded with the minimal expected shape (0 items).",
109
109
  "evidence": [
110
110
  {
@@ -124,7 +124,7 @@
124
124
  "id": "resources",
125
125
  "capability": "resources",
126
126
  "status": "pass",
127
- "durationMs": 0.3718750000007276,
127
+ "durationMs": 0.6708749999997963,
128
128
  "message": "Advertised capability responded with the minimal expected shape (0 items).",
129
129
  "evidence": [
130
130
  {
@@ -155,7 +155,7 @@
155
155
  "id": "security-lite",
156
156
  "capability": "security-lite",
157
157
  "status": "pass",
158
- "durationMs": 0.026667000000088592,
158
+ "durationMs": 0.029540999999881024,
159
159
  "message": "No security issues detected (lightweight scan).",
160
160
  "evidence": [
161
161
  {
@@ -171,7 +171,7 @@
171
171
  "id": "runtime-profile",
172
172
  "capability": "runtime-profile",
173
173
  "status": "pass",
174
- "durationMs": 0.2845000000006621,
174
+ "durationMs": 0.2849999999998545,
175
175
  "message": "Detected 2 potential egress target(s) and 1 potential state mutation(s) with low confidence.",
176
176
  "evidence": [
177
177
  {
@@ -212,7 +212,7 @@
212
212
  "id": "conformance",
213
213
  "capability": "conformance",
214
214
  "status": "pass",
215
- "durationMs": 1.04595800000061,
215
+ "durationMs": 1.110458999999537,
216
216
  "message": "All 7 conformance checks passed.",
217
217
  "evidence": [
218
218
  {
@@ -238,7 +238,7 @@
238
238
  "id": "schema-quality",
239
239
  "capability": "schema-quality",
240
240
  "status": "pass",
241
- "durationMs": 0.4874160000008487,
241
+ "durationMs": 0.73174999999992,
242
242
  "message": "All 2 item(s) have good schema quality.",
243
243
  "evidence": [
244
244
  {
@@ -255,7 +255,7 @@
255
255
  "id": "security",
256
256
  "capability": "security",
257
257
  "status": "pass",
258
- "durationMs": 0.25229200000012497,
258
+ "durationMs": 0.21841700000004494,
259
259
  "message": "No security issues detected.",
260
260
  "evidence": [
261
261
  {
@@ -271,7 +271,7 @@
271
271
  "id": "attack-sim",
272
272
  "capability": "attack-sim",
273
273
  "status": "partial",
274
- "durationMs": 1.4219579999999041,
274
+ "durationMs": 1.2029160000001866,
275
275
  "message": "Safe attack simulation found 2 finding(s): 0 high, 2 medium, 0 low.",
276
276
  "evidence": [
277
277
  {
@@ -369,17 +369,17 @@
369
369
  "weight": 0.1,
370
370
  "score": 100,
371
371
  "details": [
372
- "Connect: 1506ms",
372
+ "Connect: 939ms",
373
373
  "p95 latency: 2ms (3 operations)"
374
374
  ]
375
375
  }
376
376
  ]
377
377
  },
378
378
  "performanceMetrics": {
379
- "connectMs": 1506.127125,
380
- "toolsListMs": 1.6031249999996362,
381
- "promptsListMs": 0.2611249999999927,
382
- "resourcesListMs": 0.3718750000007276
379
+ "connectMs": 939.1923340000003,
380
+ "toolsListMs": 1.6870420000004742,
381
+ "promptsListMs": 0.29366699999991397,
382
+ "resourcesListMs": 0.6708749999997963
383
383
  },
384
384
  "runtimeProfile": {
385
385
  "egress": [
@@ -404,7 +404,7 @@
404
404
  "source": "description_analysis"
405
405
  }
406
406
  ],
407
- "analyzedAt": "2026-07-15T22:33:19.225Z",
407
+ "analyzedAt": "2026-07-17T00:36:23.552Z",
408
408
  "confidence": "medium"
409
409
  }
410
410
  }
@@ -1,6 +1,6 @@
1
1
  # MCP Observatory Run Report
2
2
 
3
- Generated at 2026-07-15T22:33:17.716Z
3
+ Generated at 2026-07-17T00:36:22.609Z
4
4
 
5
5
  ## Target and Environment Metadata
6
6
 
@@ -65,7 +65,7 @@ The following state-modifying operations were identified from tool schemas:
65
65
  | --- | --- | --- | --- |
66
66
  | filesystem | write | working_directory | description_analysis |
67
67
 
68
- _Analyzed at 2026-07-15T22:33:19.225Z_
68
+ _Analyzed at 2026-07-17T00:36:23.552Z_
69
69
 
70
70
  ## Regressions and Recoveries
71
71
 
@@ -75,15 +75,15 @@ _Use the `diff` command against another run artifact to classify regressions and
75
75
 
76
76
  | Focus | Check | Status | Duration (ms) | Message |
77
77
  | --- | --- | --- | --- | --- |
78
- | healthy | conformance | pass | 1.05 | All 7 conformance checks passed. |
79
- | healthy | prompts | pass | 0.26 | Advertised capability responded with the minimal expected shape (0 items). |
80
- | healthy | resources | pass | 0.37 | Advertised capability responded with the minimal expected shape (0 items). |
78
+ | healthy | conformance | pass | 1.11 | All 7 conformance checks passed. |
79
+ | healthy | prompts | pass | 0.29 | Advertised capability responded with the minimal expected shape (0 items). |
80
+ | healthy | resources | pass | 0.67 | Advertised capability responded with the minimal expected shape (0 items). |
81
81
  | healthy | runtime-profile | pass | 0.28 | Detected 2 potential egress target(s) and 1 potential state mutation(s) with low confidence. |
82
- | healthy | schema-quality | pass | 0.49 | All 2 item(s) have good schema quality. |
83
- | healthy | security | pass | 0.25 | No security issues detected. |
82
+ | healthy | schema-quality | pass | 0.73 | All 2 item(s) have good schema quality. |
83
+ | healthy | security | pass | 0.22 | No security issues detected. |
84
84
  | healthy | security-lite | pass | 0.03 | No security issues detected (lightweight scan). |
85
- | healthy | tools | pass | 1.60 | Advertised capability responded with the minimal expected shape (2 items). |
86
- | review | attack-sim | partial | 1.42 | Safe attack simulation found 2 finding(s): 0 high, 2 medium, 0 low. |
85
+ | healthy | tools | pass | 1.69 | Advertised capability responded with the minimal expected shape (2 items). |
86
+ | review | attack-sim | partial | 1.20 | Safe attack simulation found 2 finding(s): 0 high, 2 medium, 0 low. |
87
87
 
88
88
  ## Evidence Snippets
89
89
 
@@ -213,5 +213,5 @@ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
213
213
 
214
214
  - Artifact type: `run`
215
215
  - Schema version: `1.0.0`
216
- - Run ID: `run_2026-07-15T223317716Z_6b43b34a`
216
+ - Run ID: `run_2026-07-17T003622609Z_7a792254`
217
217
  - Gate: `pass`
@@ -2,9 +2,9 @@
2
2
  "artifactType": "run",
3
3
  "schemaVersion": "1.0.0",
4
4
  "gate": "pass",
5
- "runId": "run_2026-07-15T223323038Z_2f82103c",
6
- "createdAt": "2026-07-15T22:33:23.038Z",
7
- "toolVersion": "1.32.1",
5
+ "runId": "run_2026-07-17T003627019Z_11f6ae05",
6
+ "createdAt": "2026-07-17T00:36:27.019Z",
7
+ "toolVersion": "1.33.0",
8
8
  "target": {
9
9
  "targetId": "cyanheads-git-mcp-server",
10
10
  "adapter": "local-process",
@@ -43,7 +43,7 @@
43
43
  "id": "tools",
44
44
  "capability": "tools",
45
45
  "status": "pass",
46
- "durationMs": 35.43062500000087,
46
+ "durationMs": 30.2086249999993,
47
47
  "message": "Advertised capability responded with the minimal expected shape (28 items).",
48
48
  "evidence": [
49
49
  {
@@ -1357,7 +1357,7 @@
1357
1357
  "id": "prompts",
1358
1358
  "capability": "prompts",
1359
1359
  "status": "pass",
1360
- "durationMs": 0.7058749999996508,
1360
+ "durationMs": 0.7202919999999722,
1361
1361
  "message": "Advertised capability responded with the minimal expected shape (1 item).",
1362
1362
  "evidence": [
1363
1363
  {
@@ -1370,11 +1370,11 @@
1370
1370
  "git_wrapup"
1371
1371
  ],
1372
1372
  "diagnostics": [
1373
- "{\"level\":30,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"transport\":\"stdio\",\"requestId\":\"DJ2YE-42BGR\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Attempting to connect stdio transport...\"}",
1374
- "{\"level\":20,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"transport\":\"stdio\",\"requestId\":\"DJ2YE-42BGR\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Creating StdioServerTransport instance...\"}",
1375
- "{\"level\":20,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"transport\":\"stdio\",\"requestId\":\"DJ2YE-42BGR\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Connecting McpServer instance to StdioServerTransport...\"}",
1376
- "{\"level\":30,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"transport\":\"stdio\",\"requestId\":\"DJ2YE-42BGR\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"MCP Server connected and listening via stdio transport.\"}",
1377
- "{\"level\":30,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"applicationName\":\"@cyanheads/git-mcp-server\",\"applicationVersion\":\"2.15.1\",\"nodeEnvironment\":\"development\",\"requestId\":\"E2Z81-S6VVX\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"ServerStartup\",\"msg\":\"@cyanheads/git-mcp-server is now running and ready.\"}"
1373
+ "{\"level\":30,\"time\":1784248587909,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"transport\":\"stdio\",\"requestId\":\"D733W-M7R8R\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Attempting to connect stdio transport...\"}",
1374
+ "{\"level\":20,\"time\":1784248587909,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"transport\":\"stdio\",\"requestId\":\"D733W-M7R8R\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Creating StdioServerTransport instance...\"}",
1375
+ "{\"level\":20,\"time\":1784248587909,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"transport\":\"stdio\",\"requestId\":\"D733W-M7R8R\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Connecting McpServer instance to StdioServerTransport...\"}",
1376
+ "{\"level\":30,\"time\":1784248587910,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"transport\":\"stdio\",\"requestId\":\"D733W-M7R8R\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"MCP Server connected and listening via stdio transport.\"}",
1377
+ "{\"level\":30,\"time\":1784248587910,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"applicationName\":\"@cyanheads/git-mcp-server\",\"applicationVersion\":\"2.15.1\",\"nodeEnvironment\":\"development\",\"requestId\":\"Y905T-A79IR\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"ServerStartup\",\"msg\":\"@cyanheads/git-mcp-server is now running and ready.\"}"
1378
1378
  ]
1379
1379
  }
1380
1380
  ]
@@ -1383,7 +1383,7 @@
1383
1383
  "id": "resources",
1384
1384
  "capability": "resources",
1385
1385
  "status": "pass",
1386
- "durationMs": 0.6070830000007845,
1386
+ "durationMs": 0.5963749999991705,
1387
1387
  "message": "Advertised capability responded with the minimal expected shape (2 items).",
1388
1388
  "evidence": [
1389
1389
  {
@@ -1396,11 +1396,11 @@
1396
1396
  "git://working-directory"
1397
1397
  ],
1398
1398
  "diagnostics": [
1399
- "{\"level\":30,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"transport\":\"stdio\",\"requestId\":\"DJ2YE-42BGR\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Attempting to connect stdio transport...\"}",
1400
- "{\"level\":20,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"transport\":\"stdio\",\"requestId\":\"DJ2YE-42BGR\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Creating StdioServerTransport instance...\"}",
1401
- "{\"level\":20,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"transport\":\"stdio\",\"requestId\":\"DJ2YE-42BGR\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Connecting McpServer instance to StdioServerTransport...\"}",
1402
- "{\"level\":30,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"transport\":\"stdio\",\"requestId\":\"DJ2YE-42BGR\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"MCP Server connected and listening via stdio transport.\"}",
1403
- "{\"level\":30,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"applicationName\":\"@cyanheads/git-mcp-server\",\"applicationVersion\":\"2.15.1\",\"nodeEnvironment\":\"development\",\"requestId\":\"E2Z81-S6VVX\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"ServerStartup\",\"msg\":\"@cyanheads/git-mcp-server is now running and ready.\"}"
1399
+ "{\"level\":30,\"time\":1784248587909,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"transport\":\"stdio\",\"requestId\":\"D733W-M7R8R\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Attempting to connect stdio transport...\"}",
1400
+ "{\"level\":20,\"time\":1784248587909,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"transport\":\"stdio\",\"requestId\":\"D733W-M7R8R\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Creating StdioServerTransport instance...\"}",
1401
+ "{\"level\":20,\"time\":1784248587909,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"transport\":\"stdio\",\"requestId\":\"D733W-M7R8R\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Connecting McpServer instance to StdioServerTransport...\"}",
1402
+ "{\"level\":30,\"time\":1784248587910,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"transport\":\"stdio\",\"requestId\":\"D733W-M7R8R\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"MCP Server connected and listening via stdio transport.\"}",
1403
+ "{\"level\":30,\"time\":1784248587910,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"applicationName\":\"@cyanheads/git-mcp-server\",\"applicationVersion\":\"2.15.1\",\"nodeEnvironment\":\"development\",\"requestId\":\"Y905T-A79IR\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"ServerStartup\",\"msg\":\"@cyanheads/git-mcp-server is now running and ready.\"}"
1404
1404
  ]
1405
1405
  },
1406
1406
  {
@@ -1413,11 +1413,11 @@
1413
1413
  "git://working-directory"
1414
1414
  ],
1415
1415
  "diagnostics": [
1416
- "{\"level\":30,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"transport\":\"stdio\",\"requestId\":\"DJ2YE-42BGR\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Attempting to connect stdio transport...\"}",
1417
- "{\"level\":20,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"transport\":\"stdio\",\"requestId\":\"DJ2YE-42BGR\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Creating StdioServerTransport instance...\"}",
1418
- "{\"level\":20,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"transport\":\"stdio\",\"requestId\":\"DJ2YE-42BGR\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Connecting McpServer instance to StdioServerTransport...\"}",
1419
- "{\"level\":30,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"transport\":\"stdio\",\"requestId\":\"DJ2YE-42BGR\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"MCP Server connected and listening via stdio transport.\"}",
1420
- "{\"level\":30,\"time\":1784154803986,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":77719,\"applicationName\":\"@cyanheads/git-mcp-server\",\"applicationVersion\":\"2.15.1\",\"nodeEnvironment\":\"development\",\"requestId\":\"E2Z81-S6VVX\",\"timestamp\":\"2026-07-15T22:33:23.982Z\",\"operation\":\"ServerStartup\",\"msg\":\"@cyanheads/git-mcp-server is now running and ready.\"}"
1416
+ "{\"level\":30,\"time\":1784248587909,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"transport\":\"stdio\",\"requestId\":\"D733W-M7R8R\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Attempting to connect stdio transport...\"}",
1417
+ "{\"level\":20,\"time\":1784248587909,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"transport\":\"stdio\",\"requestId\":\"D733W-M7R8R\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Creating StdioServerTransport instance...\"}",
1418
+ "{\"level\":20,\"time\":1784248587909,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"transport\":\"stdio\",\"requestId\":\"D733W-M7R8R\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"Connecting McpServer instance to StdioServerTransport...\"}",
1419
+ "{\"level\":30,\"time\":1784248587910,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"transport\":\"stdio\",\"requestId\":\"D733W-M7R8R\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"connectStdioTransport\",\"transportType\":\"Stdio\",\"msg\":\"MCP Server connected and listening via stdio transport.\"}",
1420
+ "{\"level\":30,\"time\":1784248587910,\"env\":\"development\",\"version\":\"2.15.1\",\"pid\":39477,\"applicationName\":\"@cyanheads/git-mcp-server\",\"applicationVersion\":\"2.15.1\",\"nodeEnvironment\":\"development\",\"requestId\":\"Y905T-A79IR\",\"timestamp\":\"2026-07-17T00:36:27.905Z\",\"operation\":\"ServerStartup\",\"msg\":\"@cyanheads/git-mcp-server is now running and ready.\"}"
1421
1421
  ]
1422
1422
  }
1423
1423
  ]
@@ -1426,7 +1426,7 @@
1426
1426
  "id": "security-lite",
1427
1427
  "capability": "security-lite",
1428
1428
  "status": "partial",
1429
- "durationMs": 0.09629099999983737,
1429
+ "durationMs": 0.08399999999892316,
1430
1430
  "message": "Found 19 security finding(s): 0 high, 19 medium, 0 low.",
1431
1431
  "evidence": [
1432
1432
  {
@@ -1600,7 +1600,7 @@
1600
1600
  "id": "runtime-profile",
1601
1601
  "capability": "runtime-profile",
1602
1602
  "status": "partial",
1603
- "durationMs": 0.5264590000006137,
1603
+ "durationMs": 0.49562499999956344,
1604
1604
  "message": "Detected 7 potential egress target(s) and 118 potential state mutation(s) with high confidence.",
1605
1605
  "evidence": [
1606
1606
  {
@@ -2373,7 +2373,7 @@
2373
2373
  "id": "conformance",
2374
2374
  "capability": "conformance",
2375
2375
  "status": "pass",
2376
- "durationMs": 39.17083300000013,
2376
+ "durationMs": 35.39745799999946,
2377
2377
  "message": "All 7 conformance checks passed.",
2378
2378
  "evidence": [
2379
2379
  {
@@ -2399,7 +2399,7 @@
2399
2399
  "id": "schema-quality",
2400
2400
  "capability": "schema-quality",
2401
2401
  "status": "partial",
2402
- "durationMs": 24.134791999998924,
2402
+ "durationMs": 18.770915999999488,
2403
2403
  "message": "Found 17 quality finding(s) across 30 item(s): 0 warnings, 17 info.",
2404
2404
  "evidence": [
2405
2405
  {
@@ -2557,7 +2557,7 @@
2557
2557
  "id": "security",
2558
2558
  "capability": "security",
2559
2559
  "status": "partial",
2560
- "durationMs": 18.68891700000131,
2560
+ "durationMs": 17.21100000000115,
2561
2561
  "message": "Found 19 security finding(s): 0 high, 19 medium, 0 low.",
2562
2562
  "evidence": [
2563
2563
  {
@@ -2731,7 +2731,7 @@
2731
2731
  "id": "attack-sim",
2732
2732
  "capability": "attack-sim",
2733
2733
  "status": "partial",
2734
- "durationMs": 19.731166999999914,
2734
+ "durationMs": 18.707209000000148,
2735
2735
  "message": "Safe attack simulation found 19 finding(s): 0 high, 19 medium, 0 low.",
2736
2736
  "evidence": [
2737
2737
  {
@@ -3196,17 +3196,17 @@
3196
3196
  "weight": 0.1,
3197
3197
  "score": 100,
3198
3198
  "details": [
3199
- "Connect: 951ms",
3200
- "p95 latency: 35ms (3 operations)"
3199
+ "Connect: 894ms",
3200
+ "p95 latency: 30ms (3 operations)"
3201
3201
  ]
3202
3202
  }
3203
3203
  ]
3204
3204
  },
3205
3205
  "performanceMetrics": {
3206
- "connectMs": 951.0307919999996,
3207
- "toolsListMs": 35.43062500000087,
3208
- "promptsListMs": 0.7058749999996508,
3209
- "resourcesListMs": 0.6070830000007845
3206
+ "connectMs": 893.7751250000001,
3207
+ "toolsListMs": 30.2086249999993,
3208
+ "promptsListMs": 0.7202919999999722,
3209
+ "resourcesListMs": 0.5963749999991705
3210
3210
  },
3211
3211
  "runtimeProfile": {
3212
3212
  "egress": [
@@ -3963,7 +3963,7 @@
3963
3963
  "source": "description_analysis"
3964
3964
  }
3965
3965
  ],
3966
- "analyzedAt": "2026-07-15T22:33:24.049Z",
3966
+ "analyzedAt": "2026-07-17T00:36:27.964Z",
3967
3967
  "confidence": "high"
3968
3968
  }
3969
3969
  }