modelcontextprotocol/servers
Powerful capabilities — review before trusting.
View source ↗AI review
The repository contains test code that accesses environment variables and performs filesystem operations, but these are confined to test suites and do not represent runtime risks. The `get-env.ts` tool exposes all environment variables, which could leak secrets if deployed without restriction, but this is part of the 'everything' reference server intended for demonstration. No hidden instructions or prompt injection vectors were found.
- medium Environment variable exposure in 'everything' server — src/everything/tools/get-env.ts:34 returns JSON.stringify(process.env) which exposes all environment variables, including potential secrets. This is a reference/demo server, but if used in production, it could leak credentials.
- low Test code accesses environment variables and filesystem — Multiple test files (e.g., src/everything/__tests__/tools.test.ts, src/filesystem/__tests__/lib.test.ts) read or set environment variables and perform filesystem operations. These are test-only and not exploitable at runtime.
- low Sensitive file path references in tests — src/filesystem/__tests__/lib.test.ts and path-validation.test.ts reference '/etc/passwd' in test assertions. This is for path traversal validation testing and not a real vulnerability.
Model: deepseek-chat
Static findings
Outbound network · Makes outbound network requests
CLAUDE.md:17
fetch/ Py mcp-server-fetch (web content fetching)
src/everything/tools/gzip-file-as-resource.ts:195
const response = await fetch(url, { signal: controller.signal });
Shell / command execution · Executes shell / system commands
scripts/release.py:42
subprocess.run(
src/filesystem/__tests__/startup-validation.test.ts:2
import { spawn } from 'child_process';
src/filesystem/__tests__/structured-content.test.ts:7
import { spawn } from 'child_process';
Environment variables (config / keys) · Reads environment variables (config / API keys)
src/everything/__tests__/tools.test.ts:164
process.env.TEST_VAR_EVERYTHING = 'test_value';
src/everything/tools/get-env.ts:34
text: JSON.stringify(process.env, null, 2),
src/everything/tools/gzip-file-as-resource.ts:12
process.env.GZIP_MAX_FETCH_SIZE ?? String(10 * 1024 * 1024)
src/everything/transports/sse.ts:74
const PORT = process.env.PORT || 3001;
src/everything/transports/streamableHttp.ts:201
const PORT = process.env.PORT || 3001;
src/memory/__tests__/file-path.test.ts:16
originalEnv = process.env.MEMORY_FILE_PATH;
src/memory/index.ts:16
if (process.env.MEMORY_FILE_PATH) {
src/sequentialthinking/__tests__/lib.test.ts:21
process.env.DISABLE_THOUGHT_LOGGING = 'true';
src/sequentialthinking/lib.ts:21
this.disableThoughtLogging = (process.env.DISABLE_THOUGHT_LOGGING || "").toLowerCase() === "true";
Filesystem writes · Reads or writes the filesystem
src/filesystem/__tests__/directory-tree.test.ts:73
await fs.rm(testDir, { recursive: true, force: true });
src/filesystem/__tests__/path-validation.test.ts:29
await fs.rm(testDir, { recursive: true, force: true });
src/filesystem/__tests__/startup-validation.test.ts:53
await fs.rm(testDir, { recursive: true, force: true });
src/filesystem/__tests__/structured-content.test.ts:50
await fs.rm(testDir, { recursive: true, force: true });
src/filesystem/lib.ts:177
await fs.unlink(tempPath);
src/git/tests/test_server.py:33
shutil.rmtree(repo_path)
src/memory/__tests__/file-path.test.ts:31
await fs.unlink(oldMemoryPath);
src/memory/__tests__/knowledge-graph.test.ts:23
await fs.unlink(testFilePath);
Sensitive credential files · Reads sensitive credential files
src/filesystem/__tests__/lib.test.ts:170
const testPath = process.platform === 'win32' ? 'C:\\Windows\\System32\\file.txt' : '/etc/passwd';
src/filesystem/__tests__/path-validation.test.ts:75
expect(isPathWithinAllowedDirectories('/etc/passwd', allowed)).toBe(false);
src/git/src/mcp_server_git/server.py:137
# working tree to prevent path traversal (e.g. '../../etc/passwd' or an
Scanning every extension your team installs?
Pro & Team add monitoring, private scans, and a CI gate for unsafe extensions.
MCPVet is a heuristic aid, not a security guarantee. A clean grade does not prove an extension is safe; always review code and instructions you don't trust.