Skip to main content
Glama

vercelpycheck

check_vercel_python_project

Scan pasted project files for known Vercel Python-runtime deploy footguns: conflicting requirements.txt/pyproject.toml manifests, a dependency manifest missing from the project root, sibling-module imports that need sys.path, multiple top-level ASGI apps under api/, streaming/SSE responses that can crash the Python runtime, oversized dependencies (torch/tensorflow/etc.), and unrouted .well-known/ files. Static analysis over file contents -- it doesn't run a real build, so a clean result means 'no known footgun found,' not a deploy guarantee. To scan a public GitHub repo automatically instead of pasting files, use the $9 checkout at https://www.edgethirteen.com/tools/vercelpycheck.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filesYesProject files bundled as repeated '### FILE: path' markers followed by that file's content, e.g. '### FILE: requirements.txt\nfastapi\n### FILE: api/index.py\n...'. Include api/*.py files plus root manifests (requirements.txt, pyproject.toml, vercel.json, uv.lock).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / files
      Added value: +{
      +  "description": "Project files bundled as repeated '### FILE: path' markers followed by that file's content, e.g. '### FILE: requirements.txt\\nfastapi\\n### FILE: api/index.py\\n...'. Include api/*.py files plus root manifests (requirements.txt, pyproject.toml, vercel.json, uv.lock).",
      +  "type": "string"
      +}
    • removedInput schema / properties / repo
      Removed value: -{
      -  "description": "A github.com/owner/name URL for the public repo to scan",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "repo"
      -]New value: +[
      +  "files"
      +]
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full behavioral disclosure. It explicitly says the tool performs 'static analysis over file contents' and does not run a real build, meaning a clean result does not guarantee deployability. This prevents the agent from treating the output as a definitive deployment verdict.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, but the description is one long run-on sentence with a dense embedded checklist and ends with a paid-upgrade URL. The detection list is useful, but splitting it into a short purpose statement, a structured checklist, and a usage alternative would improve clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with a fully documented schema, the description covers scope, methodology, limitations, and an alternative workflow. It does not spell out the exact return format, but it defines what a clean result means, which is adequate given the absence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage, including a concrete '### FILE: path' example and guidance on which files to include. The description's mention of 'pasted project files' aligns with the schema but adds no new parameter-level semantics beyond it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and object: 'Scan pasted project files for known Vercel Python-runtime deploy footguns' and then enumerates concrete detection categories. It also distinguishes itself from a repo-based scan by pointing to an automatic alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly states the intended input ('pasted project files') and gives an explicit alternative for public GitHub repos via the checkout tool. It also cautions that a clean result is not a deploy guarantee, which tells the agent when not to over-trust the outcome.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources