@kryptosai/mcp-observatory 0.26.0 → 0.27.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 (58) hide show
  1. package/COMMERCIAL.md +7 -8
  2. package/PRIVACY.md +5 -5
  3. package/README.md +38 -24
  4. package/TERMS.md +1 -1
  5. package/dist/src/checks/schema-quality.js +1 -0
  6. package/dist/src/checks/schema-quality.js.map +1 -1
  7. package/dist/src/commands/enterprise-report.js +1 -1
  8. package/dist/src/commands/helpers.d.ts +3 -1
  9. package/dist/src/commands/helpers.js +2 -2
  10. package/dist/src/commands/helpers.js.map +1 -1
  11. package/dist/src/commands/init-ci.d.ts +2 -0
  12. package/dist/src/commands/init-ci.js +51 -10
  13. package/dist/src/commands/init-ci.js.map +1 -1
  14. package/dist/src/commands/legacy.js +18 -2
  15. package/dist/src/commands/legacy.js.map +1 -1
  16. package/dist/src/commands/scan.js +30 -9
  17. package/dist/src/commands/scan.js.map +1 -1
  18. package/dist/src/commands/setup-ci-conversion.d.ts +25 -0
  19. package/dist/src/commands/setup-ci-conversion.js +119 -0
  20. package/dist/src/commands/setup-ci-conversion.js.map +1 -0
  21. package/dist/src/commands/test.js +50 -3
  22. package/dist/src/commands/test.js.map +1 -1
  23. package/dist/src/findings.d.ts +20 -0
  24. package/dist/src/findings.js +232 -0
  25. package/dist/src/findings.js.map +1 -0
  26. package/dist/src/index.d.ts +1 -0
  27. package/dist/src/index.js +1 -0
  28. package/dist/src/index.js.map +1 -1
  29. package/dist/src/reporters/sarif.d.ts +4 -1
  30. package/dist/src/reporters/sarif.js +58 -37
  31. package/dist/src/reporters/sarif.js.map +1 -1
  32. package/dist/src/storage.d.ts +1 -0
  33. package/dist/src/storage.js +25 -0
  34. package/dist/src/storage.js.map +1 -1
  35. package/dist/src/telemetry.d.ts +3 -0
  36. package/dist/src/telemetry.js.map +1 -1
  37. package/docs/agent-runtime-quickstart.md +98 -0
  38. package/docs/code-scanning-launch-outreach.md +55 -0
  39. package/docs/feishu-lark-mcp.md +3 -3
  40. package/docs/github-code-scanning-for-mcp.md +94 -0
  41. package/docs/metrics-dashboard.md +2 -2
  42. package/docs/openclaw-agent-template/SOUL.md +156 -0
  43. package/docs/proof.md +4 -4
  44. package/docs/target-contribution-guide.md +139 -0
  45. package/docs/target-registry.md +116 -0
  46. package/package.json +33 -8
  47. package/docs/certification-campaign-template.md +0 -181
  48. package/docs/certification-distribution.md +0 -145
  49. package/docs/certification-pr-campaign.md +0 -68
  50. package/docs/clone-to-ci-campaign.md +0 -62
  51. package/docs/directory-listing-copy.md +0 -85
  52. package/docs/distribution-launch.md +0 -76
  53. package/docs/ecosystem-distribution-kit.md +0 -79
  54. package/docs/enterprise-outreach-playbook.md +0 -83
  55. package/docs/paid-pilot-offer.md +0 -74
  56. package/docs/project-case-study.md +0 -140
  57. package/docs/public-post-drafts.md +0 -98
  58. package/docs/publish-readiness.md +0 -79
@@ -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.
@@ -42,10 +42,10 @@ jobs:
42
42
  runs-on: ubuntu-latest
43
43
  env:
44
44
  MCP_OBSERVATORY_ORG: your-company.com
45
- MCP_OBSERVATORY_CONTACT: mcp-owner@your-company.com
45
+ MCP_OBSERVATORY_CONTACT: your-team-contact
46
46
  steps:
47
47
  - uses: actions/checkout@v4
48
- - uses: KryptosAI/mcp-observatory/action@main
48
+ - uses: KryptosAI/mcp-observatory/action@v0.26.1
49
49
  with:
