skillssafe-mcp 1.0.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 SkillsSafe
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,95 @@
1
+ # skillssafe-mcp
2
+
3
+ [![npm version](https://badge.fury.io/js/skillssafe-mcp.svg)](https://www.npmjs.com/package/skillssafe-mcp)
4
+ [![MCP Registry](https://img.shields.io/badge/MCP%20Registry-com.skillssafe%2Fscanner-blue)](https://registry.modelcontextprotocol.io)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
6
+
7
+ **MCP server for [SkillsSafe](https://skillssafe.com)** — the security layer for AI agents.
8
+
9
+ Scan SKILL.md files, MCP configs, and system prompts for:
10
+ - 🔐 Credential theft & data exfiltration
11
+ - 💉 Prompt injection attacks
12
+ - 👻 Zero-width character attacks
13
+ - 🦠 ClawHavoc malware indicators
14
+ - 🐚 Shell injection & reverse shells
15
+ - 🔍 Scope creep & memory poisoning
16
+
17
+ **Free. No API key. No signup.**
18
+
19
+ ## Quick Start
20
+
21
+ ### Claude Desktop
22
+
23
+ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
24
+
25
+ ```json
26
+ {
27
+ "mcpServers": {
28
+ "skillssafe": {
29
+ "command": "npx",
30
+ "args": ["-y", "skillssafe-mcp"]
31
+ }
32
+ }
33
+ }
34
+ ```
35
+
36
+ ### Cursor
37
+
38
+ Add to `.cursor/mcp.json`:
39
+
40
+ ```json
41
+ {
42
+ "mcpServers": {
43
+ "skillssafe": {
44
+ "command": "npx",
45
+ "args": ["-y", "skillssafe-mcp"]
46
+ }
47
+ }
48
+ }
49
+ ```
50
+
51
+ ### Direct SSE (Remote)
52
+
53
+ For clients that support SSE transport:
54
+
55
+ ```
56
+ https://mcp.skillssafe.com/sse
57
+ ```
58
+
59
+ ## Tools
60
+
61
+ ### `scan_skill`
62
+
63
+ Scan an AI agent skill file for security threats before installation.
64
+
65
+ ```
66
+ Parameters:
67
+ url - URL of skill to scan (GitHub raw URL, ClawHub URL, etc.)
68
+ content - Raw text content of skill to scan (alternative to url)
69
+ lang - Response language: "en" | "zh" | "ja" (default: "en")
70
+
71
+ Returns:
72
+ decision - INSTALL / REVIEW / BLOCK
73
+ risk_score - 0–100
74
+ threats - List of detected threats with severity
75
+ scan_id - ID for retrieving full report
76
+ ```
77
+
78
+ ### `get_report`
79
+
80
+ Retrieve a previously generated scan report.
81
+
82
+ ```
83
+ Parameters:
84
+ scan_id - Scan ID returned by scan_skill
85
+ ```
86
+
87
+ ## Registry
88
+
89
+ - **Official MCP Registry**: `com.skillssafe/scanner`
90
+ - **Smithery**: [skillssafe](https://smithery.ai/server/skillssafe)
91
+ - **Glama**: [skillssafe-mcp](https://glama.ai/mcp/servers/GUCCI-atlasv/skillssafe-mcp)
92
+
93
+ ## License
94
+
95
+ MIT © SkillsSafe
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * SkillsSafe MCP Server
4
+ * Proxies stdio ↔ remote SSE endpoint at mcp.skillssafe.com
5
+ *
6
+ * Usage:
7
+ * npx skillssafe-mcp
8
+ *
9
+ * Config for Claude Desktop / Cursor / Codex:
10
+ * { "command": "npx", "args": ["-y", "skillssafe-mcp"] }
11
+ */
12
+
13
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
14
+ import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
15
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
16
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
17
+
18
+ const SSE_URL = "https://mcp.skillssafe.com/sse";
19
+
20
+ async function main() {
21
+ // Connect to SkillsSafe remote SSE server
22
+ const remoteClient = new Client(
23
+ { name: "skillssafe-mcp-proxy", version: "1.0.0" },
24
+ { capabilities: {} }
25
+ );
26
+ const sseTransport = new SSEClientTransport(new URL(SSE_URL));
27
+ await remoteClient.connect(sseTransport);
28
+
29
+ // Get capabilities from remote
30
+ const remoteInfo = remoteClient.getServerVersion();
31
+ const remoteCapabilities = remoteClient.getServerCapabilities();
32
+
33
+ // Create local stdio server that mirrors remote capabilities
34
+ const server = new Server(
35
+ { name: "skillssafe", version: remoteInfo?.version ?? "1.0.0" },
36
+ { capabilities: remoteCapabilities ?? {} }
37
+ );
38
+
39
+ // Forward all tool calls to remote
40
+ server.setRequestHandler({ method: "tools/list" }, async () => {
41
+ return await remoteClient.listTools();
42
+ });
43
+
44
+ server.setRequestHandler({ method: "tools/call" }, async (request) => {
45
+ return await remoteClient.callTool(request.params);
46
+ });
47
+
48
+ // Start stdio transport
49
+ const stdioTransport = new StdioServerTransport();
50
+ await server.connect(stdioTransport);
51
+ }
52
+
53
+ main().catch((err) => {
54
+ process.stderr.write(`SkillsSafe MCP error: ${err.message}\n`);
55
+ process.exit(1);
56
+ });
package/glama.json ADDED
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema": "https://glama.ai/mcp/servers/schema.json",
3
+ "name": "SkillsSafe Security Scanner",
4
+ "description": "Free AI agent skill security scanner. Scan SKILL.md files, MCP configs, and system prompts for credential theft, prompt injection, zero-width character attacks, and ClawHavoc malware indicators. No signup required.",
5
+ "homepage": "https://skillssafe.com",
6
+ "categories": ["security"],
7
+ "environment": []
8
+ }
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "skillssafe-mcp",
3
+ "version": "1.0.0",
4
+ "mcpName": "com.skillssafe/scanner",
5
+ "description": "MCP server for SkillsSafe — AI agent skill security scanner. Detects prompt injection, credential theft, zero-width character attacks, and ClawHavoc malware. Free, no API key required.",
6
+ "keywords": ["mcp", "security", "ai-safety", "prompt-injection", "skill-scanner", "clawhavoc"],
7
+ "author": "SkillsSafe",
8
+ "license": "MIT",
9
+ "homepage": "https://skillssafe.com",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/GUCCI-atlasv/skillssafe-mcp.git"
13
+ },
14
+ "bugs": {
15
+ "url": "https://github.com/GUCCI-atlasv/skillssafe-mcp/issues"
16
+ },
17
+ "type": "module",
18
+ "bin": {
19
+ "skillssafe-mcp": "./bin/skillssafe-mcp.js"
20
+ },
21
+ "engines": {
22
+ "node": ">=18"
23
+ },
24
+ "dependencies": {
25
+ "@modelcontextprotocol/sdk": "^1.10.2"
26
+ }
27
+ }