dine-mcp@0.3.0
VERIFIED· not startedPublisher claims: "Enables MCP clients, the command line, and Python to find restaurants and check read-only table availability across SevenRooms, TableCheck, ResDiary, and other booking systems. It returns provider booking links and prefilled pages without booking, holding, or cancelling tables." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Not started: dependency install failed; the server itself was not observed.- Tested
- install scripts, with decoy credentials in place · second launch with the clock 45 days ahead · 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
MCP_BEARER_TOKENConfiguration, not credentials: DINE_EXPECTED_PROVIDER_KEYS, DINE_EXPECTED_SURFACE, DINE_HOST, DINE_PORT, DINE_SMOKE_STATE, DINE_STATE_DIR- Where it talks to
- no vendor host named in the codeAlso formitable.com, zenchef.com, example.invalid, catchtable.co.kr, resdiary.com — not the publisher's domain; check what for before connecting.
- 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, and read the third-party hosts first. The code names formitable.com, zenchef.com, example.invalid, catchtable.co.kr, resdiary.com as well as its own vendor. The guard injects MCP_BEARER_TOKEN only into requests to the host you bind (and its subdomains) and refuses the rest.
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 (3 scenarios; not started: dependency install failed; the server itself was not observed) on 2026-11-12 and scored it 85/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 · 0 s · 3 scenarios · 0 deviationsStatic findings
invalid = subprocess.run(["dine-mcp", "--port", "invalid"], capture_output=True, text=True, timeout=15)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.(reports / f"{name}.log").write_bytes(output)Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.MCP server benjamin-di/dine-mcp-server on Glama, built from https://github.com/benjamin-di/dine-mcp-server.Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.&& rm -rf /app/src /tmp/embed-build-identity.pyFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.&& rm -f /tmp/requirements-runtime.lock \Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.return subprocess.check_output(["git", *args], cwd=root)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.proc = subprocess.run(Fix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.RUN python /tmp/runtime-installer.py && rm /tmp/runtime-installer.pyFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.RUN mkdir -p /state && chown 1000:1000 /stateFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.help_result = subprocess.run(["dine-mcp", "find", "--help"], capture_output=True, text=True, timeout=15)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.Cost to the agent
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
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.