@kryptosai/mcp-observatory 0.26.1 → 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.
- package/COMMERCIAL.md +13 -9
- package/CONTRIBUTORS.md +39 -0
- package/PRIVACY.md +5 -5
- package/README.md +83 -30
- package/TERMS.md +1 -1
- package/dist/src/adapters/http.js +1 -5
- package/dist/src/adapters/http.js.map +1 -1
- package/dist/src/cassette.js +3 -2
- package/dist/src/cassette.js.map +1 -1
- package/dist/src/checks/attack-sim.d.ts +18 -0
- package/dist/src/checks/attack-sim.js +304 -0
- package/dist/src/checks/attack-sim.js.map +1 -0
- package/dist/src/checks/schema-quality.js +1 -0
- package/dist/src/checks/schema-quality.js.map +1 -1
- package/dist/src/ci-issue.js +4 -3
- package/dist/src/ci-issue.js.map +1 -1
- package/dist/src/cli.js +17 -3
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/attack-sim.d.ts +2 -0
- package/dist/src/commands/attack-sim.js +168 -0
- package/dist/src/commands/attack-sim.js.map +1 -0
- package/dist/src/commands/helpers.d.ts +3 -1
- package/dist/src/commands/helpers.js +2 -2
- package/dist/src/commands/helpers.js.map +1 -1
- package/dist/src/commands/init-ci.d.ts +3 -0
- package/dist/src/commands/init-ci.js +57 -11
- package/dist/src/commands/init-ci.js.map +1 -1
- package/dist/src/commands/legacy.js +24 -3
- package/dist/src/commands/legacy.js.map +1 -1
- package/dist/src/commands/scan.js +37 -10
- package/dist/src/commands/scan.js.map +1 -1
- package/dist/src/commands/serve.js +9 -1
- package/dist/src/commands/serve.js.map +1 -1
- package/dist/src/commands/setup-ci-conversion.d.ts +26 -0
- package/dist/src/commands/setup-ci-conversion.js +120 -0
- package/dist/src/commands/setup-ci-conversion.js.map +1 -0
- package/dist/src/commands/telemetry.js +20 -14
- package/dist/src/commands/telemetry.js.map +1 -1
- package/dist/src/commands/test.js +63 -4
- package/dist/src/commands/test.js.map +1 -1
- package/dist/src/findings.d.ts +20 -0
- package/dist/src/findings.js +272 -0
- package/dist/src/findings.js.map +1 -0
- package/dist/src/history.js +3 -2
- package/dist/src/history.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/integrations/smithery.js +5 -1
- package/dist/src/integrations/smithery.js.map +1 -1
- package/dist/src/reporters/attack-sim.d.ts +2 -0
- package/dist/src/reporters/attack-sim.js +84 -0
- package/dist/src/reporters/attack-sim.js.map +1 -0
- package/dist/src/reporters/pr-comment.js +20 -6
- package/dist/src/reporters/pr-comment.js.map +1 -1
- package/dist/src/reporters/sarif.d.ts +4 -1
- package/dist/src/reporters/sarif.js +58 -37
- package/dist/src/reporters/sarif.js.map +1 -1
- package/dist/src/runner.d.ts +3 -0
- package/dist/src/runner.js +5 -0
- package/dist/src/runner.js.map +1 -1
- package/dist/src/score.js +1 -1
- package/dist/src/score.js.map +1 -1
- package/dist/src/storage.d.ts +1 -0
- package/dist/src/storage.js +28 -2
- package/dist/src/storage.js.map +1 -1
- package/dist/src/telemetry.d.ts +6 -0
- package/dist/src/telemetry.js +17 -1
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/utils/files.d.ts +1 -0
- package/dist/src/utils/files.js +21 -0
- package/dist/src/utils/files.js.map +1 -0
- package/dist/src/utils/ids.js +18 -5
- package/dist/src/utils/ids.js.map +1 -1
- package/dist/src/utils/url.d.ts +2 -0
- package/dist/src/utils/url.js +15 -0
- package/dist/src/utils/url.js.map +1 -0
- package/dist/src/validate.js +1 -1
- package/dist/src/validate.js.map +1 -1
- package/docs/agent-ecosystem-promotion-plan.md +244 -0
- package/docs/agent-runtime-quickstart.md +98 -0
- package/docs/agent-tasks.md +95 -0
- package/docs/automatic-ci-integration.md +33 -0
- package/docs/campaign-attribution.md +58 -0
- package/docs/code-scanning-demo.md +57 -0
- package/docs/code-scanning-launch-outreach.md +55 -0
- package/docs/contributor-proof-cards/README.md +33 -0
- package/docs/contributor-recognition.md +92 -0
- package/docs/feishu-lark-mcp.md +3 -3
- package/docs/github-code-scanning-for-mcp.md +94 -0
- package/docs/launch.md +64 -0
- package/docs/mcp-attack-simulator.md +57 -0
- package/docs/mcp-server-safety-index.md +18 -12
- package/docs/metrics-dashboard.md +2 -2
- package/docs/openclaw-agent-template/SOUL.md +156 -0
- package/docs/proof.md +7 -4
- package/docs/receipt-graph.md +54 -0
- package/docs/safety-index/artifacts/antv-chart-server.json +21 -21
- package/docs/safety-index/artifacts/antv-chart-server.md +10 -10
- package/docs/safety-index/artifacts/browsermcp-server.json +17 -17
- package/docs/safety-index/artifacts/browsermcp-server.md +10 -10
- package/docs/safety-index/artifacts/context7-server.json +17 -17
- package/docs/safety-index/artifacts/context7-server.md +10 -10
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.json +2014 -0
- package/docs/safety-index/artifacts/cyanheads-git-mcp-server.md +163 -0
- package/docs/safety-index/artifacts/everything-server.json +131 -56
- package/docs/safety-index/artifacts/everything-server.md +24 -24
- package/docs/safety-index/artifacts/executeautomation-playwright-server.json +26 -18
- package/docs/safety-index/artifacts/executeautomation-playwright-server.md +10 -10
- package/docs/safety-index/artifacts/filesystem-server.json +128 -20
- package/docs/safety-index/artifacts/filesystem-server.md +10 -10
- package/docs/safety-index/artifacts/kubernetes-server.attack.json +1559 -0
- package/docs/safety-index/artifacts/kubernetes-server.attack.md +43 -0
- package/docs/safety-index/artifacts/kubernetes-server.attack.sarif +2857 -0
- package/docs/safety-index/artifacts/kubernetes-server.json +1348 -0
- package/docs/safety-index/artifacts/kubernetes-server.md +150 -0
- package/docs/safety-index/artifacts/memory-server.json +75 -32
- package/docs/safety-index/artifacts/memory-server.md +35 -28
- package/docs/safety-index/artifacts/opentofu-server.json +25 -17
- package/docs/safety-index/artifacts/opentofu-server.md +11 -11
- package/docs/safety-index/artifacts/playwright-mcp-server.json +56 -20
- package/docs/safety-index/artifacts/playwright-mcp-server.md +12 -12
- package/docs/safety-index/artifacts/promptopia-server.json +28 -20
- package/docs/safety-index/artifacts/promptopia-server.md +11 -11
- package/docs/safety-index/artifacts/puppeteer-server.json +42 -30
- package/docs/safety-index/artifacts/puppeteer-server.md +28 -28
- package/docs/safety-index/artifacts/ref-tools-server.json +17 -17
- package/docs/safety-index/artifacts/ref-tools-server.md +9 -9
- package/docs/safety-index/artifacts/sequential-thinking-server.json +20 -21
- package/docs/safety-index/artifacts/sequential-thinking-server.md +10 -10
- package/docs/safety-index/targets.json +90 -14
- package/docs/setup-ci-doctor.md +2 -0
- package/docs/target-contribution-guide.md +139 -0
- package/docs/target-gallery.md +49 -0
- package/docs/target-registry.md +120 -0
- package/docs/tool-call-receipts.md +116 -0
- package/package.json +52 -9
- package/schemas/run-artifact.schema.json +1 -0
- package/scripts/postinstall.mjs +123 -0
- package/docs/certification-campaign-template.md +0 -181
- package/docs/certification-distribution.md +0 -145
- package/docs/certification-pr-campaign.md +0 -68
- package/docs/clone-to-ci-campaign.md +0 -62
- package/docs/directory-listing-copy.md +0 -85
- package/docs/distribution-launch.md +0 -76
- package/docs/ecosystem-distribution-kit.md +0 -79
- package/docs/enterprise-outreach-playbook.md +0 -83
- package/docs/paid-pilot-offer.md +0 -74
- package/docs/project-case-study.md +0 -140
- package/docs/public-post-drafts.md +0 -98
- package/docs/publish-readiness.md +0 -79
package/dist/src/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAEA,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,aAAa,CAAC,GAA4B,EAAE,KAAa,EAAE,KAAa;IAC/E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,+BAA+B,KAAK,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,GAA4B,EAAE,KAAa,EAAE,KAAa;IAC9E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,+BAA+B,KAAK,wBAAwB,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,GAA4B,EAAE,KAAa,EAAE,KAAa;IAChF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,KAAK,2BAA2B,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,GAA4B,EAAE,KAAa,EAAE,KAAa;IAC/E,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,+BAA+B,KAAK,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,KAAa;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACzF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,wBAAwB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,KAAa;IACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;
|
|
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,98 @@
|
|
|
1
|
+
# Agent Runtime Quickstart
|
|
2
|
+
|
|
3
|
+
This is for maintainers of autonomous agents, OpenClaw-style productivity systems, coding agents, MCP gateways, and bot runtimes.
|
|
4
|
+
|
|
5
|
+
MCP Observatory gives your agent a read-only preflight for MCP tools before it depends on them.
|
|
6
|
+
|
|
7
|
+
## Why Agents Need This
|
|
8
|
+
|
|
9
|
+
Autonomous agents fail badly when their tools silently drift. A tool can still install while its schema changes, startup breaks, auth assumptions change, or a dangerous parameter becomes easy for an agent to call.
|
|
10
|
+
|
|
11
|
+
Observatory checks the tool surface before the agent trusts it.
|
|
12
|
+
|
|
13
|
+
## Fast Local Check
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx @kryptosai/mcp-observatory test npx -y your-mcp-server
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
For deeper checks:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx @kryptosai/mcp-observatory test npx -y your-mcp-server --deep --security
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## OpenClaw Agent Template
|
|
26
|
+
|
|
27
|
+
If you maintain an OpenClaw-style productivity system, copy the ready-to-use MCP reliability preflight agent:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
docs/openclaw-agent-template/SOUL.md
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Use it as a recurring release, dependency-update, or tool-adoption check before your agent trusts an MCP server.
|
|
34
|
+
|
|
35
|
+
## Add Read-Only CI
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y your-mcp-server"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
This creates a small adoption kit:
|
|
42
|
+
|
|
43
|
+
- `.github/workflows/mcp-observatory.yml`
|
|
44
|
+
- `mcp-observatory.target.json`
|
|
45
|
+
- report and badge snippets
|
|
46
|
+
- a maintainer PR body
|
|
47
|
+
- a setup doctor path
|
|
48
|
+
|
|
49
|
+
Run:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npx @kryptosai/mcp-observatory setup-ci --doctor
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## What To Contribute Back
|
|
56
|
+
|
|
57
|
+
The highest-value contribution is a safe, real target that teaches agents what healthy MCP behavior looks like.
|
|
58
|
+
|
|
59
|
+
Open an issue with:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
Project:
|
|
63
|
+
Safe startup command:
|
|
64
|
+
Needs secrets? yes/no
|
|
65
|
+
Agent tools/skills that depend on MCP:
|
|
66
|
+
Expected healthy behavior:
|
|
67
|
+
What should an autonomous agent know before trusting this tool?
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Good targets:
|
|
71
|
+
|
|
72
|
+
- start in CI without private credentials
|
|
73
|
+
- avoid destructive default actions
|
|
74
|
+
- expose tools/prompts/resources that agents actually call
|
|
75
|
+
- produce useful report evidence
|
|
76
|
+
|
|
77
|
+
Avoid targets that require private OAuth, paid services, or live destructive side effects.
|
|
78
|
+
|
|
79
|
+
## Agent-Readable Signals To Ask For
|
|
80
|
+
|
|
81
|
+
If you are integrating Observatory into an agent runtime, these are the most useful signals:
|
|
82
|
+
|
|
83
|
+
- did the MCP server start?
|
|
84
|
+
- which tools/prompts/resources are available?
|
|
85
|
+
- did any schemas change since the last known-good run?
|
|
86
|
+
- are there risky parameter shapes?
|
|
87
|
+
- did a safe tool invocation pass?
|
|
88
|
+
- should the agent block, warn, or continue?
|
|
89
|
+
|
|
90
|
+
## Maintainer-Friendly Positioning
|
|
91
|
+
|
|
92
|
+
Use this wording when proposing the check to another project:
|
|
93
|
+
|
|
94
|
+
```md
|
|
95
|
+
This adds a read-only MCP Observatory check for MCP compatibility, schema drift, and common schema/security footguns.
|
|
96
|
+
|
|
97
|
+
It does not require an account, hosted service, or secrets. The check can stay advisory while the signal is tuned.
|
|
98
|
+
```
|
|
@@ -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,55 @@
|
|
|
1
|
+
# Code Scanning Launch Outreach
|
|
2
|
+
|
|
3
|
+
Use this when following up with maintainers or posting publicly about the SARIF release.
|
|
4
|
+
|
|
5
|
+
## Public Post
|
|
6
|
+
|
|
7
|
+
MCP servers are becoming production dependencies for AI agents. They should show up in the same security review surfaces as the rest of the software supply chain.
|
|
8
|
+
|
|
9
|
+
MCP Observatory now turns MCP server checks into GitHub Code Scanning findings.
|
|
10
|
+
|
|
11
|
+
One command:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx @kryptosai/mcp-observatory test npx -y my-mcp-server --sarif mcp-observatory.sarif
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
CI setup:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y my-mcp-server" --sarif
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
It normalizes compatibility, startup, schema-quality, and security evidence into SARIF so maintainers can review MCP risk in GitHub's Security tab.
|
|
24
|
+
|
|
25
|
+
No hosted account required. SARIF upload is opt-in.
|
|
26
|
+
|
|
27
|
+
## Maintainer Follow-Up
|
|
28
|
+
|
|
29
|
+
~~~md
|
|
30
|
+
Quick follow-up: MCP Observatory now supports GitHub Code Scanning friendly SARIF for MCP compatibility, schema-quality, startup, and security findings.
|
|
31
|
+
|
|
32
|
+
If you want this as a security-native advisory check, the generated workflow is:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y <server-package>" --sarif
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
It stays opt-in because it requests `security-events: write`; the default CI setup remains read-only.
|
|
39
|
+
~~~
|
|
40
|
+
|
|
41
|
+
## Warm Bot/Runtime Follow-Up
|
|
42
|
+
|
|
43
|
+
~~~md
|
|
44
|
+
For agent runtimes, the useful path is a safe preflight target plus SARIF evidence:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx @kryptosai/mcp-observatory test npx -y <mcp-server> --sarif mcp-observatory.sarif
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
That lets a bot/runtime review MCP tool risk as structured findings instead of terminal-only output.
|
|
51
|
+
~~~
|
|
52
|
+
|
|
53
|
+
## Directory Submission Copy
|
|
54
|
+
|
|
55
|
+
MCP Observatory is a GitHub-native CI and security gate for MCP servers before agents depend on them. It emits SARIF and can upload MCP compatibility, startup, schema-quality, and security findings to GitHub Code Scanning.
|