# CyberLens (npm · @shadoprizm/cyberlens-mcp-server)

Security scanning for websites, public repositories, and Open CLAW skills.

- Trust score: 68/100 (medium)
- Change this week: +44
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-05

## Components

- npm · `@shadoprizm/cyberlens-mcp-server`: 68/100 (this document), [markdown](https://verifymcp.io/servers/shadoprizm-cyberlens-mcp-server/shadoprizm-cyberlens-mcp-server.md), [page](https://verifymcp.io/servers/shadoprizm-cyberlens-mcp-server/shadoprizm-cyberlens-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `@shadoprizm/cyberlens-mcp-server`
- Version: `1.0.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-05.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 128 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 66/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1375 tokens (~137/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add shadoprizm-cyberlens-mcp-server -- npx -y @shadoprizm/cyberlens-mcp-server
```

### Codex

```bash
codex mcp add shadoprizm-cyberlens-mcp-server -- npx -y @shadoprizm/cyberlens-mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "shadoprizm-cyberlens-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@shadoprizm/cyberlens-mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add shadoprizm-cyberlens-mcp-server --command npx --arg -y --arg @shadoprizm/cyberlens-mcp-server
```

### Hermes

```yaml
mcp_servers:
  shadoprizm-cyberlens-mcp-server:
    command: "npx"
    args: ["-y", "@shadoprizm/cyberlens-mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "shadoprizm-cyberlens-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@shadoprizm/cyberlens-mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-05 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-03 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-02 (score 66, +46)

- [security regression] Provenance: unverified → fail
- [security improvement] Malware scan: unverified → pass
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Stability: unverified → 0.20
- [functional improvement] Schema quality: unverified → good
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional] Licence: MIT

### 2026-08-01 (score 20, +15)

- [functional improvement] Tool coverage: unverified → 100

### 2026-07-31 (score 5, −22)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 27, +3)

- [security regression] Malware scan: pass → unverified
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: unverified
- [functional] First check of Schema quality: fail

### 2026-07-28 (score 24, −2)

- [functional regression] Dependency health: partial → unverified

### 2026-07-27 (score 26)

First indexed and scored.

## MCP tools (10)

### `connect_account` (~109 tokens)

Connect your CyberLens account to this MCP server.

Opens your browser to cyberlensai.com where you can sign up for free or log in.
After authorizing, your API key is securely saved locally.

Free accounts get 5 scans/month. No credit card required.

If you already have an API key, you can also set the CYBERLENS_API_KEY
environment variable instead. Cloud tools can also launch this flow
automatically the first time repository or account-only tools need an account.

### `get_account_quota` (~89 tokens)

Get your CyberLens account quota and remaining cloud scans.

Returns:
\- Current plan name
\- Total scans used, limit, and remaining
\- Website scan usage
\- Repository or skill scan usage

Use this to confirm your account is connected and check how many cloud scans remain.
If no account is connected yet, the MCP server will launch the CyberLens
browser flow automatically before checking quota.

### `scan_claw_skill` (~214 tokens)

Scan an Open CLAW skill or plugin from CLAUDE Hub before installation.

Runs locally in the MCP server and understands CLAW skill packaging,
manifest permissions, and AI agent security models.

Performs comprehensive security analysis on:
\- CLAUDE Hub skill/plugin download links
\- Skill manifest files
\- Embedded code and dependencies

Checks for:
\- Hardcoded secrets and API keys in skill code
\- Vulnerable npm/pip dependencies
\- Insecure file operations
\- Suspicious network requests
\- Unsafe eval() or code injection patterns
\- Privilege escalation risks
\- Data exfiltration patterns
\- Permission scope appropriateness

Use this BEFORE installing any CLAW skill to ensure it's safe for your environment.

Examples:
\- CLAUDE Hub URL: https://clawhub.ai/username/skill-name
\- Plugin download: https://*.convex.site/api/v1/download?slug=skill-name

Input parameters:

- `skill_url` (string, required): CLAUDE Hub skill URL or direct skill download link

### `scan_website` (~187 tokens)

Scan a website for security vulnerabilities with a local quick mode and a full cloud mode.

Without a connected account, the MCP server runs a local quick scan immediately.
That local mode covers roughly 15 core checks such as HTTPS, security headers,
basic form issues, inline scripts, and server disclosure.

With a connected account, CyberLens starts the full cloud scan with 70+ checks.
That path returns a scan ID you can use with get_scan_results.

If cloud website quota is exhausted, CyberLens falls back to the local quick scan
automatically and opens the upgrade page.

Input parameters:

- `database_connection` (object): Optional database connection for database security scanning
- `scan_type` (string): Cloud scan profile. Local mode always uses a quick scan and warns if full or database was requested.
- `url` (string, required): The website URL to scan (e.g., https://example.com)

### `scan_repository` (~198 tokens)

Scan a public repository for secrets, dependency risks, and suspicious code patterns.

Uses the live CyberLens cloud repository scanner for:
\- Public GitHub, GitLab, and Bitbucket repositories
\- Supported CLAUDE Hub or direct ZIP download URLs

Checks for:
\- Exposed secrets and credentials
\- Vulnerable dependencies
\- Suspicious or risky code behavior
\- Trust posture and repository hygiene signals
\- Artifact and package reputation issues

Returns a scan ID that can be used with get_scan_results to retrieve findings.
If no account is connected yet, the MCP server will open the CyberLens
browser flow automatically and then continue the scan.

Input parameters:

- `branch` (string): Optional branch name to scan. Defaults to the repository's default branch.
- `depth` (string): Surface is faster. Deep runs a broader repository analysis.
- `repository_url` (string, required): The repository URL to scan (for example https://github.com/owner/repo)

### `get_scan_results` (~142 tokens)

Retrieve detailed findings from a completed security scan.

Returns:
\- Overall security score (0-100)
\- List of vulnerabilities with severity levels
\- CWE classifications
\- Specific recommendations for each finding
\- CVE references where applicable
\- Remediation guidance links

Use this after initiating a full cloud scan with scan_website or scan_repository.
Local quick website scans return findings immediately and do not produce a scan ID.
If no account is connected yet, the MCP server will connect first and then
retrieve the cloud scan result.

Input parameters:

- `scan_id` (string, required): The scan ID returned from scan initiation
- `severity_filter` (string): Filter results by severity level

### `get_security_score` (~101 tokens)

Get a quick security rating for a website.

Returns:
\- Overall security score (0-100)
\- Grade (A-F)
\- Key metrics summary
\- Quick wins for improvement

Without an account, this uses the local quick website scanner.
With an account, this uses the full CyberLens cloud path.
If cloud website quota is exhausted, CyberLens falls back to the local quick score automatically.

Input parameters:

- `url` (string, required): The website URL to check

### `get_remediation_guide` (~134 tokens)

Get detailed remediation guidance for a specific vulnerability or CWE.

Returns:
\- Explanation of the vulnerability
\- Step-by-step fix instructions
\- Code examples (before/after)
\- Testing procedures
\- Prevention strategies

Uses a built-in local guide library, so it still works even when no cloud guidance endpoint is available.

Input parameters:

- `context` (string): Additional context about your stack (e.g., 'react', 'express', 'django', 'claw-skill')
- `cwe_id` (string, required): CWE ID (e.g., 'CWE-79', 'CWE-89') or vulnerability name

### `get_scan_transparency` (~88 tokens)

Get an honest transparency report for this MCP server.

Returns:
\- Current MCP server version
\- Local check inventory and category counts
\- Which live cloud API endpoints this server actually uses
\- Recent changes to the MCP scan surface

Use this to understand exactly what this server checks locally and which cloud features are live.

Input parameters:

- `include_changelog` (boolean): Include recent changes to the scanner

### `validate_claw_skill` (~113 tokens)

Validate a CLAW skill manifest and configuration for security best practices.

Checks:
\- Skill manifest.json structure and required fields
\- Permission scopes (are they minimal?)
\- External API dependencies
\- File system access patterns
\- Environment variable usage
\- Plugin isolation safety

Use this before publishing a skill to CLAUDE Hub or for CI/CD validation.

Input parameters:

- `manifest_json` (string, required): The skill's manifest.json content as a string
- `skill_code` (string): Optional: main skill code for deeper analysis

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/shadoprizm-cyberlens-mcp-server/shadoprizm-cyberlens-mcp-server#diagnostics

## Score history

- 2026-08-05: 68
- 2026-08-04: 67
- 2026-08-03: 67
- 2026-08-02: 66
- 2026-08-01: 20
- 2026-07-31: 5
- 2026-07-30: 27
- 2026-07-28: 24
- 2026-07-27: 26

## Links

- npm package: https://www.npmjs.com/package/@shadoprizm/cyberlens-mcp-server
- Socket report: https://socket.dev/npm/package/@shadoprizm/cyberlens-mcp-server
- Repository: https://github.com/shadoprizm/cyberlens-mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/shadoprizm-cyberlens-mcp-server/shadoprizm-cyberlens-mcp-server/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/shadoprizm-cyberlens-mcp-server/shadoprizm-cyberlens-mcp-server/changelog.json
- HTML version of this page: https://verifymcp.io/servers/shadoprizm-cyberlens-mcp-server/shadoprizm-cyberlens-mcp-server
