Skills/PyPI/prompt2mcp

prompt2mcp@0.5.1

CAUTION· not started

Publisher claims: "Build MCP servers from natural language prompts — local-first, privacy-focused" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry PyPI (MCP server)Publisher jatintaori1904 · publishing for 256 daysInstalls 73Last detonated 1 h ago

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: Caution 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
API_KEYJWT_SECRETOPENAI_API_KEYWEBHOOK_SECRETConfiguration, not credentials: API_BASE_URL, DB_PATH, DEFAULT_FROM, JIRA_BASE_URL, JIRA_EMAIL, JWT_EXPIRY_HOURS, MAX_ROWS, OPENAI_BASE_URL, PIPELINE_DATA_DIR, SMTP_HOST, SMTP_PASS, SMTP_PORT, SMTP_USER, USERS_DB
Where it talks to
no vendor host named in the codeAlso nodejs.org, python.org, nodesource.com, slack.com, stripe.com, notion.com, notion.so, spotify.com, google.com, twitter.com, discord.com, linear.app, atlassian.net, atlassian.com, linkedin.com, microsoft.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 nodejs.org, python.org, nodesource.com, slack.com, stripe.com, notion.com, notion.so, spotify.com, google.com, twitter.com, discord.com, linear.app, atlassian.net, atlassian.com, linkedin.com, microsoft.com as well as its own vendor. The guard injects API_KEY, JWT_SECRET, OPENAI_API_KEY, WEBHOOK_SECRET only into requests to the host you bind (and its subdomains) and refuses the rest.

$vet-skills run --net declared -- uvx prompt2mcp

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-15 and scored it 68/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Hidden zero-width characters detected; Privileged sudo command; Prompting user to enter sensitive credentials. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 0 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
0.1sprocessdependency install exit 1 ·
0.1sclaimednot started: dependency install failed (exit 1); the server itself was not observed
0.1sprocessscript backend runs setup only
0.1sprocessno install scripts to re-run

Static findings

