← Scan another
Medium
github · 250 files analyzed

grafana/mcp-grafana

Powerful capabilities — review before trusting.

View source ↗
Outbound network 1
Environment variables (config / keys) 5
Shell / command execution 1
Sensitive credential files 1

AI review

No malicious or deceptive code found. The flagged items are standard development patterns (child process spawn, network fetch, env access) used legitimately for installation and testing. The path traversal in a test file is a unit test, not an exploit.

Model: deepseek-chat

Static findings

Shell / command execution · Executes shell / system commands

medium .claude-plugin/install-binary.mjs:3 import { spawn } from 'node:child_process';

Outbound network · Makes outbound network requests

low .claude-plugin/install-binary.mjs:83 const response = await fetch(url);

Environment variables (config / keys) · Reads environment variables (config / API keys)

low .claude-plugin/install-binary.mjs:11 const PLUGIN_ROOT = process.env.CLAUDE_PLUGIN_ROOT;
info tests/admin_test.py:27 grafana_url = os.environ.get("GRAFANA_URL", DEFAULT_GRAFANA_URL)
info tests/conftest.py:42 return os.environ.get("MCP_TRANSPORT", DEFAULT_MCP_TRANSPORT)
info tests/disable_write_test.py:11 env = {"GRAFANA_URL": os.environ.get("GRAFANA_URL", "http://localhost:3000")}
info tests/utils.py:41 mcp_url = os.environ.get("MCP_GRAFANA_URL", "http://localhost:8000")

Sensitive credential files · Reads sensitive credential files

info k8s_client_test.go:319 _, err := client.Get(context.Background(), testDashboardDesc, "default", "../../etc/passwd")

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.