@kryptosai/mcp-observatory 0.27.0 → 0.28.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 (123) hide show
  1. package/COMMERCIAL.md +6 -1
  2. package/CONTRIBUTORS.md +39 -0
  3. package/README.md +57 -18
  4. package/dist/src/adapters/http.js +1 -5
  5. package/dist/src/adapters/http.js.map +1 -1
  6. package/dist/src/cassette.js +3 -2
  7. package/dist/src/cassette.js.map +1 -1
  8. package/dist/src/checks/attack-sim.d.ts +18 -0
  9. package/dist/src/checks/attack-sim.js +304 -0
  10. package/dist/src/checks/attack-sim.js.map +1 -0
  11. package/dist/src/ci-issue.js +4 -3
  12. package/dist/src/ci-issue.js.map +1 -1
  13. package/dist/src/cli.js +17 -3
  14. package/dist/src/cli.js.map +1 -1
  15. package/dist/src/commands/attack-sim.d.ts +2 -0
  16. package/dist/src/commands/attack-sim.js +168 -0
  17. package/dist/src/commands/attack-sim.js.map +1 -0
  18. package/dist/src/commands/init-ci.d.ts +1 -0
  19. package/dist/src/commands/init-ci.js +8 -3
  20. package/dist/src/commands/init-ci.js.map +1 -1
  21. package/dist/src/commands/legacy.js +6 -1
  22. package/dist/src/commands/legacy.js.map +1 -1
  23. package/dist/src/commands/scan.js +7 -1
  24. package/dist/src/commands/scan.js.map +1 -1
  25. package/dist/src/commands/serve.js +9 -1
  26. package/dist/src/commands/serve.js.map +1 -1
  27. package/dist/src/commands/setup-ci-conversion.d.ts +1 -0
  28. package/dist/src/commands/setup-ci-conversion.js +1 -0
  29. package/dist/src/commands/setup-ci-conversion.js.map +1 -1
  30. package/dist/src/commands/telemetry.js +20 -14
  31. package/dist/src/commands/telemetry.js.map +1 -1
  32. package/dist/src/commands/test.js +13 -1
  33. package/dist/src/commands/test.js.map +1 -1
  34. package/dist/src/findings.js +41 -1
  35. package/dist/src/findings.js.map +1 -1
  36. package/dist/src/history.js +3 -2
  37. package/dist/src/history.js.map +1 -1
  38. package/dist/src/index.d.ts +2 -0
  39. package/dist/src/index.js +2 -0
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/integrations/smithery.js +5 -1
  42. package/dist/src/integrations/smithery.js.map +1 -1
  43. package/dist/src/reporters/attack-sim.d.ts +2 -0
  44. package/dist/src/reporters/attack-sim.js +84 -0
  45. package/dist/src/reporters/attack-sim.js.map +1 -0
  46. package/dist/src/reporters/pr-comment.js +20 -6
  47. package/dist/src/reporters/pr-comment.js.map +1 -1
  48. package/dist/src/runner.d.ts +3 -0
  49. package/dist/src/runner.js +5 -0
  50. package/dist/src/runner.js.map +1 -1
  51. package/dist/src/score.js +1 -1
  52. package/dist/src/score.js.map +1 -1
  53. package/dist/src/storage.js +3 -2
  54. package/dist/src/storage.js.map +1 -1
  55. package/dist/src/telemetry.d.ts +3 -0
  56. package/dist/src/telemetry.js +17 -1
  57. package/dist/src/telemetry.js.map +1 -1
  58. package/dist/src/types.d.ts +1 -1
  59. package/dist/src/utils/files.d.ts +1 -0
  60. package/dist/src/utils/files.js +21 -0
  61. package/dist/src/utils/files.js.map +1 -0
  62. package/dist/src/utils/ids.js +18 -5
  63. package/dist/src/utils/ids.js.map +1 -1
  64. package/dist/src/utils/url.d.ts +2 -0
  65. package/dist/src/utils/url.js +15 -0
  66. package/dist/src/utils/url.js.map +1 -0
  67. package/dist/src/validate.js +1 -1
  68. package/dist/src/validate.js.map +1 -1
  69. package/docs/agent-ecosystem-promotion-plan.md +244 -0
  70. package/docs/agent-tasks.md +95 -0
  71. package/docs/automatic-ci-integration.md +33 -0
  72. package/docs/campaign-attribution.md +58 -0
  73. package/docs/code-scanning-demo.md +57 -0
  74. package/docs/contributor-proof-cards/README.md +33 -0
  75. package/docs/contributor-recognition.md +92 -0
  76. package/docs/feishu-lark-mcp.md +1 -1
  77. package/docs/github-code-scanning-for-mcp.md +1 -1
  78. package/docs/launch.md +64 -0
  79. package/docs/mcp-attack-simulator.md +57 -0
  80. package/docs/mcp-server-safety-index.md +18 -12
  81. package/docs/proof.md +5 -2
  82. package/docs/receipt-graph.md +54 -0
  83. package/docs/safety-index/artifacts/antv-chart-server.json +21 -21
  84. package/docs/safety-index/artifacts/antv-chart-server.md +10 -10
  85. package/docs/safety-index/artifacts/browsermcp-server.json +17 -17
  86. package/docs/safety-index/artifacts/browsermcp-server.md +10 -10
  87. package/docs/safety-index/artifacts/context7-server.json +17 -17
  88. package/docs/safety-index/artifacts/context7-server.md +10 -10
  89. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +2014 -0
  90. package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +163 -0
  91. package/docs/safety-index/artifacts/everything-server.json +131 -56
  92. package/docs/safety-index/artifacts/everything-server.md +24 -24
  93. package/docs/safety-index/artifacts/executeautomation-playwright-server.json +26 -18
  94. package/docs/safety-index/artifacts/executeautomation-playwright-server.md +10 -10
  95. package/docs/safety-index/artifacts/filesystem-server.json +128 -20
  96. package/docs/safety-index/artifacts/filesystem-server.md +10 -10
  97. package/docs/safety-index/artifacts/kubernetes-server.attack.json +1559 -0
  98. package/docs/safety-index/artifacts/kubernetes-server.attack.md +43 -0
  99. package/docs/safety-index/artifacts/kubernetes-server.attack.sarif +2857 -0
  100. package/docs/safety-index/artifacts/kubernetes-server.json +1348 -0
  101. package/docs/safety-index/artifacts/kubernetes-server.md +150 -0
  102. package/docs/safety-index/artifacts/memory-server.json +75 -32
  103. package/docs/safety-index/artifacts/memory-server.md +35 -28
  104. package/docs/safety-index/artifacts/opentofu-server.json +25 -17
  105. package/docs/safety-index/artifacts/opentofu-server.md +11 -11
  106. package/docs/safety-index/artifacts/playwright-mcp-server.json +56 -20
  107. package/docs/safety-index/artifacts/playwright-mcp-server.md +12 -12
  108. package/docs/safety-index/artifacts/promptopia-server.json +28 -20
  109. package/docs/safety-index/artifacts/promptopia-server.md +11 -11
  110. package/docs/safety-index/artifacts/puppeteer-server.json +42 -30
  111. package/docs/safety-index/artifacts/puppeteer-server.md +28 -28
  112. package/docs/safety-index/artifacts/ref-tools-server.json +17 -17
  113. package/docs/safety-index/artifacts/ref-tools-server.md +9 -9
  114. package/docs/safety-index/artifacts/sequential-thinking-server.json +20 -21
  115. package/docs/safety-index/artifacts/sequential-thinking-server.md +10 -10
  116. package/docs/safety-index/targets.json +90 -14
  117. package/docs/setup-ci-doctor.md +2 -0
  118. package/docs/target-gallery.md +49 -0
  119. package/docs/target-registry.md +5 -1
  120. package/docs/tool-call-receipts.md +116 -0
  121. package/package.json +20 -2
  122. package/schemas/run-artifact.schema.json +1 -0
  123. package/scripts/postinstall.mjs +123 -0