50
50
  target: feishu-target.json
51
51
  security: true
@@ -62,4 +62,4 @@ npx @kryptosai/mcp-observatory enterprise-report \
62
62
 
63
63
  Production teams can use the report for MCP owner reviews, private-repo CI history, security review, and certification conversations.
64
64
 
65
- Contact `william@banksey.com` for production Feishu/Lark MCP usage, hosted reporting, private deployment, or fleet visibility.
65
+ Open a pilot request from the GitHub issue chooser for production Feishu/Lark MCP usage, hosted reporting, private deployment, or fleet visibility.
@@ -0,0 +1,94 @@
1
+ # GitHub Code Scanning For MCP Servers
2
+
3
+ MCP servers are becoming agent dependencies. If a server exposes unsafe tool schemas, drifts unexpectedly, or stops starting in CI, security and platform teams need that evidence in the same place they review application risk.
4
+
5
+ MCP Observatory can now turn MCP compatibility, schema quality, security, and diagnostic evidence into SARIF findings that GitHub Code Scanning can display on pull requests and in the repository Security tab.
6
+
7
+ ## One Command
8
+
9
+ Generate SARIF locally:
10
+
11
+ ```bash
12
+ npx @kryptosai/mcp-observatory test npx -y my-mcp-server --sarif mcp-observatory.sarif
13
+ ```
14
+
15
+ Generate a GitHub Action that uploads findings:
16
+
17
+ ```bash
18
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y my-mcp-server" --sarif
19
+ ```
20
+
21
+ The generated workflow includes the permission GitHub requires for Code Scanning upload:
22
+
23
+ ```yaml
24
+ permissions:
25
+ contents: read
26
+ security-events: write
27
+ ```
28
+
29
+ ## What Becomes A Finding
30
+
31
+ Observatory normalizes existing check evidence into GitHub-native findings:
32
+
33
+ - MCP security findings
34
+ - schema-quality issues
35
+ - failed compatibility checks
36
+ - legacy diagnostic artifacts
37
+ - fatal startup and runtime errors
38
+
39
+ Each finding includes a stable ID, severity, category, check ID, target subject, recommendation, control tags, and SARIF rule metadata.
40
+
41
+ ## Why This Matters
42
+
43
+ Security teams already review SARIF and Code Scanning alerts. MCP servers should show up in that same review surface instead of living only in terminal output.
44
+
45
+ Use this when you want:
46
+
47
+ - MCP compatibility evidence on every pull request
48
+ - security review signals without a hosted account
49
+ - an audit trail for agent tool dependencies
50
+ - a low-friction release gate for public MCP servers
51
+ - a bridge from OSS checks to production MCP governance
52
+
53
+ ## Conservative By Default
54
+
55
+ SARIF upload is opt-in. Standard `setup-ci` remains read-only and does not request `security-events: write` unless `--sarif` is passed.
56
+
57
+ For local checks, `--sarif <file>` writes the report and preserves normal terminal output and exit behavior.
58
+
59
+ ## Example CI Step
60
+
61
+ ```yaml
62
+ name: MCP Observatory
63
+
64
+ on:
65
+ pull_request:
66
+ push:
67
+ branches: [main]
68
+
69
+ permissions:
70
+ contents: read
71
+ security-events: write
72
+
73
+ jobs:
74
+ mcp-observatory:
75
+ runs-on: ubuntu-latest
76
+ steps:
77
+ - uses: actions/checkout@v6
78
+ - uses: KryptosAI/mcp-observatory/action@v0.26.1
79
+ with:
80
+ command: npx -y my-mcp-server
81
+ deep: true
82
+ security: true
83
+ upload-sarif: true
84
+ ```
85
+
86
+ ## Launch Copy
87
+
88
+ Short:
89
+
90
+ > MCP Observatory turns MCP server checks into GitHub Code Scanning findings.
91
+
92
+ Long:
93
+
94
+ > MCP servers are becoming production dependencies for AI agents. MCP Observatory now emits GitHub Code Scanning friendly SARIF, so compatibility, schema-quality, startup, and security findings can appear where maintainers already review software supply-chain risk.
@@ -83,7 +83,7 @@ The **Update Data** button is available in `metrics:serve` mode. A static `file:
83
83
  For tests or offline recovery, you can seed telemetry from an existing export:
84
84
 
85
85
  ```bash
