Skills/PyPI/py-mcp-travelplanner

py-mcp-travelplanner@0.1.20

VERIFIED· install only

Publisher claims: "Minimal Azure Policy engine with file and sdk backends" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry PyPI (MCP server)Publisher leonavevor · publishing for 370 daysInstalls 62Last detonated 1 h ago
$claude mcp add py-mcp-travelplanner -- uvx py-mcp-travelplanner
WatchReport an issue

Coverage

Nothing executable in the bundle ran; the trace covers the install step only.
Tested
every file read, file written and host contacted by what ran
Not tested
use of the skill by an agent

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
SERPAPI_KEYWEATHERSTACK_API_KEY
Where it talks to
no vendor host named in the codeAlso serpapi.com, weather.gov, weatherstack.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
use of the skill by an agent

Connect it with a scoped credential, under the guard, and read the third-party hosts first. The code names serpapi.com, weather.gov, weatherstack.com as well as its own vendor. The guard injects SERPAPI_KEY, WEATHERSTACK_API_KEY only into requests to the host you bind (and its subdomains) and refuses the rest.

$vet-skills run --net declared -- uvx py-mcp-travelplanner

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 (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-15 and scored it 82/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 · 1 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
0.0sprocessscript backend runs setup only
0.0sprocessscript backend runs setup only
0.0sprocessno install scripts to re-run

Static findings

HIGH
Access to sensitive file pathspy_mcp_travelplanner/cli_handlers.py:186 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"""Resolve SERPAPI_KEY from config (which loads from env, .env, yaml).Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Access to sensitive file pathstests/test_config.py:54 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"""Create a sample .env file."""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 pathspy_mcp_travelplanner/cli_handlers.py:234 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesa `.env` file (package or repo root). If the key is missing, it aborts byFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathspy_mcp_travelplanner/config.py:49 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesLOG.debug("python-dotenv not available, .env file support will be limited")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Access to sensitive file pathstests/test_tool_fix.py:12 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"""Ensure SERPAPI_KEY is available from environment or .env file."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Python subprocess execution detectedpy_mcp_travelplanner/cli_handlers.py:123 · Python subprocess execution detectedproc = subprocess.Popen(cmd, cwd=str(main_path.parent), env=env, start_new_session=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Process kill commandtests/test_pid_lifecycle.py:55 · Process kill command — agent can terminate processes# monkeypatch os.kill to simulate process existing then goneFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
Access to sensitive file pathstests/test_all_tools.py:15 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filespytest.skip("SERPAPI_KEY not found in environment. Please set it in .env file.")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Access to sensitive file pathstests/test_config.py:164 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"""Test that .env file overrides YAML config."""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 pathspy_mcp_travelplanner/config.py:8 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files2. .env file (in project root or specified path)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 pathspy_mcp_travelplanner/cli_handlers.py:155 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"""Load a .env file into a dict using python-dotenv for robust parsing.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Access to sensitive file pathstests/test_config.py:161 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"""Test .env file loading."""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 pathspy_mcp_travelplanner/config.py:24 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesMCP_ENV_FILE: Path to .env file (default: ./.env)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Process kill commandpy_mcp_travelplanner/cli_handlers.py:299 · Process kill command — agent can terminate processes# still alive -> force killFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
Access to sensitive file pathstests/test_all_tools.py:12 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"""Ensure SERPAPI_KEY is available from environment or .env file."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Python subprocess execution detectedtests/test_server_http_manifest.py:15 · Python subprocess execution detectedproc = subprocess.Popen([Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
Access to sensitive file pathspy_mcp_travelplanner/config.py:57 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files- .env filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Access to sensitive file pathstests/test_config.py:55 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesenv_file = temp_config_dir / ".env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Access to sensitive file pathstests/test_cli_handlers.py:12 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesp = tmp_path / ".env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Access to sensitive file pathstests/test_config.py:4 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesprecedence handling (env vars > .env file > YAML > defaults).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 pathspy_mcp_travelplanner/cli_handlers.py:245 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesraise RuntimeError('SERPAPI_KEY not found in environment or .env; aborting start.')Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
LOW
Context shift attemptREADME.md:317 · Context shift attempt — trying to change operational mode · informational: not an instruction file- `DEBUG_MODE` - Enable debug mode: `true`/`false` (default: `false`)Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
MEDIUM
Access to sensitive file pathstests/test_tool_fix.py:15 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filespytest.skip("SERPAPI_KEY not found in environment. Please set it in .env file.")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05

Cost to the agent

Instructions loaded
≈54 tok
1 file · 39 in bundle

Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.

Known vulnerabilities

No advisories in OSV for py-mcp-travelplanner@0.1.20 as of 47 min ago. This is the package itself, not its dependencies.