Skip to main content
Glama

create_project

Create a new Overleaf project from a blank or example template and return its ID, name, and URL. Asks for user confirmation in the MCP client before writing.

Instructions

Create a new Overleaf project and return its id, name and URL. Unlike plan_project_renames, this one does apply: creating is additive, nothing existing is overwritten, and an unwanted project can be deleted afterwards. Asks the user to confirm in the MCP client before writing.

Input Schema

NameRequiredDescriptionDefault
nameYesProject name
templateNoProject template: an empty project, or Overleaf's example documentblank

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=false, idempotent=false, and openWorld=true. The description adds genuine context beyond that: it is additive, overwrites nothing, is reversible via deletion, and triggers a user confirmation in the MCP client before writing. It stops short of stating auth scope requirements or whether the call is billed/rate-limited, so a 4 rather than 5.

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

Conciseness5/5

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

Three sentences, each earning its place: what it does and returns, how it differs from the planner, and the side-effect/confirmation profile. Front-loaded with the action and outcome, with no 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?

With only two fully documented parameters, no output schema, and mutation-related annotations, the description covers everything an agent needs: purpose, return values, reversibility, and the confirmation gate. No material gap remains.

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?

Schema description coverage is 100%, so the schema already documents both 'name' and the 'template' enum and its default. The description adds nothing about parameter semantics, which is acceptable at full coverage — baseline 3.

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?

States a specific verb and resource ('Create a new Overleaf project') and even names the return values (id, name, URL). It explicitly distinguishes itself from the sibling plan_project_renames, so an agent can select between them without opening either 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?

Names the alternative (plan_project_renames) and explains the selecting condition: this one actually applies, whereas the planner does not. It also frames the risk/recovery model ('an unwanted project can be deleted afterwards'), which tells the agent when this is safe to invoke.

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