Skills/npm/mcp-server

mcp-server@32.0.97

VERIFIED· not started

Publisher claims: "BattleGrid MCP server — play crypto prediction games from AI agents" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher battlegrid · publishing for 258 daysInstalls 17,435Last detonated 26 min ago
$claude mcp add mcp-server -- npx -y @battlegrid/mcp-server
WatchReport an issue

Coverage

Not started: dependency install failed; the server itself was not observed.
Tested
the dependency install step · every file read, file written and host contacted by what ran
Not tested
server startup · the tool list · tool behavior

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
BATTLEGRID_API_KEYBATTLEGRID_API_KEYSConfiguration, not credentials: BATTLEGRID_API_URL
Where it talks to
battlegrid.trade (its own)
What the honeypot saw
no credential files read · no network
What we could not test
server startup · the tool list · tool behavior

Connect it with a scoped credential, under the guard. It asks for BATTLEGRID_API_KEY, BATTLEGRID_API_KEYS and talks to battlegrid.trade. 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 BATTLEGRID_API_KEY=battlegrid.trade,BATTLEGRID_API_KEYS=battlegrid.trade -- npx -y @battlegrid/mcp-server

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; not started: dependency install failed; the server itself was not observed) on 2026-11-14 and scored it 90/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 · 6 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
5.6sprocessdependency install exit 1 · (Use `node --trace-warnings ...` to show where the warning was created) npm error Cannot read properties of null (reading 'edgesOut') npm error A complete log of this run can be found in: /tmp/ks-detonate-qKpL3h/task/home/.npm/_logs/2026-11-14T20_23_35_683Z-debug-0.log
5.6sclaimednot started: dependency install failed (exit 1); the server itself was not observed
5.7sprocessscript backend runs setup only
5.7sprocessno install scripts to re-run

Static findings

MEDIUM
npx invocation of non-well-known packagedist/index.d.ts:29 · npx invocation of non-well-known package — may execute untrusted code* BATTLEGRID_API_KEY=bg_live_... npx @battlegrid/mcp-serverFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Process kill commanddist/index.js:499 · Process kill command — agent can terminate processes// background failure cannot kill a process that has already answered its handshake. The failure isFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
npx invocation of non-well-known packagedist/index.d.ts:30 · npx invocation of non-well-known package — may execute untrusted code* BATTLEGRID_API_KEYS=bg_live_aaa,bg_live_bbb npx @battlegrid/mcp-serverFix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Refusal suppressionskills/battlegrid-strategy-authoring/SKILL.md:370 · Refusal suppression — attempting to prevent safety responses- `warnings` — observations that never refuse. `NO_ENTRY_CONDITION` means the strategy declares noFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
MEDIUM
npx invocation of non-well-known packagedist/index.js:29 · npx invocation of non-well-known package — may execute untrusted code* BATTLEGRID_API_KEY=bg_live_... npx @battlegrid/mcp-serverFix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Refusal suppressionskills/battlegrid-strategy-examples/SKILL.md:449 · Refusal suppression — attempting to prevent safety responsesmay hold such content — staging never refuses a draft for being invalid — but its commit isFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
HIGH
Refusal suppressionskills/battlegrid-strategy-examples/SKILL.md:466 · Refusal suppression — attempting to prevent safety responsesopened after it, and an open position keeps the exit rules it opened with, so an open position neverFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
LOW
Refusal suppressionREADME.md:4228 · Refusal suppression — attempting to prevent safety responses · informational: not an instruction filerestated a configured cap of 32 as a looser 64 that never refused anything. `budgets.sections` andFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
LOW
Refusal suppressionREADME.md:2898 · Refusal suppression — attempting to prevent safety responses · informational: not an instruction fileoutside it, so a create that leaves a dial untouched is never refused for a value the platform seeded.Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
MEDIUM
npx invocation of non-well-known packagedist/index.js:30 · npx invocation of non-well-known package — may execute untrusted code* BATTLEGRID_API_KEYS=bg_live_aaa,bg_live_bbb npx @battlegrid/mcp-serverFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Process kill commandskills/battlegrid-radar-deployment/SKILL.md:237 · Process kill command — agent can terminate processesalways plays. A Radar preview simulates a running platform, so it never reports the kill switch or anFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
LOW
Refusal suppressionREADME.md:5430 · Refusal suppression — attempting to prevent safety responses · informational: not an instruction file… new create draft; the response carries the minted id. A stage that has written never refuses: the composed draft's errors and warnings come back as `diagnostics`. It is re…Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
LOW
Refusal suppressionREADME.md:1985 · Refusal suppression — attempting to prevent safety responses · informational: not an instruction fileinput that asks for less adds none. A tool that writes is never refused this way. The code also joins the draftFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01

Cost to the agent

Instructions loaded
≈68,637 tok
12 files · 27 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

Not checked against OSV yet; the weekly check has not reached this version.

mcp-server@32.0.97 safety verdict: Verified (not started) — KillerSkills