HIGH
Hidden zero-width characters detectedmcp_factory/cli/__init__.py:1 · Hidden zero-width characters detected — may conceal content"""MCP Factory CLI — Main entry point."""Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST07
HIGH
Privileged sudo commandmcp_factory/cli/__init__.py:56 · Privileged sudo command — agent may execute with elevated privilegesf" • Linux: [cyan]curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo bash -[/cyan]\n"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
CRITICAL
Prompting user to enter sensitive credentialsmcp_factory/generator/api_registry.py:611 · Prompting user to enter sensitive credentials — social engineering# Open .env and paste your API keyFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST03
HIGH
Hidden zero-width characters detectedmcp_factory/generator/engine.py:1 · Hidden zero-width characters detected — may conceal content"""MCP Generator Engine — Analyzes prompts and generates production-quality MCP server code.Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST07
HIGH
Access to sensitive file pathsmcp_factory/generator/engine.py:508 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesenv_content = "# Data Pipeline Configuration\n# Never commit .env to git!\n\nPIPELINE_DATA_DIR=./data\nMAX_ROWS=100000\n"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Hidden zero-width characters detectedmcp_factory/cli/main.py:1 · Hidden zero-width characters detected — may conceal content"""MCP Factory CLI — Main entry point (re-export)."""Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST07
MEDIUM
Python subprocess execution detectedmcp_factory/cli/__init__.py:26 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
Access to sensitive file pathsmcp_factory/generator/api_registry.py:99 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"Paste it in your .env file as OPENAI_API_KEY=sk-your-key-here",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 pathsmcp_factory/generator/engine.py:506 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesenv_content = "# Auth Server Configuration\n# Never commit .env to git!\n\nJWT_SECRET=change-me-to-a-strong-secret\nJWT_EXPIRY_HOURS=24\nUSERS_DB=users.json\n"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_generator.py:346 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesenv = (result.output_path / ".env.example").read_text(encoding="utf-8")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 pathsmcp_factory/validator/checker.py:120 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"""Check for .env.example and SETUP.md if the server uses env vars."""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_generator.py:198 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesassert ".env" in contentFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsmcp_factory/generator/api_registry.py:77 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"Paste it in your .env file as SLACK_BOT_TOKEN=xoxb-your-token-here",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 pathsmcp_factory/generator/api_registry.py:53 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"Paste it in your .env file as GITHUB_TOKEN=ghp_your_token_here",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 pathsmcp_factory/generator/docker.py:103 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files.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 pathsmcp_factory/generator/api_registry.py:121 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"Paste it in your .env file as STRIPE_SECRET_KEY=sk_test_your_key_here",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Stripe-like API key pattern detectedmcp_factory/generator/api_registry.py:121 · Stripe-like API key pattern detected — possible hardcoded or harvested key"Paste it in your .env file as STRIPE_SECRET_KEY=sk_test_your_key_here",Fix: Never read or enumerate credential locations; accept a documented environment variable instead.
AST03
HIGH
Access to sensitive file pathsmcp_factory/cli/__init__.py:291 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesf" cp .env.example .env\n"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 pathsmcp_factory/generator/docker.py:40 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# Run: docker run -i --env-file .env {name}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 pathsmcp_factory/validator/checker.py:125 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesresult.warnings.append("Missing .env.example — users won't know which env vars to set")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Hidden zero-width characters detectedmcp_factory/llm/reviewer.py:1 · Hidden zero-width characters detected — may conceal content"""Code Reviewer — LLM-powered review of generated MCP server code.Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST07
MEDIUM
Access to sensitive file pathstests/test_generator.py:345 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# Check .env.example has specific varFix: 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_generator.py:85 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesassert (result.output_path / ".env.example").exists()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 pathsmcp_factory/validator/checker.py:121 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesenv_example = server_path / ".env.example"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 pathsmcp_factory/generator/engine.py:501 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# ---- .env.example (API-specific if detected) ----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 pathsmcp_factory/generator/docker.py:75 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# Run: docker run -i --env-file .env {name}Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Remote installer piped to shellmcp_factory/cli/__init__.py:56 · Remote installer piped to shellf" • Linux: [cyan]curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo bash -[/cyan]\n"Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07
MEDIUM
Hidden zero-width characters detectedtests/test_generator.py:1 · Hidden zero-width characters detected — may conceal content"""Tests for MCP Generator Engine."""Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST07
HIGH
Access to sensitive file pathsmcp_factory/validator/checker.py:76 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# Check .env.example and SETUP.md (API key guidance)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Hidden zero-width characters detectedmcp_factory/llm/__init__.py:1 · Hidden zero-width characters detected — may conceal content"""LLM module — Provides structured LLM calls for MCP Factory."""Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST07
HIGH
Auto-update or dynamic fetch configurationmcp_factory/cli/__init__.py:283 · Auto-update or dynamic fetch configuration — agent may load new code at runtimeconsole.print("[dim]ℹ Could not auto-update Claude Desktop config (use 'mcpfactory config-export' manually)[/dim]")Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
LOW
Fake instruction boundary tagREADME.md:309 · Fake instruction boundary tag · informational: not an instruction filemcpfactory create <prompt> Generate a new MCP serverFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
HIGH
Hidden zero-width characters detectedmcp_factory/generator/api_tools.py:1 · Hidden zero-width characters detected — may conceal content"""API-specific tool templates — Real working tools for known APIs.Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST07
HIGH
Access to sensitive file pathsmcp_factory/generator/engine.py:510 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesenv_content = "# Notification Hub Configuration\n# Never commit .env to git!\n\nSMTP_HOST=smtp.gmail.com\nSMTP_PORT=587\nSMTP_USER=\nSMTP_PASS=\[email protected]\nWEBHOOK_SECRET=\n"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Hidden zero-width characters detectedmcp_factory/llm/interactive.py:1 · Hidden zero-width characters detected — may conceal content"""Interactive Prompt Refiner — Asks follow-up questions to improve vague prompts.Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST07
HIGH
Access to sensitive file pathsmcp_factory/generator/docker.py:116 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files.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 pathsmcp_factory/generator/api_registry.py:144 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"Paste it in your .env file as NOTION_API_KEY=ntn_your_key_here",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 pathsmcp_factory/generator/engine.py:504 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesenv_content = "# Database Configuration\n# Never commit .env to git!\n\nDB_PATH=database.db\n"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 pathsmcp_factory/validator/checker.py:112 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# Check .env.example and SETUP.md (API key guidance)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_generator.py:192 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesassert ".env" in contentFix: 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
≈55 tok
1 file · 43 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 prompt2mcp@0.5.1 as of 45 min ago. This is the package itself, not its dependencies.

What would make this Verified

12 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Prompting user to enter sensitive credentials≈ +9 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  2. Unclaimed publisher≈ +8 on the totalClaim jatintaori1904: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  3. Hidden zero-width characters detected≈ +4 on the totalKeep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
  4. Privileged sudo command≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
  5. Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  6. Stripe-like API key pattern detected≈ +4 on the totalNever read or enumerate credential locations; accept a documented environment variable instead.
Publish a new version to PyPI, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim jatintaori1904Propose a patch to the maintainer