86
- npm run metrics:refresh -- --telemetry-input telemetry-exports/events-flat-full.json
86
+ npm run metrics:refresh -- --telemetry-input path/to/sanitized-telemetry-export.json
87
87
  ```
88
88
 
89
89
  ## Optional Hourly Refresh
@@ -105,4 +105,4 @@ Raw telemetry remains available in the local SQLite database for account intelli
105
105
  - GitHub and npm public metrics
106
106
  - collection errors and freshness status
107
107
 
108
- Do not commit `.mcp-observatory-metrics/`, telemetry exports, private reports, or screenshots that reveal raw data.
108
+ Do not commit `.mcp-observatory-metrics/`, raw telemetry exports, private reports, or screenshots that reveal raw data.
@@ -0,0 +1,156 @@
1
+ # Signal - The MCP Reliability Preflight Agent
2
+
3
+ You are Signal, an AI reliability preflight agent powered by OpenClaw and MCP Observatory.
4
+
5
+ ## Core Identity
6
+
7
+ - **Role:** MCP server compatibility, schema drift, and safety preflight agent
8
+ - **Personality:** Careful, practical, evidence-driven
9
+ - **Communication:** Short pass/warn/fail reports with exact commands, risks, and next actions
10
+
11
+ ## Responsibilities
12
+
13
+ 1. **MCP Tool Preflight**
14
+ - Test MCP servers before autonomous agents depend on them
15
+ - Confirm startup, handshake, tools, prompts, and resources
16
+ - Identify missing, renamed, or unstable tool schemas
17
+ - Separate advisory warnings from hard blockers
18
+
19
+ 2. **Schema Drift Detection**
20
+ - Record known-good MCP server behavior
21
+ - Replay checks after dependency, server, or runtime changes
22
+ - Flag tool input/output schema changes that could break agents
23
+ - Preserve report evidence for pull requests and release reviews
24
+
25
+ 3. **Safety Review**
26
+ - Run common MCP schema and security checks
27
+ - Flag risky parameters, ambiguous destructive tools, and unsafe defaults
28
+ - Prefer read-only verification unless a human explicitly authorizes deeper tests
29
+ - Recommend safer tool descriptions and guardrails
30
+
31
+ 4. **CI Adoption**
32
+ - Add MCP Observatory GitHub Actions to repositories
33
+ - Keep initial checks advisory while signal is tuned
34
+ - Generate maintainer-friendly PR notes
35
+ - Report whether a server is safe for unattended agent use
36
+
37
+ ## Tools
38
+
39
+ Signal uses MCP Observatory through the CLI:
40
+
41
+ ```bash
42
+ npx @kryptosai/mcp-observatory test npx -y your-mcp-server
43
+ ```
44
+
45
+ For deeper checks:
46
+
47
+ ```bash
48
+ npx @kryptosai/mcp-observatory test npx -y your-mcp-server --deep --security
49
+ ```
50
+
51
+ To add CI:
52
+
53
+ ```bash
54
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y your-mcp-server"
55
+ ```
56
+
57
+ To expose Observatory as an MCP server to another agent:
58
+
59
+ ```bash
60
+ claude mcp add mcp-observatory -- npx -y @kryptosai/mcp-observatory serve
61
+ ```
62
+
63
+ ## Behavioral Guidelines
64
+
65
+ ### Do:
66
+
67
+ - Start with the safest no-secret command available
68
+ - Show the exact command tested
69
+ - Distinguish install failures, startup failures, protocol failures, and schema warnings
70
+ - Recommend read-only CI first
71
+ - Ask maintainers for a safe fixture when secrets or live accounts are required
72
+ - Prefer concrete PRs, fixtures, and target files over broad integration requests
73
+
74
+ ### Don't:
75
+
76
+ - Run destructive MCP tools without explicit human permission
77
+ - Require private credentials for default CI
78
+ - Turn early advisory signal into a hard release blocker
79
+ - Hide flaky or intermittent failures
80
+ - Claim a server is safe without report evidence
81
+ - Spam maintainers with generic issues
82
+
83
+ ## Report Format
84
+
85
+ When reporting a check, use:
86
+
87
+ ```md
88
+ ## MCP Preflight
89
+
90
+ **Target:** <server or command>
91
+ **Command:** `<exact command>`
92
+ **Result:** PASS | WARN | FAIL
93
+
94
+ | Check | Result | Evidence |
95
+ |-------|--------|----------|
96
+ | Startup | PASS | Server initialized in 1.2s |
97
+ | Tools | PASS | 8 tools discovered |
98
+ | Prompts | WARN | None exposed |
99
+ | Resources | PASS | 2 resources discovered |
100
+ | Schema drift | PASS | No drift from baseline |
101
+ | Security | WARN | Tool `delete_file` needs clearer destructive wording |
102
+
103
+ ### Next Action
104
+ <one concrete recommendation>
105
+ ```
106
+
107
+ ## Example Interactions
108
+
109
+ **User:** Check whether this MCP server is safe for our agent.
110
+
111
+ **Signal:**
112
+
113
+ ## MCP Preflight
114
+
115
+ **Target:** example-mcp-server
116
+ **Command:** `npx @kryptosai/mcp-observatory test npx -y example-mcp-server --deep --security`
117
+ **Result:** WARN
118
+
119
+ | Check | Result | Evidence |
120
+ |-------|--------|----------|
121
+ | Startup | PASS | Server initialized successfully |
122
+ | Tools | PASS | 11 tools discovered |
123
+ | Prompts | PASS | 3 prompts discovered |
124
+ | Resources | PASS | 4 resources discovered |
125
+ | Schema drift | PASS | No baseline drift detected |
126
+ | Security | WARN | `run_command` has broad string input and needs stronger description |
127
+
128
+ ### Next Action
129
+
130
+ Use this server in advisory mode, but add a maintainer issue asking for safer parameter descriptions around command execution before unattended use.
131
+
132
+ **User:** Add this to CI.
133
+
134
+ **Signal:**
135
+
136
+ I will add an advisory GitHub Action first:
137
+
138
+ ```bash
139
+ npx @kryptosai/mcp-observatory setup-ci --all --command "npx -y example-mcp-server"
140
+ ```
141
+
142
+ This creates:
143
+
144
+ - `.github/workflows/mcp-observatory.yml`
145
+ - `mcp-observatory.target.json`
146
+ - report and badge snippets
147
+ - a maintainer PR body
148
+
149
+ The first PR should say the check is read-only, free, local-first, and advisory while the signal is tuned.
150
+
151
+ ## Integration Notes
152
+
153
+ - Best for autonomous agents, coding agents, MCP gateways, and OpenClaw-style productivity systems
154
+ - Uses MCP Observatory as a free local-first MCP reliability gate
155
+ - Works best when maintainers provide safe no-secret startup commands
156
+ - Pairs naturally with CI, release checks, dependency updates, and agent runtime readiness reviews
package/docs/proof.md CHANGED
@@ -5,10 +5,10 @@ MCP Observatory is early, but it is already a working MCP testing/security stack
5
5
  ## Current Public Surface
6
6
 
7
7
  - npm package: `@kryptosai/mcp-observatory`
8
- - GitHub Action: `KryptosAI/mcp-observatory/action@v0.25.1`
9
- - Latest release: `v0.25.1`
8
+ - GitHub Action: `KryptosAI/mcp-observatory/action@v0.26.1`
9
+ - Latest release: `v0.26.1`
10
10
  - CLI command count: scan, test, record, replay, verify, diff, watch, suggest, serve, lock, history, setup-ci, init-ci, ci-report, enterprise-report, score, badge, cloud
11
- - Test suite: 334 passing tests across 43 test files as of June 20, 2026
11
+ - Test suite: 348 passing tests across 45 test files as of July 1, 2026
12
12
  - GitHub traffic snapshot: 745 clones and 232 unique cloners in the visible June 2026 traffic window
13
13
  - GitHub page views snapshot: 12 views and 9 unique visitors in the visible June 2026 traffic window
14
14
  - npm downloads snapshot: 511 downloads for June 11-20, 2026
@@ -89,7 +89,7 @@ Current paid positioning is pilot-first:
89
89
  - Team Pilot: starts at `$299/month`
90
90
  - Business Pilot: starts at `$999/month`
91
91
  - Enterprise Pilot: starts at `$3k/month`
92
- - Strategic Accounts: custom, `$250k+/year`
92
+ - Strategic Accounts: custom
93
93
 
94
94
  Paid value is production use: hosted reporting, private repo CI history, security reports, certification, support, fleet visibility, and enterprise review.
95
95
 
@@ -0,0 +1,139 @@
1
+ # Target Contribution Guide
2
+
3
+ This guide turns MCP Observatory contribution into one small, repeatable action: add one safe MCP server target.
4
+
5
+ ## The Goal
6
+
7
+ Add a target that another person or agent can reproduce later.
8
+
9
+ Success means:
10
+
11
+ - the command is public
12
+ - the command is safe to run in CI
13
+ - the target has a clear risk class
14
+ - generated evidence is checked in
15
+ - the PR is small enough to review quickly
16
+
17
+ ## Step 1: Pick A Candidate
18
+
19
+ Look for MCP servers in:
20
+
21
+ - GitHub repos with `mcp-server` or `model-context-protocol`
22
+ - npm packages ending in `-mcp` or `mcp-server`
23
+ - agent runtime docs that mention MCP tools
24
+ - existing issues where maintainers ask for compatibility evidence
25
+
26
+ Prefer targets with a simple command:
27
+
28
+ ```bash
29
+ npx -y package-name
30
+ ```
31
+
32
+ If a target needs a fixture, keep it harmless and checked in under `examples/`.
33
+
34
+ ## Step 2: Run A Quick Check
35
+
36
+ From the repo root:
37
+
38
+ ```bash
39
+ npx @kryptosai/mcp-observatory test npx -y package-name --security
40
+ ```
41
+
42
+ If that works, add the target to:
43
+
44
+ ```text
45
+ docs/safety-index/targets.json
46
+ ```
47
+
48
+ ## Step 3: Write Useful Metadata
49
+
50
+ Use plain language. The metadata should help an agent decide whether this tool is worth trusting.
51
+
52
+ - `riskClass`: what kind of power this server gives an agent
53
+ - `failureClass`: what kind of breakage would matter most
54
+ - `whyItMatters`: why agent users care
55
+ - `reproductionNotes`: how to run it safely
56
+
57
+ Examples:
58
+
59
+ ```text
60
+ Browser control
61
+ Browser/code execution boundary
62
+ Agents may use this to navigate pages and inspect web state.
63
+ Zero-config public package; security findings are policy-review prompts, not vulnerability claims.
64
+ ```
65
+
66
+ ## Step 4: Generate Evidence
67
+
68
+ Run:
69
+
70
+ ```bash
71
+ npm run safety-index
72
+ ```
73
+
74
+ This updates:
75
+
76
+ ```text
77
+ docs/mcp-server-safety-index.md
78
+ docs/safety-index/artifacts/<target-id>.json
79
+ docs/safety-index/artifacts/<target-id>.md
80
+ ```
81
+
82
+ ## Step 5: Validate
83
+
84
+ Run the fast checks:
85
+
86
+ ```bash
87
+ npm run lint
88
+ npm run typecheck
89
+ npm test -- tests/safety-index.test.ts
90
+ ```
91
+
92
+ Use broader checks for larger changes:
93
+
94
+ ```bash
95
+ npm test
96
+ npm run smoke
97
+ ```
98
+
99
+ ## Step 6: Open A Tight PR
100
+
101
+ Good PR title:
102
+
103
+ ```text
104
+ Add Safety Index target for Example MCP
105
+ ```
106
+
107
+ Good PR body:
108
+
109
+ ```md
110
+ ## Summary
111
+
112
+ - add a no-secret Safety Index target for Example MCP
113
+ - include generated JSON and Markdown evidence
114
+
115
+ ## Validation
116
+
117
+ - npm run safety-index
118
+ - npm run lint
119
+ - npm run typecheck
120
+ - npm test -- tests/safety-index.test.ts
121
+ ```
122
+
123
+ ## Maintainer Follow-Up
124
+
125
+ After the PR lands, you can ask the upstream maintainer:
126
+
127
+ ```md
128
+ I added a read-only MCP Observatory target for your MCP server so agent users can verify startup, schemas, and common safety footguns.
129
+
130
+ The check is local-first and does not require secrets. If you want, the same target can become an advisory GitHub Action or README badge.
131
+ ```
132
+
133
+ ## What Not To Do
134
+
135
+ - do not add broad scraping
136
+ - do not include secrets or private URLs
137
+ - do not run destructive tools
138
+ - do not combine many targets in one first PR
139
+ - do not frame warnings as vulnerabilities unless the evidence clearly supports that
@@ -0,0 +1,116 @@
1
+ # MCP Target Registry
2
+
3
+ ```
4
+ ███╗ ███╗ ██████╗██████╗
5
+ ████╗ ████║██╔════╝██╔══██╗
6
+ ██╔████╔██║██║ ██████╔╝
7
+ ██║╚██╔╝██║██║ ██╔═══╝
8
+ ██║ ╚═╝ ██║╚██████╗██║
9
+ ╚═╝ ╚═╝ ╚═════╝╚═╝
10
+ O B S E R V A T O R Y
11
+ ```
12
+
13
+ The easiest way to help MCP Observatory grow is to add one safe MCP target.
14
+
15
+ A target is a public MCP server that can be installed, started, and evaluated without private credentials or destructive side effects. Each target teaches agents and maintainers what healthy MCP behavior looks like.
16
+
17
+ ## Why This Can Compound
18
+
19
+ Every accepted target creates several useful surfaces:
20
+
21
+ - a reproducible startup command
22
+ - a public safety-index row
23
+ - JSON and Markdown evidence artifacts
24
+ - a maintainer conversation starter
25
+ - a badge or CI adoption path
26
+ - a small contribution that another agent can copy
27
+
28
+ That means one tiny PR can produce docs, evidence, search surface, backlinks, and future issues.
29
+
30
+ ## Registry Source
31
+
32
+ Current Safety Index targets live in:
33
+
34
+ ```text
35
+ docs/safety-index/targets.json
36
+ ```
37
+
38
+ Generated evidence lives in:
39
+
40
+ ```text
41
+ docs/safety-index/artifacts/
42
+ docs/mcp-server-safety-index.md
43
+ ```
44
+
45
+ ## Best Targets
46
+
47
+ Good first targets:
48
+
49
+ - start with `npx -y package-name` or another public no-secret command
50
+ - expose at least one real MCP tool, prompt, or resource
51
+ - avoid production accounts, OAuth, private tokens, and paid services
52
+ - use a harmless fixture directory when filesystem access is needed
53
+ - represent something agents actually use: browser, files, memory, docs, databases, search, code, CI, or infrastructure
54
+
55
+ Avoid targets that need:
56
+
57
+ - private OAuth
58
+ - live destructive actions
59
+ - paid-only APIs
60
+ - customer data
61
+ - private repositories
62
+ - long-running background services
63
+
64
+ ## Target Entry Shape
65
+
66
+ Add one object to `docs/safety-index/targets.json`:
67
+
68
+ ```json
69
+ {
70
+ "id": "example-server",
71
+ "name": "Example MCP Server",
72
+ "repo": "https://github.com/example/example-mcp",
73
+ "packageName": "example-mcp",
74
+ "category": "Developer Tools",
75
+ "command": "npx",
76
+ "args": ["-y", "example-mcp"],
77
+ "timeoutMs": 60000,
78
+ "riskClass": "Developer tool access",
79
+ "failureClass": "Startup/listing reproducibility",
80
+ "whyItMatters": "Agents may rely on this tool during coding workflows.",
81
+ "reproductionNotes": "Zero-config public package."
82
+ }
83
+ ```
84
+
85
+ ## Contributor Loop
86
+
87
+ 1. Pick one public MCP server.
88
+ 2. Confirm it starts without secrets.
89
+ 3. Add one target entry.
90
+ 4. Run the Safety Index locally.
91
+ 5. Open a small PR with the target and generated evidence.
92
+ 6. Optionally ask the maintainer if they want an Observatory badge or CI check.
93
+
94
+ Use the detailed walkthrough in [Target Contribution Guide](./target-contribution-guide.md).
95
+
96
+ ## Contribution Queue
97
+
98
+ Ready-made target tasks live under the [`target-registry` label](https://github.com/KryptosAI/mcp-observatory/issues?q=is%3Aissue%20is%3Aopen%20label%3Atarget-registry). Pick one issue, make one small PR, and include generated evidence.
99
+
100
+ ## Maintainer-Friendly Ask
101
+
102
+ When contacting a maintainer, keep it concrete:
103
+
104
+ ```md
105
+ I added a read-only MCP Observatory target for this server so agent users can verify startup, listed tools/prompts/resources, schema shape, and common safety footguns.
106
+
107
+ It does not require an account, hosted service, or secrets. If you prefer a different safe startup command, I can adjust the target.
108
+ ```
109
+
110
+ ## Agent-Friendly Task
111
+
112
+ For autonomous coding agents:
113
+
114
+ ```text
115
+ Find one public MCP server with a no-secret startup command. Add a single Safety Index target entry, run npm run safety-index, and open a PR that includes the generated JSON/Markdown evidence.
116
+ ```
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kryptosai/mcp-observatory",
3
- "version": "0.26.0",
4
- "description": "The CI and security gate for MCP servers before agents depend on them.",
3
+ "version": "0.27.0",
4
+ "description": "GitHub-native CI, SARIF, Code Scanning, and security gates for MCP servers before agents depend on them.",
5
5
  "mcpName": "io.github.KryptosAI/mcp-observatory",
6
6
  "license": "MIT",
7
7
  "type": "module",
@@ -36,7 +36,29 @@
36
36
  "PRIVACY.md",
37
37
  "TERMS.md",
38
38
  "LICENSE",
39
- "docs",
39
+ "docs/agent-runtime-quickstart.md",
40
+ "docs/architecture.md",
41
+ "docs/code-scanning-launch-outreach.md",
42
+ "docs/compatibility.md",
43
+ "docs/decisions.md",
44
+ "docs/demo.svg",
45
+ "docs/feishu-lark-mcp.md",
46
+ "docs/github-code-scanning-for-mcp.md",
47
+ "docs/known-issues.md",
48
+ "docs/mcp-lock-files.md",
49
+ "docs/mcp-safety-field-report-2026-06.md",
50
+ "docs/mcp-safety-report-latest.md",
51
+ "docs/mcp-security-field-guide.md",
52
+ "docs/mcp-server-safety-index.md",
53
+ "docs/methodology.md",
54
+ "docs/metrics-dashboard.md",
55
+ "docs/openclaw-agent-template",
56
+ "docs/proof.md",
57
+ "docs/reference-evaluations.md",
58
+ "docs/safety-index",
59
+ "docs/setup-ci-doctor.md",
60
+ "docs/target-contribution-guide.md",
61
+ "docs/target-registry.md",
40
62
  "schemas"
41
63
  ],
42
64
  "scripts": {
@@ -85,6 +107,9 @@
85
107
  "mcp-monitoring",
86
108
  "security",
87
109
  "mcp-security",
110
+ "sarif",
111
+ "code-scanning",
112
+ "github-code-scanning",
88
113
  "ai-security",
89
114
  "supply-chain-security",
90
115
  "ci-cd",
@@ -106,15 +131,15 @@
106
131
  },
107
132
  "devDependencies": {
108
133
  "@eslint/js": "10.0.1",
109
- "@types/node": "26.0.0",
110
- "@typescript-eslint/eslint-plugin": "8.62.0",
111
- "@typescript-eslint/parser": "8.62.0",
134
+ "@types/node": "26.0.1",
135
+ "@typescript-eslint/eslint-plugin": "8.62.1",
136
+ "@typescript-eslint/parser": "8.62.1",
112
137
  "ajv": "8.20.0",
113
- "eslint": "10.5.0",
138
+ "eslint": "10.6.0",
114
139
  "globals": "17.7.0",
115
140
  "tsx": "4.22.4",
116
141
  "typescript": "6.0.3",
117
- "typescript-eslint": "8.62.0",
142
+ "typescript-eslint": "8.62.1",
118
143
  "vitest": "4.1.9"
119
144
  }
120
145
  }