storybook-mcp-server
v0.1.3MCP server for Storybook - provides AI assistants access to components, stories, properties and screenshots
21
Total
6
Critical
15
High
0
Medium
Findings
unknownEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
14: type: 'string',
15: describe: 'URL of the Storybook instance',
>>> 16: default: process.env.STORYBOOK_URL || 'http://localhost:6006',
17: alias: 'url',
18: },Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
20: type: 'string',
21: describe: 'Directory to save screenshots',
>>> 22: default: process.env.SCREENSHOT_OUTPUT_DIR || './screenshots',
23: alias: 'output',
24: },Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
27: describe: 'Logging level',
28: choices: ['error', 'warn', 'info', 'debug'],
>>> 29: default: process.env.LOG_LEVEL || 'info',
30: },
31: })Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
7: const winston_1 = __importDefault(require("winston"));
8: const path_1 = __importDefault(require("path"));
>>> 9: const logLevel = process.env.LOG_LEVEL || 'info';
10: const isMCPMode = !process.env.NODE_ENV || process.env.NODE_ENV === 'production' || process.env.MCP_MODE === 'true';
11: exports.logger = winston_1.default.createLogger({Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
8: const path_1 = __importDefault(require("path"));
9: const logLevel = process.env.LOG_LEVEL || 'info';
>>> 10: const isMCPMode = !process.env.NODE_ENV || process.env.NODE_ENV === 'production' || process.env.MCP_MODE === 'true';
11: exports.logger = winston_1.default.createLogger({
12: level: logLevel,Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
28: });
29: // Only add console output for development/testing, never for MCP mode
>>> 30: if (!isMCPMode && process.env.NODE_ENV === 'development') {
31: exports.logger.add(new winston_1.default.transports.Console({
32: format: winston_1.default.format.combine(winston_1.default.format.colorize(), winston_1.default.format.simple()),Report false positiveNode.js child process spawning
Detected by automated pattern matching (rule SC-005) with medium confidence. May be a false positive.
>>> 1: import { ChildProcess } from 'child_process';
2: export interface StorybookConfig {
3: url: string;Report false positiveDecoded base64 content: ��bu�^J�+ɺ(�J�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ~)�F��x���n�$
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: u�^r��rF�xƧj�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveNode.js child process spawning
Detected by automated pattern matching (rule SC-005) with medium confidence. May be a false positive.
7: const fs_1 = require("fs");
8: const path_1 = __importDefault(require("path"));
>>> 9: const child_process_1 = require("child_process");
10: const axios_1 = __importDefault(require("axios"));
11: const logger_1 = require("./logger");Report false positiveNode.js child process spawning
Detected by automated pattern matching (rule SC-005) with medium confidence. May be a false positive.
93: // Launch Storybook
94: logger_1.logger.info(`Launching Storybook from ${projectPath} using ${packageManager} run ${storybookScript}`);
>>> 95: const process = (0, child_process_1.spawn)(packageManager, ['run', storybookScript], {
96: cwd: projectPath,
97: stdio: ['ignore', 'pipe', 'pipe'],Report false positiveDecoded base64 content: ��bu�^J�+ɺ(�J�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ~)�F��x���n�$
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ��bu�^J�+ɺ(�J�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ~)�F��x���n�$
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ��bu�^J�+ɺ(�J�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: u�^r��rF�xƧj�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ��bu�^J�+ɺ(�J�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: u�^r��rF�xƧj�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: ��bu�^J�+ɺ(�J�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveScan History
| Date | Risk | Findings | Files | Duration |
|---|---|---|---|---|
| Feb 27, 2026 | critical | 21 | 28 | 0.00s |
| Feb 25, 2026 | critical | 21 | 28 | 0.00s |
| Feb 23, 2026 | critical | 21 | 28 | 0.00s |
| Feb 22, 2026 | critical | 21 | 28 | 0.00s |