Skip to main content
Glama

create_project

Idempotent

Create a new isolated project memory space and return its slug, so AI assistants can preserve project knowledge across conversations. Call only when the user wants a new project.

Instructions

Create a new, isolated project memory space and return its slug. Only call this when the user wants a new project (check list_projects first). Calling it again with the same name returns the existing slug instead of creating a duplicate.

Input Schema

NameRequiredDescriptionDefault
nameYesHuman project name
slugNoOptional explicit slug (a-z, 0-9, '-')
scopeNo
problemNo
objectiveYesOne or two sentences: what the project is for
target_usersNo
success_criteriaNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=false, openWorld=false and idempotent=true, so the safety profile is covered. The description adds genuine value beyond that by explaining the idempotency mechanism: the dedup key is the name, and a repeat call returns the existing slug rather than erroring or duplicating. It does not mention any permission or authorization requirements, which keeps it short of a 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 short sentences, front-loaded with the action and result, then the precondition, then the duplicate-handling caveat. No filler or restatement of the tool name.

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

Completeness3/5

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

An output schema exists and annotations cover the safety and idempotency profile, so the description need not explain return values. However, for a seven-parameter creation tool the agent is left unsure whether the optional scope/problem/target_users/success_criteria fields should be populated, which is a meaningful gap in an otherwise solid definition.

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

Parameters2/5

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

Schema description coverage is only 43% (name, slug, objective), and five of the seven parameters (scope, problem, target_users, success_criteria, and the slug format rules) carry no description in either the schema or the prose. The description only implicitly clarifies that 'name' is the identity key for deduplication; it gives no guidance on what belongs in the optional context fields, so it fails to compensate for the coverage gap.

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, isolated project memory space') plus the return value ('return its slug'). It also distinguishes this from the sibling list_projects, so an agent can separate creation from enumeration 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?

'Only call this when the user wants a new project' is an explicit precondition, and '(check list_projects first)' names the alternative to consult before invoking. The when-not case is implied by 'only', leaving little for the agent to infer.

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