Skills/npm/frontmcp

frontmcp@1.11.3

VERIFIED· startup only

Publisher claims: "The FrontMCP CLI: create, run, test and build MCP servers, and install FrontMCP skills for coding agents" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher agentfront · publishing for 382 daysInstalls 14,751Last detonated 3d ago
$claude mcp add frontmcp -- npx -y frontmcp
WatchReport an issue

Coverage

Startup only; authenticated tool behavior not tested.
Tested
server startup over stdio (initialize sent) · every file read, file written and host contacted by what ran
Not tested
the tool list (the server exited before answering) · what the tools do when called with real credentials

What this means for the label: Verified here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.

Before you give it your token

It will ask for
MY_API_KEYConfiguration, not credentials: LOGIN_PATH, QUESTIONS_PATH
Where it talks to
frontmcp.dev (its own)
What the honeypot saw
no credential files read · no network
What we could not test
the tool list (the server exited before answering) · what the tools do when called with real credentials

Connect it with a scoped credential, under the guard. It asks for MY_API_KEY and talks to frontmcp.dev. Give the credential to the guard, not the server: the value never enters the server's environment and only travels to the host you bind. What the tools do with a real credential was not observed.

$vet-skills run --secrets MY_API_KEY=frontmcp.dev -- npx -y frontmcp

Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; startup only; authenticated tool behavior not tested) on 2026-11-11 and scored it 81/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 28 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
7.5sprocessdependency install exit 0
27sclaimedstartup only: exited (0) before answering · '/tmp/ks-detonate-FnEptg/task/home/work/acme-api/.claude/skills/frontmcp/src/core/cli.js' ] } Node.js v22.23.4
27sprocessscript backend runs setup only
28sprocessno install scripts to re-run

Static findings

