@kryptosai/mcp-observatory 0.20.2 → 0.21.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 +67 -0
- package/PRIVACY.md +52 -0
- package/README.md +100 -4
- package/TERMS.md +30 -0
- package/dist/src/checks/resources.js +9 -19
- package/dist/src/checks/resources.js.map +1 -1
- package/dist/src/checks/security-rules.js.map +1 -1
- package/dist/src/checks/security.js +33 -14
- package/dist/src/checks/security.js.map +1 -1
- package/dist/src/checks/tools-invoke.js.map +1 -1
- package/dist/src/checks/tools.js.map +1 -1
- package/dist/src/ci-issue.js +3 -1
- package/dist/src/ci-issue.js.map +1 -1
- package/dist/src/cli.js +49 -2
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/ci-report.js +4 -0
- package/dist/src/commands/ci-report.js.map +1 -1
- package/dist/src/commands/enterprise-report.d.ts +12 -0
- package/dist/src/commands/enterprise-report.js +192 -0
- package/dist/src/commands/enterprise-report.js.map +1 -0
- package/dist/src/commands/init-ci.d.ts +17 -0
- package/dist/src/commands/init-ci.js +106 -0
- package/dist/src/commands/init-ci.js.map +1 -0
- package/dist/src/commands/scan.js +4 -0
- package/dist/src/commands/scan.js.map +1 -1
- package/dist/src/commands/score.js +2 -0
- package/dist/src/commands/score.js.map +1 -1
- package/dist/src/commands/telemetry.js +47 -2
- package/dist/src/commands/telemetry.js.map +1 -1
- package/dist/src/commands/test.js +11 -5
- package/dist/src/commands/test.js.map +1 -1
- package/dist/src/commercial.d.ts +5 -0
- package/dist/src/commercial.js +46 -0
- package/dist/src/commercial.js.map +1 -0
- package/dist/src/runner.js +1 -1
- package/dist/src/runner.js.map +1 -1
- package/dist/src/telemetry.d.ts +27 -0
- package/dist/src/telemetry.js +57 -3
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/types.d.ts +5 -0
- package/dist/src/validate.js +48 -5
- package/dist/src/validate.js.map +1 -1
- package/docs/architecture.md +32 -0
- package/docs/certification-campaign-template.md +167 -0
- package/docs/certification-distribution.md +125 -0
- package/docs/compatibility.md +164 -0
- package/docs/decisions.md +23 -0
- package/docs/demo.svg +59 -0
- package/docs/directory-listing-copy.md +78 -0
- package/docs/distribution-launch.md +76 -0
- package/docs/enterprise-outreach-playbook.md +83 -0
- package/docs/feishu-lark-mcp.md +65 -0
- package/docs/known-issues.md +27 -0
- package/docs/mcp-safety-report-latest.md +85 -0
- package/docs/project-case-study.md +106 -0
- package/docs/proof.md +68 -0
- package/docs/publish-readiness.md +73 -0
- package/package.json +31 -18
- package/schemas/diff-artifact.schema.json +62 -66
- package/schemas/run-artifact.schema.json +107 -142
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Directory And Marketplace Listing Copy
|
|
2
|
+
|
|
3
|
+
## Standard Positioning
|
|
4
|
+
|
|
5
|
+
MCP Observatory helps teams test, secure, and monitor MCP servers before agents depend on them.
|
|
6
|
+
|
|
7
|
+
## Short Description
|
|
8
|
+
|
|
9
|
+
CI, security checks, schema drift detection, reports, and badges for MCP servers.
|
|
10
|
+
|
|
11
|
+
## Medium Description
|
|
12
|
+
|
|
13
|
+
MCP Observatory is a CLI, GitHub Action, and MCP server for testing MCP servers before agents depend on them. It checks tools, prompts, resources, schema quality, security footguns, regressions, and drift, then generates reports and badges maintainers can share.
|
|
14
|
+
|
|
15
|
+
## Long Description
|
|
16
|
+
|
|
17
|
+
MCP Observatory gives MCP servers production safety rails: one-command CI setup, compatibility checks, security analysis, schema drift detection, record/replay/verify workflows, PR comments, health score badges, and static enterprise reports. It can run as a CLI, inside GitHub Actions, or as an MCP server that lets agents inspect other MCP servers.
|
|
18
|
+
|
|
19
|
+
Free for local OSS use. Paid pilots are available for hosted reporting, private repo CI history, recurring security reports, certification, support, and fleet visibility.
|
|
20
|
+
|
|
21
|
+
## Primary CTA
|
|
22
|
+
|
|
23
|
+
Add MCP CI in one command:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx @kryptosai/mcp-observatory init-ci --command "npx -y my-mcp-server" --badge
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Tags
|
|
30
|
+
|
|
31
|
+
### GitHub Topics
|
|
32
|
+
|
|
33
|
+
- `mcp`
|
|
34
|
+
- `model-context-protocol`
|
|
35
|
+
- `mcp-server`
|
|
36
|
+
- `mcp-testing`
|
|
37
|
+
- `mcp-security`
|
|
38
|
+
- `mcp-ci`
|
|
39
|
+
- `schema-drift`
|
|
40
|
+
- `developer-tools`
|
|
41
|
+
- `security`
|
|
42
|
+
- `github-action`
|
|
43
|
+
|
|
44
|
+
### Directory Tags
|
|
45
|
+
|
|
46
|
+
- MCP
|
|
47
|
+
- Model Context Protocol
|
|
48
|
+
- Security
|
|
49
|
+
- Developer Tools
|
|
50
|
+
- Testing
|
|
51
|
+
- CI/CD
|
|
52
|
+
- Observability
|
|
53
|
+
- Schema Drift
|
|
54
|
+
- Regression Testing
|
|
55
|
+
- AI Agents
|
|
56
|
+
|
|
57
|
+
### npm Keywords
|
|
58
|
+
|
|
59
|
+
- `mcp`
|
|
60
|
+
- `mcp-server`
|
|
61
|
+
- `model-context-protocol`
|
|
62
|
+
- `mcp-testing`
|
|
63
|
+
- `mcp-security`
|
|
64
|
+
- `mcp-ci`
|
|
65
|
+
- `schema-drift`
|
|
66
|
+
- `github-action`
|
|
67
|
+
- `developer-tools`
|
|
68
|
+
- `security`
|
|
69
|
+
- `production-monitoring`
|
|
70
|
+
- `enterprise-report`
|
|
71
|
+
|
|
72
|
+
## Links
|
|
73
|
+
|
|
74
|
+
- README: `https://github.com/KryptosAI/mcp-observatory#readme`
|
|
75
|
+
- GitHub Action: `https://github.com/KryptosAI/mcp-observatory/tree/main/action`
|
|
76
|
+
- Certification guide: `https://github.com/KryptosAI/mcp-observatory/blob/main/docs/certification-distribution.md`
|
|
77
|
+
- Proof: `https://github.com/KryptosAI/mcp-observatory/blob/main/docs/proof.md`
|
|
78
|
+
- Commercial pilots: `https://github.com/KryptosAI/mcp-observatory/blob/main/COMMERCIAL.md`
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Distribution And Pilot Launch
|
|
2
|
+
|
|
3
|
+
Use this as the reversible launch motion for MCP Observatory commercialization.
|
|
4
|
+
|
|
5
|
+
For the release gate and publication checklist, see [Publish And Distribution Readiness](./publish-readiness.md).
|
|
6
|
+
For listing copy, use [Directory And Marketplace Listing Copy](./directory-listing-copy.md).
|
|
7
|
+
For public proof, use [MCP Observatory Proof](./proof.md).
|
|
8
|
+
|
|
9
|
+
## Positioning
|
|
10
|
+
|
|
11
|
+
MCP Observatory helps teams test, secure, and monitor MCP servers before agents depend on them.
|
|
12
|
+
|
|
13
|
+
## Public Surface Checklist
|
|
14
|
+
|
|
15
|
+
- README pricing and enterprise CTA
|
|
16
|
+
- npm description and keywords
|
|
17
|
+
- GitHub repository homepage pointing to the README or commercial page
|
|
18
|
+
- MCP directory listings updated with production/security language
|
|
19
|
+
- Launch post published
|
|
20
|
+
- Badge or certification language available for passing servers
|
|
21
|
+
- Certification distribution loop published at [`docs/certification-distribution.md`](./certification-distribution.md)
|
|
22
|
+
|
|
23
|
+
## Launch Post Draft
|
|
24
|
+
|
|
25
|
+
MCP servers are becoming production dependencies. If an agent depends on a server, that server needs regression tests, security checks, and monitoring before it breaks workflows.
|
|
26
|
+
|
|
27
|
+
MCP Observatory scans MCP servers, verifies capabilities, detects schema drift, records/replays sessions, and can run in CI or as an MCP server itself.
|
|
28
|
+
|
|
29
|
+
Free for local OSS use. Paid pilots are available for hosted reporting, private repo CI, security reports, production monitoring, certification, support, and fleet visibility.
|
|
30
|
+
|
|
31
|
+
Production MCP usage? Contact william@banksey.com.
|
|
32
|
+
|
|
33
|
+
## Outreach Template
|
|
34
|
+
|
|
35
|
+
Subject: MCP production testing and security checks
|
|
36
|
+
|
|
37
|
+
Hi,
|
|
38
|
+
|
|
39
|
+
I noticed signals that your team may be evaluating or using MCP servers. MCP Observatory helps teams test, secure, and monitor MCP servers before agents depend on them.
|
|
40
|
+
|
|
41
|
+
We are running a small number of production pilots for hosted reports, private repo CI, security monitoring, certification, support, and fleet visibility.
|
|
42
|
+
|
|
43
|
+
Would it be useful to compare what your MCP servers look like today and where regressions or production risk could show up?
|
|
44
|
+
|
|
45
|
+
William
|
|
46
|
+
|
|
47
|
+
## Helpful Maintainer PR Motion
|
|
48
|
+
|
|
49
|
+
For popular MCP server repositories, open small PRs that add:
|
|
50
|
+
|
|
51
|
+
- `.github/workflows/mcp-observatory.yml`
|
|
52
|
+
- optional README badge
|
|
53
|
+
- a short PR body explaining the security/compatibility benefit
|
|
54
|
+
|
|
55
|
+
Frame this as free OSS safety infrastructure:
|
|
56
|
+
|
|
57
|
+
> I added a lightweight MCP Observatory check so users can see this server is tested for compatibility, schema drift, and common security issues. It runs in GitHub Actions, comments a readable report on PRs, and does not require an account.
|
|
58
|
+
|
|
59
|
+
Use the full template in [`certification-distribution.md`](./certification-distribution.md).
|
|
60
|
+
|
|
61
|
+
Track each outbound wave with [`certification-campaign-template.md`](./certification-campaign-template.md).
|
|
62
|
+
|
|
63
|
+
## Account Ranking Inputs
|
|
64
|
+
|
|
65
|
+
Rank prospects with:
|
|
66
|
+
|
|
67
|
+
- Company domain or GitHub organization
|
|
68
|
+
- Evidence source: git email domain, git remote URL, hostname domain, CI provider
|
|
69
|
+
- Event count and unique sessions
|
|
70
|
+
- Commands used
|
|
71
|
+
- Targets or servers seen
|
|
72
|
+
- Production signals: CI, private repo naming, repeated scans, security checks, matrix scans
|
|
73
|
+
- Confidence: high, medium, low
|
|
74
|
+
- Tier recommendation: Team, Business, Enterprise, Strategic
|
|
75
|
+
|
|
76
|
+
Do not publish raw emails. Keep account evidence internal.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Enterprise Outreach Playbook
|
|
2
|
+
|
|
3
|
+
Use this playbook after running:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm run telemetry:intelligence -- --input telemetry-exports/events-flat-full.json --out-dir reports
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Start from `reports/telemetry-usage-summary.html` to confirm external usage before reading account rankings. Do not treat first-party CI, release workflows, or internal/personal sessions as market traction.
|
|
10
|
+
|
|
11
|
+
Do not include raw personal emails in public issues, posts, or docs. Use account domains, GitHub orgs, and aggregate telemetry evidence.
|
|
12
|
+
|
|
13
|
+
## Priority Accounts
|
|
14
|
+
|
|
15
|
+
| Priority | Account | Evidence | Motion |
|
|
16
|
+
| ---: | --- | --- | --- |
|
|
17
|
+
| 1 | `thinkingdata.cn` | High-confidence external usage, repeated sessions, private-network target signal, Feishu/Lark MCP targets | Enterprise pilot |
|
|
18
|
+
| 2 | `kimquy.capital` | Recent light usage across multiple sessions | Business pilot / design partner |
|
|
19
|
+
| 3 | `paperstreetdata.com` | Small usage cluster | Business pilot / testimonial ask |
|
|
20
|
+
| 4 | `cyberneticsplus.com` | Single company signal | Team pilot / feedback ask |
|
|
21
|
+
| 5 | GitHub org/user signals | CI or repo-based usage | Team pilot unless company identity is confirmed |
|
|
22
|
+
|
|
23
|
+
## ThinkingData First Email
|
|
24
|
+
|
|
25
|
+
Subject: MCP security reporting for Feishu/Lark production workflows
|
|
26
|
+
|
|
27
|
+
Hi,
|
|
28
|
+
|
|
29
|
+
I build MCP Observatory, an open source tool for testing, securing, and monitoring MCP servers before agents depend on them.
|
|
30
|
+
|
|
31
|
+
We are seeing serious production-style usage patterns around Feishu/Lark MCP workflows and internal HTTP MCP targets. I am opening a small number of enterprise pilots for teams that want hosted MCP security reports, private-repo CI history, and fleet visibility across agent environments.
|
|
32
|
+
|
|
33
|
+
If your team is running MCP servers in production, I can prepare a short evidence-based report and a pilot proposal focused on:
|
|
34
|
+
|
|
35
|
+
- Feishu/Lark MCP compatibility
|
|
36
|
+
- private HTTP MCP health checks
|
|
37
|
+
- security findings and schema drift
|
|
38
|
+
- CI history and production monitoring
|
|
39
|
+
- MCP fleet visibility across teams
|
|
40
|
+
|
|
41
|
+
Would it be useful to compare notes this week?
|
|
42
|
+
|
|
43
|
+
William
|
|
44
|
+
|
|
45
|
+
## Pilot Routing
|
|
46
|
+
|
|
47
|
+
- Repeated sessions + internal/private target: Enterprise Pilot, starts at `$3k/month`.
|
|
48
|
+
- Major platform, AI lab, or very large company: Strategic only, `$250k+/year` anchor.
|
|
49
|
+
- Light but recent company usage: Business Pilot, starts at `$999/month`.
|
|
50
|
+
- GitHub-user-only or hobby-looking usage: Team Pilot, starts at `$299/month`.
|
|
51
|
+
|
|
52
|
+
## Call Agenda
|
|
53
|
+
|
|
54
|
+
1. Confirm whether MCP is already in production or only evaluation.
|
|
55
|
+
2. Identify the owner: platform, security, AI infra, developer productivity, or app team.
|
|
56
|
+
3. Ask which value matters most: CI, security report, dashboard, certification, fleet inventory, or private deployment.
|
|
57
|
+
4. Offer to generate a static enterprise report from their first pilot run.
|
|
58
|
+
5. Quote manually. Do not route large companies to self-serve Team/Business pricing.
|
|
59
|
+
|
|
60
|
+
## Evidence Packet
|
|
61
|
+
|
|
62
|
+
Prepare this before outreach:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npx @kryptosai/mcp-observatory enterprise-report \
|
|
66
|
+
--account "Account Name" \
|
|
67
|
+
--format html \
|
|
68
|
+
--output reports/account-enterprise-report.html
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Include only aggregate facts:
|
|
72
|
+
|
|
73
|
+
- company or GitHub organization domain
|
|
74
|
+
- event count
|
|
75
|
+
- unique sessions
|
|
76
|
+
- first seen / last seen
|
|
77
|
+
- commands used
|
|
78
|
+
- targets seen
|
|
79
|
+
- CI/private-network/security signals
|
|
80
|
+
- confidence
|
|
81
|
+
- recommended pilot tier
|
|
82
|
+
|
|
83
|
+
Do not include raw hostnames, personal emails, tokens, or private URLs in external outreach.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Testing Feishu/Lark MCP Servers
|
|
2
|
+
|
|
3
|
+
Feishu and Lark workflows often put documents, approvals, project data, and internal knowledge behind MCP servers. MCP Observatory helps teams test those servers before agents depend on them.
|
|
4
|
+
|
|
5
|
+
## Local Server Check
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx @kryptosai/mcp-observatory test --security npx -y feishu-doc-mcp
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Use `--security` when the server exposes document search, write actions, internal URLs, or credential-backed tools.
|
|
12
|
+
|
|
13
|
+
## Internal HTTP MCP Check
|
|
14
|
+
|
|
15
|
+
For an internal HTTP MCP endpoint, create a target file:
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"targetId": "feishu-doc-mcp",
|
|
20
|
+
"adapter": "http",
|
|
21
|
+
"url": "https://internal.example.com/mcp",
|
|
22
|
+
"authToken": "${FEISHU_MCP_TOKEN}",
|
|
23
|
+
"timeoutMs": 30000
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Then run:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
export FEISHU_MCP_TOKEN="..."
|
|
31
|
+
npx @kryptosai/mcp-observatory test --target feishu-target.json --security
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## CI Report
|
|
35
|
+
|
|
36
|
+
```yaml
|
|
37
|
+
name: Feishu MCP Check
|
|
38
|
+
on: [pull_request]
|
|
39
|
+
|
|
40
|
+
jobs:
|
|
41
|
+
observatory:
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
env:
|
|
44
|
+
MCP_OBSERVATORY_ORG: your-company.com
|
|
45
|
+
MCP_OBSERVATORY_CONTACT: mcp-owner@your-company.com
|
|
46
|
+
steps:
|
|
47
|
+
- uses: actions/checkout@v4
|
|
48
|
+
- uses: KryptosAI/mcp-observatory/action@main
|
|
49
|
+
with:
|
|
50
|
+
target: feishu-target.json
|
|
51
|
+
security: true
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Enterprise Report
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npx @kryptosai/mcp-observatory enterprise-report \
|
|
58
|
+
--account "Feishu MCP production fleet" \
|
|
59
|
+
--format html \
|
|
60
|
+
--output feishu-mcp-report.html
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Production teams can use the report for MCP owner reviews, private-repo CI history, security review, and certification conversations.
|
|
64
|
+
|
|
65
|
+
Contact `william@banksey.com` for production Feishu/Lark MCP usage, hosted reporting, private deployment, or fleet visibility.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Known Issues
|
|
2
|
+
|
|
3
|
+
## `unsupported` vs `failed`
|
|
4
|
+
|
|
5
|
+
This distinction is one of the main reasons the repo exists.
|
|
6
|
+
|
|
7
|
+
- `unsupported` means the target did not advertise the capability. Example: `@modelcontextprotocol/server-filesystem` currently surfaces `prompts` and `resources` as `unsupported`.
|
|
8
|
+
- `failed` means the capability path or startup path should have worked and did not. Example: a target that advertises a capability but errors during the list call, or a package that closes the connection before initialization completes.
|
|
9
|
+
|
|
10
|
+
Collapsing those states would make the ecosystem look simpler than it is.
|
|
11
|
+
|
|
12
|
+
## Not every MCP package is a drop-in stdio target
|
|
13
|
+
|
|
14
|
+
Some packages in the ecosystem are app-oriented, require additional startup flags, or close immediately when invoked like a plain local-process stdio server. That is not a failure of MCP Observatory; it is useful ecosystem signal.
|
|
15
|
+
|
|
16
|
+
Observed examples during launch hardening:
|
|
17
|
+
|
|
18
|
+
- `@modelcontextprotocol/server-map` timed out under the current local-process harness
|
|
19
|
+
- `@modelcontextprotocol/server-threejs` closed the connection before initialization completed
|
|
20
|
+
- `@jsonresume/mcp` closed the connection before initialization completed
|
|
21
|
+
- `@modelcontextprotocol/server-pdf` timed out under the current probe setup
|
|
22
|
+
|
|
23
|
+
These are good candidates for future integration work because they help clarify:
|
|
24
|
+
|
|
25
|
+
- stdio vs app/server transport expectations
|
|
26
|
+
- startup requirements for package-specific servers
|
|
27
|
+
- how MCP Observatory should present connection/setup failures clearly
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# MCP Safety Report
|
|
2
|
+
|
|
3
|
+
Latest generated baseline: June 19, 2026.
|
|
4
|
+
|
|
5
|
+
MCP servers are becoming production dependencies. When agents depend on a server, that server needs repeatable compatibility checks, security review, schema drift detection, and visible trust signals.
|
|
6
|
+
|
|
7
|
+
## What Observatory Checks
|
|
8
|
+
|
|
9
|
+
MCP Observatory checks:
|
|
10
|
+
|
|
11
|
+
- tools, prompts, and resources list/respond correctly
|
|
12
|
+
- advertised capabilities match observed behavior
|
|
13
|
+
- safe read-only tools can be invoked
|
|
14
|
+
- schemas are usable by agents
|
|
15
|
+
- security footguns are visible before production use
|
|
16
|
+
- runs can be compared for regressions and schema drift
|
|
17
|
+
- artifacts can be rendered as JSON, Markdown, HTML, JUnit, SARIF, or PR comments
|
|
18
|
+
|
|
19
|
+
## Aggregate Usage Snapshot
|
|
20
|
+
|
|
21
|
+
Safe aggregate telemetry from the latest local export:
|
|
22
|
+
|
|
23
|
+
| Metric | Value |
|
|
24
|
+
| --- | ---: |
|
|
25
|
+
| Total telemetry events | 10,278 |
|
|
26
|
+
| Unique sessions | 7,211 |
|
|
27
|
+
| External sessions | 5,368 |
|
|
28
|
+
| External CI sessions | 2,434 |
|
|
29
|
+
| Attributed company/org sessions | 128 |
|
|
30
|
+
|
|
31
|
+
Top external commands:
|
|
32
|
+
|
|
33
|
+
1. `serve`
|
|
34
|
+
2. `run`
|
|
35
|
+
3. `diff`
|
|
36
|
+
4. `test`
|
|
37
|
+
5. `scan`
|
|
38
|
+
6. `history`
|
|
39
|
+
|
|
40
|
+
No raw emails, hostnames, private URLs, tokens, or response bodies are included in this report.
|
|
41
|
+
|
|
42
|
+
## Common MCP Failure Classes
|
|
43
|
+
|
|
44
|
+
From public sample artifacts and Observatory check categories, the most important failure classes are:
|
|
45
|
+
|
|
46
|
+
- server startup failure
|
|
47
|
+
- malformed or missing tools/list, prompts/list, or resources/list responses
|
|
48
|
+
- schema quality issues that make tools harder for agents to call correctly
|
|
49
|
+
- regressions between two runs
|
|
50
|
+
- unexpected drift from a recorded baseline
|
|
51
|
+
- broad filesystem/network/security-sensitive tool surfaces
|
|
52
|
+
- slow or unreliable connection behavior
|
|
53
|
+
|
|
54
|
+
## How Maintainers Add The Check
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npx @kryptosai/mcp-observatory init-ci --command "npx -y my-mcp-server" --badge
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
That creates a GitHub Action and a README badge snippet. The action can comment on PRs and fail when MCP compatibility or security checks regress.
|
|
61
|
+
|
|
62
|
+
## Production Path
|
|
63
|
+
|
|
64
|
+
Production teams can use MCP Observatory for:
|
|
65
|
+
|
|
66
|
+
- private repo CI history
|
|
67
|
+
- hosted reporting
|
|
68
|
+
- recurring security reports
|
|
69
|
+
- MCP certification
|
|
70
|
+
- support and rollout review
|
|
71
|
+
- fleet visibility across teams and repos
|
|
72
|
+
|
|
73
|
+
Contact `william@banksey.com` for pilots.
|
|
74
|
+
|
|
75
|
+
## Launch Post
|
|
76
|
+
|
|
77
|
+
MCP servers are becoming production dependencies.
|
|
78
|
+
|
|
79
|
+
I built MCP Observatory so MCP maintainers can add CI, security checks, schema drift detection, PR reports, and trust badges in one command:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
npx @kryptosai/mcp-observatory init-ci --command "npx -y my-mcp-server" --badge
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Free for local OSS use. Paid pilots are available for hosted reporting, private repo CI, certification, support, and fleet visibility.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# MCP Observatory Case Study
|
|
2
|
+
|
|
3
|
+
## One-Line Summary
|
|
4
|
+
|
|
5
|
+
MCP Observatory is CI/security infrastructure for production MCP servers.
|
|
6
|
+
|
|
7
|
+
## Problem
|
|
8
|
+
|
|
9
|
+
MCP servers are becoming dependencies for AI agents. Teams need to know whether those servers still start, expose usable tools, keep schemas stable, avoid obvious security footguns, and behave consistently as agents depend on them.
|
|
10
|
+
|
|
11
|
+
## Product
|
|
12
|
+
|
|
13
|
+
MCP Observatory provides:
|
|
14
|
+
|
|
15
|
+
- CLI checks for MCP servers
|
|
16
|
+
- MCP server mode so agents can inspect other MCP servers
|
|
17
|
+
- GitHub Action integration
|
|
18
|
+
- PR comments and commit status checks
|
|
19
|
+
- JSON, Markdown, HTML, JUnit, SARIF, and PR-comment reports
|
|
20
|
+
- schema drift detection
|
|
21
|
+
- record/replay/verify workflows
|
|
22
|
+
- health score badges
|
|
23
|
+
- static enterprise reports
|
|
24
|
+
- telemetry intelligence for product and account-level learning
|
|
25
|
+
|
|
26
|
+
## Architecture
|
|
27
|
+
|
|
28
|
+
The project is a TypeScript/Node CLI with modular command handlers, MCP adapters, check runners, reporters, artifact schemas, and a GitHub Action wrapper. A Cloudflare Worker handles hosted artifact upload pilots, and a separate telemetry Worker stores private aggregate usage events in D1.
|
|
29
|
+
|
|
30
|
+
## Technical Proof
|
|
31
|
+
|
|
32
|
+
As of June 19, 2026:
|
|
33
|
+
|
|
34
|
+
- 10k+ source lines in `src`
|
|
35
|
+
- 40 test files
|
|
36
|
+
- 321 passing tests
|
|
37
|
+
- npm package published
|
|
38
|
+
- GitHub Action available
|
|
39
|
+
- MCP server mode available
|
|
40
|
+
- telemetry export and company intelligence tooling available
|
|
41
|
+
|
|
42
|
+
## Traction Snapshot
|
|
43
|
+
|
|
44
|
+
Safe public and aggregate signals:
|
|
45
|
+
|
|
46
|
+
- 10,278 telemetry events
|
|
47
|
+
- 7,211 telemetry sessions
|
|
48
|
+
- 5,368 external sessions after separating internal activity
|
|
49
|
+
- 582 GitHub clones and 175 unique cloners in the visible June 2026 traffic window
|
|
50
|
+
- 104 npm downloads during June 11-17, 2026
|
|
51
|
+
|
|
52
|
+
These are early signals. Public social proof is still limited and should be improved through the certification campaign.
|
|
53
|
+
|
|
54
|
+
## Security And Privacy Posture
|
|
55
|
+
|
|
56
|
+
The project includes:
|
|
57
|
+
|
|
58
|
+
- telemetry opt-out controls
|
|
59
|
+
- privacy disclosure
|
|
60
|
+
- security policy
|
|
61
|
+
- token-based hosted artifact upload
|
|
62
|
+
- private-network rejection for hosted scans
|
|
63
|
+
- sanitized public reporting policy
|
|
64
|
+
|
|
65
|
+
Public claims should use aggregate metrics and accepted public integrations, not raw telemetry.
|
|
66
|
+
|
|
67
|
+
## Commercial Path
|
|
68
|
+
|
|
69
|
+
The free OSS wedge is local testing and public repo CI. Paid value is production/private use:
|
|
70
|
+
|
|
71
|
+
- hosted CI history
|
|
72
|
+
- private repo reporting
|
|
73
|
+
- recurring security reports
|
|
74
|
+
- certification
|
|
75
|
+
- support
|
|
76
|
+
- fleet visibility
|
|
77
|
+
- enterprise review
|
|
78
|
+
|
|
79
|
+
Current pilot anchors:
|
|
80
|
+
|
|
81
|
+
- Team: starts at `$299/month`
|
|
82
|
+
- Business: starts at `$999/month`
|
|
83
|
+
- Enterprise: starts at `$3k/month`
|
|
84
|
+
- Strategic: `$250k+/year`
|
|
85
|
+
|
|
86
|
+
## Job-Opportunity Value
|
|
87
|
+
|
|
88
|
+
This project demonstrates ability across:
|
|
89
|
+
|
|
90
|
+
- AI infrastructure
|
|
91
|
+
- developer tooling
|
|
92
|
+
- security tooling
|
|
93
|
+
- MCP ecosystem work
|
|
94
|
+
- CI/CD integrations
|
|
95
|
+
- telemetry and product analytics
|
|
96
|
+
- commercialization and enterprise packaging
|
|
97
|
+
|
|
98
|
+
It is strongest as a portfolio asset when paired with public proof: accepted external PRs, badges in other repos, directory listings, and a short demo.
|
|
99
|
+
|
|
100
|
+
## Next Milestones
|
|
101
|
+
|
|
102
|
+
1. Publish latest package with `init-ci`.
|
|
103
|
+
2. Open first certification PR wave.
|
|
104
|
+
3. Capture accepted PRs as public proof.
|
|
105
|
+
4. Publish recurring MCP safety reports.
|
|
106
|
+
5. Convert serious users into paid pilots.
|
package/docs/proof.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# MCP Observatory Proof
|
|
2
|
+
|
|
3
|
+
MCP Observatory is early, but it is already a working MCP testing/security stack rather than a landing page.
|
|
4
|
+
|
|
5
|
+
## Current Public Surface
|
|
6
|
+
|
|
7
|
+
- npm package: `@kryptosai/mcp-observatory`
|
|
8
|
+
- GitHub Action: `KryptosAI/mcp-observatory/action@main`
|
|
9
|
+
- CLI command count: scan, test, record, replay, verify, diff, watch, suggest, serve, lock, history, init-ci, ci-report, enterprise-report, score, badge, cloud
|
|
10
|
+
- Test suite: 321 passing tests across 40 test files as of June 19, 2026
|
|
11
|
+
- GitHub traffic snapshot: 582 clones and 175 unique cloners in the visible June 2026 traffic window
|
|
12
|
+
- npm downloads snapshot: 104 downloads for June 11-17, 2026
|
|
13
|
+
|
|
14
|
+
## Safe Aggregate Telemetry Snapshot
|
|
15
|
+
|
|
16
|
+
Internal telemetry is used for product analytics and account-level outreach. Public reporting uses only aggregate or sanitized data.
|
|
17
|
+
|
|
18
|
+
As of the latest local export on June 19, 2026:
|
|
19
|
+
|
|
20
|
+
- 10,278 telemetry events
|
|
21
|
+
- 7,211 unique sessions
|
|
22
|
+
- 5,368 external sessions after separating internal/personal activity
|
|
23
|
+
- 2,434 external CI sessions
|
|
24
|
+
- 128 attributed company/org sessions
|
|
25
|
+
- top external commands: `serve`, `run`, `diff`, `test`, `scan`, `history`
|
|
26
|
+
|
|
27
|
+
Raw emails, hostnames, private URLs, tokens, and response bodies are not published.
|
|
28
|
+
|
|
29
|
+
## Product Proof
|
|
30
|
+
|
|
31
|
+
MCP Observatory can:
|
|
32
|
+
|
|
33
|
+
- install as an npm CLI
|
|
34
|
+
- run as an MCP server
|
|
35
|
+
- test local-process and HTTP MCP targets
|
|
36
|
+
- run in GitHub Actions
|
|
37
|
+
- post PR comments
|
|
38
|
+
- generate JSON, Markdown, HTML, JUnit, SARIF, and PR-comment reports
|
|
39
|
+
- generate health badges
|
|
40
|
+
- record/replay/verify MCP sessions
|
|
41
|
+
- detect schema drift
|
|
42
|
+
- run lightweight MCP security checks
|
|
43
|
+
- create static enterprise reports from artifacts
|
|
44
|
+
|
|
45
|
+
## Certification Proof
|
|
46
|
+
|
|
47
|
+
The certification campaign is designed to create public proof through accepted maintainer PRs.
|
|
48
|
+
|
|
49
|
+
Accepted third-party integrations will be tracked here:
|
|
50
|
+
|
|
51
|
+
| Repo | PR | Check Added | Badge Added | Status |
|
|
52
|
+
| --- | --- | --- | --- | --- |
|
|
53
|
+
| _pending_ | | | | |
|
|
54
|
+
|
|
55
|
+
## Commercial Proof
|
|
56
|
+
|
|
57
|
+
Current paid positioning is pilot-first:
|
|
58
|
+
|
|
59
|
+
- Team Pilot: starts at `$299/month`
|
|
60
|
+
- Business Pilot: starts at `$999/month`
|
|
61
|
+
- Enterprise Pilot: starts at `$3k/month`
|
|
62
|
+
- Strategic Accounts: custom, `$250k+/year`
|
|
63
|
+
|
|
64
|
+
Paid value is production use: hosted reporting, private repo CI history, security reports, certification, support, fleet visibility, and enterprise review.
|
|
65
|
+
|
|
66
|
+
## Claims Policy
|
|
67
|
+
|
|
68
|
+
Use public proof for public claims. Company-domain telemetry signals are private and should only be used internally for outreach unless a customer gives permission or there is independent public evidence.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Publish And Distribution Readiness
|
|
2
|
+
|
|
3
|
+
Use this checklist before a commercialization push. The goal is to increase distribution and start paid conversations without locking the project into a permanent licensing or product shape.
|
|
4
|
+
|
|
5
|
+
## Release Gate
|
|
6
|
+
|
|
7
|
+
Run:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm run lint
|
|
11
|
+
npm run typecheck
|
|
12
|
+
npm run build
|
|
13
|
+
npm test
|
|
14
|
+
npm run validate:artifacts
|
|
15
|
+
npm audit --json
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Confirm:
|
|
19
|
+
|
|
20
|
+
- GitHub Action target scans support `deep`, `security`, and baseline drift failure.
|
|
21
|
+
- `schemas/run-artifact.schema.json` and `schemas/diff-artifact.schema.json` validate current artifacts.
|
|
22
|
+
- HTTP target examples use env references instead of inline tokens.
|
|
23
|
+
- Security findings appear in artifact evidence as structured `findings`.
|
|
24
|
+
- Hosted upload is available through `mcp-observatory cloud upload <artifact>` when `MCP_OBSERVATORY_CLOUD_TOKEN` is set.
|
|
25
|
+
|
|
26
|
+
## Public Distribution
|
|
27
|
+
|
|
28
|
+
- Merge the health/commercialization PR.
|
|
29
|
+
- Update the GitHub repo homepage to the README or commercial page.
|
|
30
|
+
- Publish npm only after the release gate is green.
|
|
31
|
+
- Refresh MCP directory listings with: “MCP Observatory helps teams test, secure, and monitor MCP servers before agents depend on them.”
|
|
32
|
+
- Include “free for local OSS use; paid for hosted reporting, private repo CI, security reports, production monitoring, certification, support, and fleet visibility.”
|
|
33
|
+
- Link production users to `COMMERCIAL.md` and `william@banksey.com`.
|
|
34
|
+
- Submit or refresh listings on Glama, PulseMCP, Smithery, and relevant awesome-MCP lists with the tags: security, developer tools, CI/CD, testing, observability, schema drift.
|
|
35
|
+
- Use the certification distribution loop to open helpful PRs against popular MCP server repos and convert accepted PRs into proof points.
|
|
36
|
+
- Link public proof, the safety report, and directory listing copy from launch/outreach materials.
|
|
37
|
+
|
|
38
|
+
## Sales Operating Loop
|
|
39
|
+
|
|
40
|
+
1. Export telemetry rows privately.
|
|
41
|
+
2. Run:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npx tsx scripts/telemetry-company-intelligence.ts --input telemetry-events.jsonl --out-dir reports
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
3. Review `reports/telemetry-company-intelligence.html`.
|
|
48
|
+
4. Contact the top 25 high-confidence company/org candidates.
|
|
49
|
+
5. For large or strategic domains, quote Strategic only and ask for a security/procurement path.
|
|
50
|
+
6. Use hosted artifact upload or static enterprise reports before building a full SaaS dashboard.
|
|
51
|
+
|
|
52
|
+
## Hosted Upload
|
|
53
|
+
|
|
54
|
+
CLI:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
export MCP_OBSERVATORY_CLOUD_TOKEN="pilot-token"
|
|
58
|
+
export MCP_OBSERVATORY_ORG="customer.com"
|
|
59
|
+
npx @kryptosai/mcp-observatory cloud upload .mcp-observatory/runs/<run>.json
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Worker:
|
|
63
|
+
|
|
64
|
+
- `POST /api/v1/artifacts` stores a run artifact behind bearer-token auth.
|
|
65
|
+
- `GET /api/v1/artifacts/:org` returns the org artifact index behind the same auth.
|
|
66
|
+
- Hosted scans reject localhost/private-network targets; use local CLI for internal MCP servers.
|
|
67
|
+
|
|
68
|
+
## What Not To Do Yet
|
|
69
|
+
|
|
70
|
+
- Do not change the MIT license until paid signal demands it.
|
|
71
|
+
- Do not hard-paywall existing local OSS checks.
|
|
72
|
+
- Do not build a full dashboard before a buyer asks for dashboard workflows.
|
|
73
|
+
- Do not publish raw telemetry emails or individual PII in public materials.
|