MCP, MCP server
mcpdog
Universal MCP Server Manager - Configure Once, Manage Everything!
Compatibility: Not stated.
Grade B
Minor issues only, no Medium or High. Worth a quick look at the findings below before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit a008041fbaff, unchanged since the check below.
PERMISSION_DELETE_FILES NETWORK_NO_FIXED_HOST SECRETS_PATH_DOTENV SECRETS_ENV_READ OBFUSCATION_FILE_OVER_READ_CAP
Why this grade
- PERMISSION_DELETE_FILES Low
Contains a call that can delete files.
src/cli/commands/daemon-commands.ts, line 195
await fs.unlink(pidFile); - NETWORK_NO_FIXED_HOST Low
Makes a network call whose host is not written as a fixed address.
scripts/test-npx.sh, line 65
curl -s -o /dev/null -w "%{http_code}" http://localhost:3002 - SECRETS_PATH_DOTENV Low
Mentions a .env file.
web/.gitignore, line 45
# dotenv environment variables file - SECRETS_ENV_READ Note
Reads an environment variable whose name contains KEY, SECRET, TOKEN, PASSWORD or CREDENTIAL.
src/daemon/daemon-web-server.ts, line 58
const authToken = process.env.MCPDOG_AUTH_TOKEN; - OBFUSCATION_FILE_OVER_READ_CAP Note
A file was over the read cap and was not fully read.
package-lock.json, line 1
{
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Concern
can delete files.
PERMISSION_DELETE_FILES
src/cli/commands/daemon-commands.ts, line 195
await fs.unlink(pidFile);
src/cli/commands/proxy-command.ts, line 145
await fs.unlink(pidFile);
src/config/config-manager.ts, line 76
fs.unlink(testFile).catch(() => {});
Show more
src/daemon/mcpdog-daemon.ts, line 430
await fs.unlink(this.config.pidFile);
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Concern
can reach a host that is not written as a fixed address.
NETWORK_NO_FIXED_HOST
scripts/test-npx.sh, line 65
curl -s -o /dev/null -w "%{http_code}" http://localhost:3002
src/core/protocol-detector.ts, line 73
const response = await axios.post(endpoint, {
src/core/protocol-detector.ts, line 167
const response = await axios.get(sseEndpoint, {
Show more
src/core/protocol-detector.ts, line 197
const postResponse = await axios.post(`${endpoint}/mcp`, {
src/core/protocol-detector.ts, line 249
const response = await axios.get(endpoint, {
web/src/components/ClientConnections.tsx, line 22
const response = await fetch('/api/daemon/clients');
web/src/components/ConfigManagement.tsx, line 33
const response = await fetch('/api/config');
web/src/components/ConfigManagement.tsx, line 48
const response = await fetch('/api/config', {
web/src/components/ConfigManagement.tsx, line 59
await fetch('/api/daemon/reload', { method: 'POST' });
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_DOTENV
src/daemon/daemon-web-server.ts, line 58
const authToken = process.env.MCPDOG_AUTH_TOKEN;
src/daemon/mcpdog-daemon.ts, line 370
const authToken = process.env.MCPDOG_AUTH_TOKEN;
web/.gitignore, line 45
# dotenv environment variables file
Show more
.dockerignore, line 10
# Ignore local configs and secrets
web/.gitignore, line 46
.env
web/.gitignore, line 47
.env.local
web/.gitignore, line 48
.env.development.local
web/.gitignore, line 49
.env.test.local
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Note
a file was over the read cap and was not fully read.
OBFUSCATION_FILE_OVER_READ_CAP
package-lock.json, line 1
{
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit a008041fbaff. can delete files. can reach a host that is not written as a fixed address. reads a credential or environment file. a file was over the read cap and was not fully read.
Date and source
Date checked:
github.com
Commit graded: a008041fbaff1c03a5c653044144a2b15fc75233
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.