HIGH
Access to sensitive file pathssrc/commands/dev/test.js:236 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* then the real environment \u2014 which already contains `.env` values, loadedFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/dev/dev.d.ts:68 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files/** Where notices (port, `.env`) go; `--stdio` keeps stdout for JSON-RPC. */Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/dev/dev.js:154 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files// included via `resolved.effectiveEnv`. `.env`/`.env.local` already loadedFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/pm/socket.js:83 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files// under the real environment (incl. .env), which winsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/dev/test.d.ts:68 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* then the real environment — which already contains `.env` values, loadedFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/pm/start.js:26 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files// directory (bundle + the .env the installer wrote) unless --entry overrides.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/dev/dev.js:115 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files// Load .env and .env.local files (these win over config env overlays forFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/dev/test.d.ts:87 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* frontmcp test --no-env # Skip .env loading for a hermetic runFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/dev/test.js:230 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* Issue #540: `frontmcp dev` loaded `.env` / `.env.local` but `frontmcp test`Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/dev/test.js:238 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* local `.env`.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/config/project-root.js:8 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* command reads (`tsconfig.json`, `package.json`, `.env`) is relative to theFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/build/index.js:330 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesruntimeEnv: { ...(0, deployment_env_1.serverRuntimeEnv)(server, { listens }), ...deployment?.env },Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/pm/start.js:32 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files// frontmcp.config `env.shared` \u2295 `env.ship`; the real environment (incl. .env) still winsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/dev/test.js:254 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* frontmcp test --no-env # Skip .env loading for a hermetic runFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/dev/test.d.ts:70 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* local `.env`.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/build/index.js:217 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesenv: deployment?.env,Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/pm/ship-env.js:14 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* Callers layer the real environment on top, so OS / CI / `.env` values win \u2014Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/commands/dev/test.d.ts:62 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* Issue #540: `frontmcp dev` loaded `.env` / `.env.local` but `frontmcp test`Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/shared/tool-command.js:143 · npx invocation of non-well-known package — may execute untrusted code// Set by npm for every script it runs (`npm run dev`, `npx frontmcp`).Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/commands/build/index.js:79 · File type combined with upload action — agent may exfiltrate local data filesconsole.log((0, colors_1.c)('green', ` Created deployment output structure`));Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/commands/dev/test.js:367 · npx invocation of non-well-known package — may execute untrusted code// Run the project's Jest with node, without a shell (npx when it is notFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/commands/pm/spawn.js:97 · npx invocation of non-well-known package — may execute untrusted code// #731 \u2014 the project's tsx run with node (npx when it is not installed); no shell, so it starts on Windows too.Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/core/help.js:30 · npx invocation of non-well-known package — may execute untrusted code'npx frontmcp create my-mcp # Scaffold a new project',Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/commands/dev/test.d.ts:5 · npx invocation of non-well-known package — may execute untrusted code* Build the args passed to `npx jest`. Extracted from `runTest` so the argsFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Process kill commandsrc/commands/pm/restart.js:17 · Process kill command — agent can terminate processes// The restarted child belongs to this process; exiting here would kill it.Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/shared/tsc.d.ts:37 · npx invocation of non-well-known package — may execute untrusted code* Issue #534: the build used to shell out to `npx tsc`. `npx` starts a freshFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Process kill commandsrc/commands/pm/spawn.js:52 · Process kill command — agent can terminate processes// Wait for graceful shutdown, then force killFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/commands/pm/socket.js:94 · npx invocation of non-well-known package — may execute untrusted code// #731 \u2014 the project's tsx run with node (npx when it is not installed); no shell, so it starts on Windows too.Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Process kill commandsrc/commands/pm/register.js:23 · Process kill command — agent can terminate processes.option('-f, --force', 'Force kill (SIGKILL instead of SIGTERM)')Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathssrc/shared/env.js:15 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* Parse a .env file content into key-value pairs.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/shared/env.d.ts:2 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* Parse a .env file content into key-value pairs.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Process kill commandsrc/commands/dev/dev.js:231 · Process kill command — agent can terminate processes// #679 \u2014 `kill <pid>` (SIGTERM or SIGINT to this process alone) used to exitFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/shared/tsc.js:63 · npx invocation of non-well-known package — may execute untrusted code* NOT the TypeScript compiler \u2014 a bare `npx -y tsc` would download and run it.Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/shared/tsc.js:83 · npx invocation of non-well-known package — may execute untrusted code* Issue #534: the build used to shell out to `npx tsc`. `npx` starts a freshFix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Access to sensitive file pathssrc/shared/env.d.ts:15 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* Load environment variables from .env files (synchronous).Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/shared/env.js:63 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* Load environment variables from .env files (synchronous).Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File type combined with upload actionsrc/commands/build/index.js:116 · File type combined with upload action — agent may exfiltrate local data filesconsole.log((0, colors_1.c)('green', ` Updated ${template.configFileName} (build output reference)`));Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
Process kill commandsrc/commands/pm/manager.js:41 · Process kill command — agent can terminate processes// No local supervisor \u2014 try to kill by PID fileFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/commands/dev/test.js:39 · npx invocation of non-well-known package — may execute untrusted code* Build the args passed to `npx jest`. Extracted from `runTest` so the argsFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/shared/tsc.d.ts:25 · npx invocation of non-well-known package — may execute untrusted code* NOT the TypeScript compiler — a bare `npx -y tsc` would download and run it.Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/commands/dev/dev.js:284 · npx invocation of non-well-known package — may execute untrusted code* fallback names the `typescript` package: `npx -y tsc` would fetch theFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Process kill commandsrc/commands/pm/manager.js:77 · Process kill command — agent can terminate processes// Force kill if still aliveFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
File type combined with upload actionsrc/commands/build/index.js:74 · File type combined with upload action — agent may exfiltrate local data filesconsole.log((0, colors_1.c)('green', ` Created bundle: ${template.bundleOutput}`));Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
HIGH
Access to sensitive file pathssrc/shared/env.d.ts:10 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* @param content - Raw content of a .env fileFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/shared/tool-command.js:123 · npx invocation of non-well-known package — may execute untrusted code* `process.execPath`, or `npx <spec.npx> <args>` when no directory in `from`Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/commands/dev/dev.d.ts:91 · npx invocation of non-well-known package — may execute untrusted code* fallback names the `typescript` package: `npx -y tsc` would fetch theFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/commands/build/index.js:401 · File type combined with upload action — agent may exfiltrate local data filesconsole.log((0, colors_1.c)('gray', `Output placed in ${path.relative(cwd, outDir)}`));Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
HIGH
Access to sensitive file pathssrc/shared/env.js:23 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* @param content - Raw content of a .env fileFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File type combined with upload actionsrc/commands/pm/logs.js:41 · File type combined with upload action — agent may exfiltrate local data filesconsole.log((0, colors_1.c)('gray', `No log output for "${name}".`));Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/shared/tool-command.js:14 · npx invocation of non-well-known package — may execute untrusted code* 2. npm / npx on Windows: npm's own `npm-cli.js` / `npx-cli.js` \u2014 fromFix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Access to sensitive file pathssrc/shared/env.js:64 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* Follows NestJS-style priority: .env.local overrides .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathssrc/shared/env.d.ts:16 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files* Follows NestJS-style priority: .env.local overrides .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/shared/tsc.js:107 · npx invocation of non-well-known package — may execute untrusted code// #731 \u2014 on Windows yarn/pnpm/npx are `.cmd` shims a shell-less spawn cannot start.Fix: Pin versions and sources; vendor anything fetched at install time.
AST06

Cost to the agent

Instructions loaded
≈60 tok
1 file · 81 in bundle
Tool list per prompt
≈0 tok
0 tools · 0 per tool
Handshake
no reply
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 0

Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.

Known vulnerabilities

No advisories in OSV for frontmcp@1.11.3 as of 3d ago. This is the package itself, not its dependencies.