Skip to main content
Glama

init_project

Create a new Marrow project workspace by copying the built-in default template to generate a preconfigured artifact tree for first-run initialization when shell access is unavailable.

Instructions

[PROJECT TOOLS] Creates a new Marrow project workspace by copying the built-in default template into TASKS_DIR/projects/{project}. Produces a ready-to-use artifact tree (session.md, spec.md, guidelines, role_profiles.yaml).

Primary use case: first-run initialization on Glama or any single-container deployment where shell access is unavailable. For docker-compose deployments, use the marrow-init service instead.

Do NOT use to list existing projects — call list_projects instead. Do NOT use to read session state — call get_session_context(project) after init.

Parameters: project : str — unique project name (must not already exist) template : str — scaffold template; only "default" is supported in this release

Returns: { project, files_created, starting_role } where files_created lists every file path copied into the new workspace (relative to workspace root) and starting_role is Discovery Agent or Init Agent.

Raises: ValidationError if project already exists or template is unsupported.

Input Schema

NameRequiredDescriptionDefault
projectYesUnique project name to create
templateNoScaffold template namedefault

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.3

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well. It discloses that the tool copies a template, what files are produced, the return shape, and validation failures when the project exists or the template is unsupported.

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?

The description is front-loaded with purpose, then use case, exclusions, parameters, returns, and errors. It is well structured, though the Parameters and Returns sections partly duplicate schema and output-schema information.

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?

Given the tool's complexity, the no-annotation context, and the presence of an output schema, the description provides everything needed: creation behavior, deployment-specific guidance, alternatives, parameter constraints, return shape, and failure cases.

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 description coverage is already 100%, but the description adds meaningful constraints beyond the schema: project must not already exist, and only the "default" template is supported in this release. Those constraints are important for correct invocation, though the schema still handles basic parameter documentation.

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: creates a new Marrow project workspace by copying the built-in default template into TASKS_DIR/projects/{project}. It also names the resulting artifact tree, making the outcome concrete and distinguishable from sibling project tools.

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?

Explicitly gives the primary use case: first-run initialization on Glama or single-container deployments without shell access. It also names alternatives and exclusions: use marrow-init for docker-compose, list_projects for listing, and get_session_context for reading session state.

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