@@ -38,7 +38,7 @@ function requireStatus(value, label) {
38
38
  }
39
39
  }
40
40
  function requireCheckId(value, label) {
41
- const ids = new Set(["tools", "prompts", "resources", "tools-invoke", "security", "security-lite", "conformance", "schema-quality"]);
41
+ const ids = new Set(["tools", "prompts", "resources", "tools-invoke", "security", "security-lite", "attack-sim", "conformance", "schema-quality"]);
42
42
  if (typeof value !== "string" || !ids.has(value)) {
43
43
  throw new Error(`${label} has invalid check id '${String(value)}'.`);
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,244 @@
1
+ # Agent And MCP Ecosystem Promotion Plan
2
+
3
+ Use this plan to turn MCP Observatory visibility into agent installs, CI integrations, maintainer conversations, and MCP company relationships.
4
+
5
+ The campaign position:
6
+
7
+ > Agents should not depend on tools nobody tests.
8
+
9
+ The conversion goal is not raw stars. The goal is more `setup-ci`, SARIF/code-scanning, external CI, and agent-accessible `serve` sessions.
10
+
11
+ ## Immediate Moves
12
+
13
+ 1. Leave third-party badge PRs open unless the provider has clear public scan evidence and acceptable badge wording.
14
+ 2. Claim or refresh directory listings with neutral listing copy, not unreviewed audit claims.
15
+ 3. Publish one short agent-first post or thread per week.
16
+ 4. Open five small Observatory CI PRs per week against public MCP server repos.
17
+ 5. Track whether each surface converts into `test`, `scan`, `setup-ci`, `serve`, or external CI sessions.
18
+
19
+ ## MseeP Listing
20
+
21
+ Claim the listing, but do not merge the current badge PR unless the listing exposes reviewed scan evidence and the badge wording is acceptable.
22
+
23
+ Listing URL:
24
+
25
+ `https://mseep.ai/app/kryptosai-mcp-observatory`
26
+
27
+ Claim flow:
28
+
29
+ 1. Open the listing.
30
+ 2. Click `Claim Ownership`.
31
+ 3. Sign in with the GitHub account or organization that controls `KryptosAI/mcp-observatory`.
32
+ 4. Confirm the repo URL is `https://github.com/KryptosAI/mcp-observatory`.
33
+ 5. Update the listing copy using the text below.
34
+ 6. If MseeP shows security/audit metadata, verify the evidence before linking it from project-owned materials.
35
+
36
+ Preferred listing copy:
37
+
38
+ ```text
39
+ MCP Observatory is the GitHub-native CI and security gate for MCP servers before agents depend on them.
40
+ ```
41
+
42
+ Short description:
43
+
44
+ ```text
45
+ CI, SARIF, GitHub Code Scanning, schema drift detection, lock files, reports, and agent-accessible diagnostics for MCP servers.
46
+ ```
47
+
48
+ Primary command:
49
+
50
+ ```bash
51
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>" --sarif
52
+ ```
53
+
54
+ Agent install command:
55
+
56
+ ```bash
57
+ claude mcp add mcp-observatory -- npx -y @kryptosai/mcp-observatory serve
58
+ ```
59
+
60
+ Badge policy:
61
+
62
+ - Directory listing: yes.
63
+ - Plain text link: acceptable if the listing is accurate.
64
+ - Badge saying `Audited`, `Certified`, `Verified`, or similar: only after public evidence is reviewed.
65
+ - README placement: keep below first-party CI/npm/license/action signals unless the provider becomes a meaningful trust surface.
66
+
67
+ ## Directory Targets
68
+
69
+ Refresh these surfaces first because they are already relevant to MCP users:
70
+
71
+ | Surface | Desired State | CTA |
72
+ | --- | --- | --- |
73
+ | PulseMCP | Claimed/current listing with `server.json` visible | `setup-ci --all` |
74
+ | Smithery | Current install snippet and MCP server mode | `serve` |
75
+ | Glama | Current scorecard and README links | `test` and `serve` |
76
+ | MseeP | Claimed listing with neutral copy | `setup-ci --sarif` |
77
+ | mcpservers.org | Listing present or submitted | `setup-ci --all` |
78
+ | awesome-mcp-servers | Developer tools/security category mention | `setup-ci --all` |
79
+ | agent framework docs/community lists | Agent workflow examples | `serve` |
80
+ | GitHub Action Marketplace | Action example and security framing | `action@v0.27.0` |
81
+
82
+ Submission snippet:
83
+
84
+ ```text
85
+ MCP Observatory adds CI, compatibility, schema drift, SARIF/GitHub Code Scanning, and lightweight security checks for MCP servers before agents depend on them.
86
+ ```
87
+
88
+ ## Agent-First Prompts
89
+
90
+ Use these in docs, posts, issues, and agent community replies.
91
+
92
+ Add CI:
93
+
94
+ ```text
95
+ Add MCP Observatory CI to this MCP server. Use a read-only or harmless startup command, enable deep and security checks when safe, and avoid secrets in the workflow.
96
+ ```
97
+
98
+ Audit local config:
99
+
100
+ ```text
101
+ Run MCP Observatory against my MCP config, summarize startup failures, risky tools, schema issues, and which servers should get CI coverage first.
102
+ ```
103
+
104
+ Prepare a safe target:
105
+
106
+ ```text
107
+ Create a CI-safe MCP Observatory target config for this MCP server. Prefer harmless fixtures, no tokens, and no write-capable operations.
108
+ ```
109
+
110
+ Check drift:
111
+
112
+ ```text
113
+ Add an MCP lock file for this server and verify in CI that the tool, prompt, and resource surface does not drift unexpectedly.
114
+ ```
115
+
116
+ ## MCP Company Targets
117
+
118
+ Start with companies and projects whose users already care about agent reliability:
119
+
120
+ | Target Type | Examples | Ask |
121
+ | --- | --- | --- |
122
+ | MCP directories | PulseMCP, Smithery, Glama, MseeP | Keep listing current; add CI/security category placement |
123
+ | Agent browsers/scrapers | Browserbase, Firecrawl, Exa, BrowserStack | Publish a safe Observatory target or sample workflow |
124
+ | Agent runtimes | Cline, Continue, Goose, Cursor/Windsurf ecosystem | Add Observatory to recommended MCP preflight docs |
125
+ | Dev platform MCPs | Sentry, Notion, Stripe, Cloudflare, GitHub ecosystem | Add optional read-only CI checks or issue-first safe target guidance |
126
+ | Gateways/proxies | MCP gateway and registry projects | Support Observatory reports as compatibility evidence |
127
+
128
+ First outreach message:
129
+
130
+ ```md
131
+ Hi, I maintain MCP Observatory, an open source CI/security gate for MCP servers before agents depend on them.
132
+
133
+ I noticed your team is in the MCP ecosystem. Would a small, read-only Observatory target or GitHub Action example be useful for your server/docs?
134
+
135
+ The goal is simple: give agent users a reproducible startup/schema/security check they can run before installing or upgrading an MCP dependency.
136
+
137
+ Command shape:
138
+
139
+ ```bash
140
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>" --sarif
141
+ ```
142
+
143
+ Happy to open a tiny docs PR or start with an issue asking for the safest CI command.
144
+ ```
145
+
146
+ ## Certification PR Shape
147
+
148
+ Prefer a small, reversible PR:
149
+
150
+ - Adds one workflow or docs snippet.
151
+ - Uses a harmless command or fixture.
152
+ - Does not require secrets.
153
+ - Does not add a third-party badge by default.
154
+ - Sets write permissions only when the maintainer explicitly wants PR comments/statuses.
155
+ - Links to the generated run artifact or safety-index report when available.
156
+
157
+ PR title:
158
+
159
+ ```text
160
+ Add optional MCP Observatory CI check
161
+ ```
162
+
163
+ PR body:
164
+
165
+ ```md
166
+ This adds an optional MCP Observatory workflow so maintainers can verify MCP startup, tool discovery, schema quality, and basic security findings in CI before agents depend on the server.
167
+
168
+ It is intentionally read-only and does not require secrets. If this is useful, maintainers can later opt into PR comments, commit statuses, SARIF upload, or a README badge.
169
+ ```
170
+
171
+ ## Weekly Operating Loop
172
+
173
+ Run this once per week:
174
+
175
+ 1. Refresh metrics:
176
+
177
+ ```bash
178
+ npm run metrics:refresh
179
+ ```
180
+
181
+ 2. Record:
182
+
183
+ - GitHub views/clones
184
+ - npm downloads
185
+ - `serve` sessions
186
+ - `setup-ci` sessions
187
+ - external CI sessions
188
+ - directory referrals when visible
189
+ - accepted/closed certification PRs
190
+
191
+ 3. Ship:
192
+
193
+ - 3 refreshed listings
194
+ - 5 certification PRs or maintainer issues
195
+ - 1 short public post
196
+ - 3 company/community replies
197
+
198
+ 4. Review conversion after 48 hours.
199
+
200
+ Prioritize the channels that create `setup-ci`, SARIF, or external CI events. Deprioritize channels that only create stars or low-intent clones.
201
+
202
+ ## Public Posts
203
+
204
+ Short post:
205
+
206
+ ```text
207
+ MCP servers are becoming agent dependencies.
208
+
209
+ Before an agent depends on one, ask:
210
+
211
+ - does it start in CI?
212
+ - did tools or schemas drift?
213
+ - are write/destructive tools obvious?
214
+ - can findings land in GitHub Code Scanning?
215
+
216
+ That is what MCP Observatory is for:
217
+
218
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>" --sarif
219
+ ```
220
+
221
+ Agent post:
222
+
223
+ ```text
224
+ If your coding agent can install MCP servers, it should also be able to test them.
225
+
226
+ MCP Observatory runs as an MCP server, so agents can scan, test, record, replay, diff, and verify other MCP servers before relying on them.
227
+
228
+ claude mcp add mcp-observatory -- npx -y @kryptosai/mcp-observatory serve
229
+ ```
230
+
231
+ Company-facing post:
232
+
233
+ ```text
234
+ For teams adding MCP to production agent workflows: treat MCP servers like AI supply-chain dependencies.
235
+
236
+ MCP Observatory gives you CI checks, SARIF/GitHub Code Scanning, schema drift, lock files, reports, and agent-accessible diagnostics before tools reach production workflows.
237
+ ```
238
+
239
+ ## Tracking Hygiene
240
+
241
+ - Use one campaign link or one command per outreach surface.
242
+ - Do not publish private telemetry, emails, hostnames, target commands, private repo names, or customer claims.
243
+ - Treat anonymous stars, forks, and clone spikes as interest, not adoption.
244
+ - Treat external CI, `setup-ci`, SARIF, and maintainer replies as adoption.
@@ -0,0 +1,95 @@
1
+ # Agent Task Pack
2
+
3
+ This page is written for coding agents, bot maintainers, autonomous productivity systems, and maintainers who want small useful MCP Observatory contributions.
4
+
5
+ Useful merged work can receive public credit through [MCP Observatory Contributors](./contributor-recognition.md), [CONTRIBUTORS.md](../CONTRIBUTORS.md), and target proof cards. Recognition is based on merged public evidence, not private telemetry.
6
+
7
+ Rough agentic contribution ideas are welcome too. Use the [Agentic Contributor Outreach](./agentic-contributor-outreach.md) playbook or open an `Agentic contribution idea` issue when a task is promising but not ready for a focused PR.
8
+
9
+ The core standard is a [tool-call receipt](./tool-call-receipts.md): public source, safe startup command, run artifact, attack-sim evidence, SARIF when useful, and a clear capability envelope showing what the run could not access. The public map is the [MCP Receipt Graph](./receipt-graph.md).
10
+
11
+ ## Task 1: Add MCP Observatory CI To A Repo
12
+
13
+ ```text
14
+ Add MCP Observatory CI for this MCP server.
15
+
16
+ Use the safest no-secret startup command available in the repo. Generate the full adoption kit with SARIF enabled, verify it with setup-ci --doctor, and open a focused PR that explains the check is read-only.
17
+
18
+ Commands:
19
+ npx @kryptosai/mcp-observatory test <safe startup command> --campaign agent-ci
20
+ npx @kryptosai/mcp-observatory setup-ci --all --command "<safe startup command>" --sarif --campaign agent-ci
21
+ npx @kryptosai/mcp-observatory setup-ci --doctor
22
+ ```
23
+
24
+ ## Task 2: Add One Safety Index Target
25
+
26
+ ```text
27
+ Add one public MCP server target to MCP Observatory's Safety Index.
28
+
29
+ Requirements:
30
+ - public repo or public package
31
+ - no secrets
32
+ - no paid service dependency
33
+ - safe startup command
34
+ - generated JSON and Markdown evidence
35
+ - attack-sim evidence or a note explaining why attack-sim is not applicable
36
+ - maintainer-friendly wording
37
+
38
+ Use docs/target-contribution-guide.md and docs/target-registry.md.
39
+ ```
40
+
41
+ ## Task 3: Generate SARIF For A Maintainer
42
+
43
+ ```text
44
+ Run MCP Observatory against this MCP server and produce a SARIF artifact suitable for GitHub Code Scanning.
45
+
46
+ Command:
47
+ npx @kryptosai/mcp-observatory test <safe startup command> --sarif mcp-observatory.sarif --campaign agent-sarif
48
+
49
+ Summarize only the normalized findings and avoid publishing private telemetry, hostnames, tokens, or local paths beyond generated artifact paths.
50
+ ```
51
+
52
+ ## Task 4: Open A Useful Maintainer PR
53
+
54
+ ```text
55
+ Open a small PR that adds read-only MCP Observatory checks.
56
+
57
+ Do:
58
+ - keep the PR focused on CI and evidence
59
+ - pin the action ref
60
+ - include setup-ci --doctor output
61
+ - say findings are review prompts, not public shaming
62
+
63
+ Do not:
64
+ - require private credentials
65
+ - add destructive tool calls
66
+ - include private telemetry
67
+ - change unrelated project code
68
+ ```
69
+
70
+ ## Task 5: Evaluate A Bot Runtime
71
+
72
+ ```text
73
+ Find the MCP servers this agent or bot runtime depends on. For each server, identify a no-secret startup command, run MCP Observatory, and report whether the server is ready for CI, needs review before production, or is not reproducible.
74
+
75
+ Use:
76
+ npx @kryptosai/mcp-observatory test <safe startup command> --campaign bot-runtime-review
77
+ ```
78
+
79
+ ## Task 6: Prepare A Contributor Proof Card
80
+
81
+ ```text
82
+ After a target, CI integration, or SARIF improvement is merged, prepare a public proof card.
83
+
84
+ Use docs/contributor-proof-cards/README.md.
85
+
86
+ Include:
87
+ - contributor GitHub profile
88
+ - role
89
+ - merged PR
90
+ - generated artifact or upstream workflow
91
+ - verdict
92
+ - Observatory version
93
+
94
+ Do not include private telemetry, local paths, secrets, or unpublished maintainer data.
95
+ ```
@@ -0,0 +1,33 @@
1
+ # Automatic CI Integration
2
+
3
+ MCP Observatory includes an install-time CI helper for MCP server projects.
4
+
5
+ By default, the helper is safe and non-mutating: when it detects a likely MCP project, it prints the exact `setup-ci` command to add GitHub Actions. It does not create files unless the project explicitly opts in.
6
+
7
+ To let installs create the workflow automatically, add this to the MCP server project's `package.json`:
8
+
9
+ ```json
10
+ {
11
+ "mcpObservatory": {
12
+ "autoSetupCi": true,
13
+ "command": "npm run mcp",
14
+ "sarif": true
15
+ }
16
+ }
17
+ ```
18
+
19
+ Then installing MCP Observatory creates `.github/workflows/mcp-observatory.yml` if it does not already exist:
20
+
21
+ ```bash
22
+ npm install -D @kryptosai/mcp-observatory
23
+ npx @kryptosai/mcp-observatory setup-ci --doctor
24
+ ```
25
+
26
+ Environment controls:
27
+
28
+ - `MCP_OBSERVATORY_AUTO_SETUP_CI=1` creates CI during install for detected MCP projects.
29
+ - `MCP_OBSERVATORY_TARGET_COMMAND="npm run mcp"` provides the startup command.
30
+ - `MCP_OBSERVATORY_AUTO_SETUP_SARIF=1` enables SARIF upload in the generated workflow.
31
+ - `MCP_OBSERVATORY_POSTINSTALL=0` or `MCP_OBSERVATORY_DISABLE_POSTINSTALL=1` disables the helper.
32
+
33
+ The helper skips CI environments and skips MCP Observatory's own repository. Existing workflows are never overwritten.
@@ -0,0 +1,58 @@
1
+ # Campaign Attribution
2
+
3
+ Campaign attribution helps the maintainer understand which launch, maintainer, bot, or paid-readiness paths lead to real MCP Observatory usage.
4
+
5
+ Telemetry remains opt-out and private to the project owner. Campaign values are safe slugs only and are not written into public reports, SARIF artifacts, or generated adoption kit files.
6
+
7
+ ## CLI Flag
8
+
9
+ ```bash
10
+ npx @kryptosai/mcp-observatory test npx -y my-mcp-server --campaign maintainer-pr
11
+ ```
12
+
13
+ The flag is supported by:
14
+
15
+ - `test`
16
+ - `scan`
17
+ - `scan deep`
18
+ - `run`
19
+ - `setup-ci`
20
+ - `init-ci`
21
+
22
+ For `test`, `--campaign` can appear after the MCP command and is stripped before launching the target server.
23
+
24
+ ## Environment Variable
25
+
26
+ ```bash
27
+ MCP_OBSERVATORY_CAMPAIGN=bot-runtime-review npx @kryptosai/mcp-observatory scan
28
+ ```
29
+
30
+ Use the environment variable when a bot, CI workflow, or documentation snippet cannot safely add another CLI flag.
31
+
32
+ ## Slug Rules
33
+
34
+ Campaign slugs must be 2-64 characters and use only:
35
+
36
+ - letters
37
+ - numbers
38
+ - `.`
39
+ - `_`
40
+ - `-`
41
+
42
+ Examples:
43
+
44
+ - `maintainer-pr`
45
+ - `code-scanning-demo`
46
+ - `agent-ci`
47
+ - `paid-readiness`
48
+
49
+ ## Suggested Campaigns
50
+
51
+ | Campaign | Use |
52
+ | --- | --- |
53
+ | `maintainer-pr` | Read-only CI PRs to existing MCP projects |
54
+ | `code-scanning-demo` | SARIF and GitHub Code Scanning launch snippets |
55
+ | `agent-ci` | Bot or coding-agent generated CI adoption |
56
+ | `safety-index` | Target Gallery and Safety Index contribution flow |
57
+ | `paid-readiness` | MCP Readiness Review CTA |
58
+
@@ -0,0 +1,57 @@
1
+ # GitHub Code Scanning Demo
2
+
3
+ Use this page when a maintainer or agent asks, "What does MCP Observatory actually add to my repo?"
4
+
5
+ ## One-Command Local Demo
6
+
7
+ ```bash
8
+ npx @kryptosai/mcp-observatory test npx -y @modelcontextprotocol/server-everything --sarif mcp-observatory.sarif --campaign code-scanning-demo
9
+ ```
10
+
11
+ Expected result:
12
+
13
+ - normal terminal output still appears
14
+ - `.mcp-observatory/runs/` receives a run artifact
15
+ - `mcp-observatory.sarif` contains normalized MCP findings
16
+ - the command exits the same way it would without `--sarif`
17
+
18
+ ## Turn It Into A GitHub Release Gate
19
+
20
+ ```bash
21
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y @modelcontextprotocol/server-everything" --sarif --campaign code-scanning-demo
22
+ ```
23
+
24
+ Then verify:
25
+
26
+ ```bash
27
+ npx @kryptosai/mcp-observatory setup-ci --doctor
28
+ ```
29
+
30
+ The generated workflow requests `security-events: write` only when `--sarif` is used. Standard `setup-ci` stays conservative and does not upload SARIF by default.
31
+
32
+ ## What Code Scanning Gets
33
+
34
+ MCP Observatory emits one SARIF result per normalized finding. Results include:
35
+
36
+ - stable rule IDs
37
+ - severity mapping
38
+ - target/check properties
39
+ - lightweight control tags
40
+ - partial fingerprints
41
+ - artifact locations that point back to the Observatory run evidence
42
+
43
+ Passing artifacts with no findings still produce valid empty SARIF.
44
+
45
+ ## Maintainer PR Snippet
46
+
47
+ ~~~markdown
48
+ This adds a read-only MCP Observatory CI gate for the server.
49
+
50
+ It checks startup, MCP capability listing, schema quality, and security-oriented findings. The SARIF path is enabled so normalized MCP findings can appear in GitHub Code Scanning.
51
+
52
+ Verification:
53
+
54
+ ```bash
55
+ npx @kryptosai/mcp-observatory setup-ci --doctor
56
+ ```
57
+ ~~~
@@ -0,0 +1,33 @@
1
+ # Contributor Proof Cards
2
+
3
+ Contributor proof cards are small Markdown records for accepted MCP Observatory contributions. They are designed to be linked from the contributor page, target gallery, GitHub profile badges, and maintainer PRs.
4
+
5
+ Each proof card must point to public proof only: a merged PR, generated Safety Index artifact, public report, upstream workflow, or maintainer-visible issue. Do not include private telemetry, secrets, local paths, unpublished maintainer data, or private repo details.
6
+
7
+ ## Proof Card Template
8
+
9
+ Copy this template into a new file named after the target or contribution:
10
+
11
+ ```md
12
+ # MCP Observatory Proof: <target or contribution name>
13
+
14
+ | Field | Value |
15
+ | --- | --- |
16
+ | Contributor | [@username](https://github.com/username) |
17
+ | Role | Target Verifier |
18
+ | Target | Example MCP Server |
19
+ | Date | YYYY-MM-DD |
20
+ | Observatory Version | v0.27.0 or later |
21
+ | Verdict | Ready for CI / Needs maintainer review / Not reproducible yet |
22
+ | Merged PR | https://github.com/KryptosAI/mcp-observatory/pull/000 |
23
+ | Generated Evidence | docs/safety-index/artifacts/example-server.md |
24
+ | Public Report | docs/mcp-server-safety-index.md |
25
+ ```
26
+
27
+ ## Badge Link Pattern
28
+
29
+ After the proof card is merged, contributors can link a badge directly to the proof card:
30
+
31
+ ```md
32
+ [![MCP Observatory Safety Index Contributor](https://img.shields.io/badge/MCP%20Observatory-Safety%20Index%20Contributor-16a34a)](https://github.com/KryptosAI/mcp-observatory/blob/main/docs/contributor-proof-cards/example-server.md)
33
+ ```
@@ -0,0 +1,92 @@
1
+ # MCP Observatory Contributors
2
+
3
+ MCP Observatory recognizes useful public evidence, not vanity activity. A good contribution helps maintainers and agents trust one more MCP server: a safe startup command, a reproducible target, a CI adoption PR, a SARIF/Code Scanning improvement, a review, or a better agent prompt.
4
+
5
+ Official GitHub profile achievements are platform-controlled; this project does not award them. The project-level substitute is public proof: contributor roles, All Contributors credit, proof cards, recognition links, and links to merged PRs or generated artifacts.
6
+
7
+ ## Recognition Roles
8
+
9
+ | Role | What Counts | Public Proof |
10
+ | --- | --- | --- |
11
+ | Target Scout | Finds a public MCP server with a no-secret, non-destructive startup command | Issue, PR, or target suggestion linked to the command |
12
+ | Target Verifier | Adds a Safety Index target and generated evidence | Merged PR plus JSON/Markdown artifacts |
13
+ | CI Integrator | Adds Observatory CI, `setup-ci --doctor`, or SARIF upload to a repo | Upstream PR, workflow file, or adoption artifact |
14
+ | SARIF Fixer | Improves normalized findings, GitHub Code Scanning output, or docs that help a maintainer reproduce SARIF | Merged PR, SARIF sample, or Code Scanning demo artifact |
15
+ | Maintainer Partner | Confirms safe startup behavior, reviews evidence, or accepts an integration PR for their MCP server | Maintainer comment, merged upstream PR, or issue acceptance |
16
+ | Docs/Agent Prompt Contributor | Improves docs, `llms.txt`, `AGENTS.md`, or copy-paste tasks agents can run safely | Merged docs PR or prompt artifact |
17
+
18
+ ## Contribution Ladder
19
+
20
+ | Level | Name | How To Earn It | Typical Reward |
21
+ | --- | --- | --- | --- |
22
+ | 1 | Target Scout | Submit one safe startup command for a public MCP server | Role mention and badge snippet |
23
+ | 2 | Target Verifier | Add a target PR with generated Safety Index evidence | Proof card and All Contributors credit |
24
+ | 3 | CI Integrator | Help an upstream repo add Observatory CI/SARIF | CI Integrator badge and proof link |
25
+ | 4 | Maintainer Partner | Help another maintainer review, merge, or tune adoption | Maintainer Partner role and proof card |
26
+ | 5 | Ecosystem Maintainer | Repeatedly help targets, docs, reviews, or agent tasks stay current | Featured recognition on this page |
27
+
28
+ ## What One Target PR Gets You
29
+
30
+ One merged target PR may result in after maintainer review:
31
+
32
+ - an All Contributors entry in [CONTRIBUTORS.md](../CONTRIBUTORS.md)
33
+ - a role on this page
34
+ - a proof card under [`docs/contributor-proof-cards/`](./contributor-proof-cards/)
35
+ - a badge snippet you can place in your GitHub profile or project README
36
+ - links to the merged PR and generated public evidence
37
+
38
+ Recognition links to public proof only. Do not include private telemetry, local machine paths, secrets, unpublished maintainer data, or private repo details.
39
+
40
+ ## Badge Snippets
41
+
42
+ Replace the link target with the merged proof card or PR for your contribution.
43
+
44
+ ### Target Scout
45
+
46
+ ```md
47
+ [![MCP Observatory Target Scout](https://img.shields.io/badge/MCP%20Observatory-Target%20Scout-2563eb)](https://github.com/KryptosAI/mcp-observatory/blob/main/docs/contributor-proof-cards/README.md)
48
+ ```
49
+
50
+ ### Safety Index Contributor
51
+
52
+ ```md
53
+ [![MCP Observatory Safety Index Contributor](https://img.shields.io/badge/MCP%20Observatory-Safety%20Index%20Contributor-16a34a)](https://github.com/KryptosAI/mcp-observatory/blob/main/docs/contributor-proof-cards/README.md)
54
+ ```
55
+
56
+ ### CI Integrator
57
+
58
+ ```md
59
+ [![MCP Observatory CI Integrator](https://img.shields.io/badge/MCP%20Observatory-CI%20Integrator-7c3aed)](https://github.com/KryptosAI/mcp-observatory/blob/main/docs/contributor-proof-cards/README.md)
60
+ ```
61
+
62
+ ### Maintainer Partner
63
+
64
+ ```md
65
+ [![MCP Observatory Maintainer Partner](https://img.shields.io/badge/MCP%20Observatory-Maintainer%20Partner-f97316)](https://github.com/KryptosAI/mcp-observatory/blob/main/docs/contributor-proof-cards/README.md)
66
+ ```
67
+
68
+ ## Current Recognition
69
+
70
+ | Contributor | Role | Public Proof |
71
+ | --- | --- | --- |
72
+ | [William Weishuhn](https://github.com/KryptosAI) | Founding maintainer, CI Integrator, SARIF Fixer, Docs/Agent Prompt Contributor | [All Contributors entry](../CONTRIBUTORS.md), [Code Scanning demo](./code-scanning-demo.md), [Agent Task Pack](./agent-tasks.md) |
73
+
74
+ External contributors are added after a merged PR, an accepted target artifact, or maintainer-confirmed upstream adoption.
75
+
76
+ ## Request Credit
77
+
78
+ For bot-assisted recognition, comment on the merged PR or issue:
79
+
80
+ ```text
81
+ @all-contributors please add @username for code, doc, test, ideas, review
82
+ ```
83
+
84
+ For Observatory-specific recognition, include:
85
+
86
+ - GitHub username
87
+ - contribution role
88
+ - merged PR or accepted issue
89
+ - generated artifact or proof-card link
90
+ - badge type requested
91
+
92
+ Useful contributions are evidence-first. Spammy issues, vanity stars, and unsafe target commands do not count.
@@ -45,7 +45,7 @@ jobs:
45
45
  MCP_OBSERVATORY_CONTACT: your-team-contact
46
46
  steps:
47
47
  - uses: actions/checkout@v4
48
- - uses: KryptosAI/mcp-observatory/action@v0.26.1
48
+ - uses: KryptosAI/mcp-observatory/action@v0.27.0
49
49
  with:
50
50
  target: feishu-target.json
51
51
  security: true