MCP, MCP server
Mcp X
Mcp X, an MCP server listed in the PlugVet directory.
Compatibility: Not stated.
Grade C
One Medium finding. Read the findings before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit 958de4c9f8c6, unchanged since the check below.
INSTALL_LIFECYCLE_HOOK
Why this grade
- INSTALL_LIFECYCLE_HOOK Medium
A package install hook (preinstall, install, postinstall or prepare) runs a script.
package.json, line 25
postinstall
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
scripts/download-node.ts, line 21
fs.unlink(dest, () => reject(err))
scripts/download-python.ts, line 20
fs.unlink(dest, () => reject(err))
scripts/download-uv.ts, line 83
fs.unlink(dest, () => reject(err))
Show more
services/syscmd/index.ts, line 23
return this.commands.get(key);
services/utils/fileHandler.ts, line 55
await fs.unlink(file.path); // Delete newly uploaded file
Install and update
Concern
runs a script at install time.
INSTALL_LIFECYCLE_HOOK
package.json, line 25
postinstall
Network
Concern
can reach a host that is not written as a fixed address. can reach api.github.com. The description does not name that host. can reach mcp-x.com. The description does not name that host.
NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST
electron/main/protocol.ts, line 31
return net.fetch(url)
electron/main/protocol.ts, line 38
return net.fetch(`file://${assetPath}`)
electron/main/util.ts, line 62
return fetch("https://api.github.com/repos/TimeCyber/MCP-X/releases/latest")
Show more
electron/main/ipc/llm.ts, line 162
let response = await fetch(url)
scripts/download-node.ts, line 14
https.get(url, (response) => {
scripts/download-python.ts, line 13
https.get(url, (response) => {
scripts/download-uv.ts, line 55
const request = https.get(url, {
services/client.ts, line 43
response = await axios.get(url, { timeout: 1000 });
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_UNCONFIRMED
services/database/index.ts, line 313
const decoded = jwt.verify(token, process.env.JWT_SECRET || "");
services/mcpServer/index.ts, line 65
return { ...acc, ...config.mcpServers[serverName].env };
src/views/Welcome.tsx, line 74
(mcpConfig.mcpServers[name].env &&
Show more
src/views/Welcome.tsx, line 75
Object.entries(mcpConfig.mcpServers[name].env).some(([key]) =>
src/views/Welcome.tsx, line 250
(newConfig.mcpServers[name].env &&
src/views/Welcome.tsx, line 251
Object.entries(newConfig.mcpServers[name].env).some(([key]) =>
src/views/Chat/ChatInput.tsx, line 209
(mcpConfig.mcpServers[name].env &&
src/views/Chat/ChatInput.tsx, line 210
Object.entries(mcpConfig.mcpServers[name].env).some(([key]) =>
src/views/Chat/ChatInput.tsx, line 307
(newConfig.mcpServers[name].env &&
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Concern
contains an encoded blob in a file that should be readable.
OBFUSCATION_ENCODED_BLOB
package-lock.json, line 1
{
public/image/model_ollama.svg, line 7
<image id="image0_269_2324" width="1000" height="1000" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAPoCAYAAABNo9TkAAAACXBIWXMAAAsTAAAL
public/image/model_openai.svg, line 7
<image id="image0_269_2332" width="2021" height="2048" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB+UAAAgACAMAAADHShHxAAAABGdBTUEAALGPC/xh
Show more
public/image/model_openai_compatible.svg, line 7
<image id="image0_269_2348" width="980" height="980" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9QAAAPUCAYAAABM1HGEAAAAAXNSR0IArs4c6QAAIA
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 958de4c9f8c6. can delete files. runs a script at install time. can reach a host that is not written as a fixed address. can reach api.github.com. The description does not name that host. can reach mcp-x.com. The description does not name that host. reads a credential or environment file. contains an encoded blob in a file that should be readable.
Date and source
Date checked:
github.com
Commit graded: 958de4c9f8c64bdc4cc942f5e433df5bf361313a
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.