Skip to main content
Glama

Create Python project

fastero_create_python_project

Create a Python project: a workspace of .py files with entrypoints, each run as a script on a machine of its own, by hand or on a schedule, with its log kept and the files a run writes saved back. It suits repeatable jobs and report generators. sourceType 'local' (the default) starts it with main.py, .env.sample and README.md and an entrypoint 'main' that runs main.py, which fastero_write_python_file replaces. sourceType 'git' links a repository, read when its files are listed or it first runs; one that cannot be read without signing in (a private repository) needs its Git provider or token chosen, which is done in the Fastero app, so such a project is made there. A project linked here starts with no entrypoint, and fastero_ensure_python_entrypoint adds one; one linked in the Fastero app starts with one for each of its scripts. Two projects may share a name. Returns the project with its _id. For analysis read in place, fastero_create_notebook; for an app in the browser, fastero_create_streamlit_app.

Input Schema

NameRequiredDescriptionDefault
gitNoRequired when sourceType is 'git': { repoUrl, branch, subDirectory }. branch defaults to main; subDirectory is a folder inside the repository holding the code.
nameYesThe Python project’s name, as people will see it.
projectIdYesThe project’s id, from fastero_list_projects.
sourceTypeNo'local' for a workspace you write files into (the default), or 'git' to run code from a repository.
descriptionNoOptional: what it does.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / description / description
      Added value: +"Optional: what it does."
    • changedInput schema / properties / git / description
      Previous value: -"Required when sourceType is 'git': { repoUrl, branch, subDirectory }."New value: +"Required when sourceType is 'git': { repoUrl, branch, subDirectory }. branch defaults to main; subDirectory is a folder inside the repository holding the code."
    • addedInput schema / properties / name / description
      Added value: +"The Python project’s name, as people will see it."
    • addedInput schema / properties / projectId / description
      Added value: +"The project’s id, from fastero_list_projects."
    • changedInput schema / properties / sourceType / description
      Previous value: -"'local' for a workspace you write files into (the default), or 'git' to clone a repository."New value: +"'local' for a workspace you write files into (the default), or 'git' to run code from a repository."
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false/destructiveHint=false; the description goes well beyond by disclosing exactly what gets created 'local' (main.py, .env.sample, README.md, an entrypoint 'main') versus 'git' (no entrypoint, repo read on listing or first run). It flags the private-repo auth prerequisite, notes duplicate names are allowed, and states the return value ('the project with its _id').

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

Conciseness4/5

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

Purpose and scope are front-loaded in the first sentence, and the closing sentence routes to siblings. Some phrasing is dense and meandering (the nested private-repository clause, 'each run as a script on a machine of its own'), and a few details are marginal, but no sentence is pure filler.

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

Completeness5/5

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

For a create tool with no output schema, the description covers the important ground: creation side effects, sourceType behavior, entrypoint lifecycle (fastero_ensure_python_entrypoint fills the gap for git-linked projects), auth prerequisites, and the returned identifier. An agent has everything needed to call it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents all five parameters, making 3 the baseline. The description adds real semantics beyond the schema, though: it states 'local' is the default, what the git object's values trigger (repo read on file listing or first run), and the entrypoint consequences of each sourceType. The remaining parameters (name, description, projectId) get no extra treatment, so it is not a 5.

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?

Names a specific verb and resource ('Create a Python project') and immediately defines what that resource is: a workspace of .py files with entrypoints, run on its own machine, manually or scheduled. It explicitly distinguishes itself from the sibling creation tools (fastero_create_notebook for in-place analysis, fastero_create_streamlit_app for browser apps) so an agent can route without opening a schema.

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?

Gives concrete fit criteria ('suits repeatable jobs and report generators') plus explicit alternatives with their selection conditions. It also states a hard exclusion: private git repositories require provider/token setup in the Fastero app, so such projects cannot be created through this tool in that case.

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.