Skip to main content
Glama
N0moreher0
by N0moreher0

Create file or directory

project_create
Idempotent

Creates a directory or new workspace file in one call, with content, mode, and optional parent-directory creation for coding agents.

Instructions

Create a directory OR a file in ONE call (merges project_create_directory + project_write_file for the new-file case). Use when: create a directory (kind=directory) or a new file (kind=file, content+mode); kept in sync with the Venira native app tool. Avoid when: modifying an existing file (project_edit_file); overwriting a file whose contents must be preserved (project_write_file mode=overwrite still works). Speed: fast; triggers cache invalidation on write / new directory. Output: directory_created or file_written (data kind depends on the op). Batch-safe: no

Input Schema

NameRequiredDescriptionDefault
kindYes
modeNo
contentNo
create_dirsNo
relative_pathYesPath inside the workspace (relative, or absolute inside the workspace)
expected_sha256No

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=false, destructiveHint=false and idempotentHint=true, so the safety profile is covered; the description adds genuinely new behavior: cache invalidation on write/new directory, the output discriminator (directory_created vs file_written), and that it is not batch-safe. It does not say what happens when mode is omitted or that overwrite destroys prior contents beyond a passing hint, so it stops short of full disclosure.

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?

Labelled one-line sections (Use when / Avoid when / Speed / Output / Batch-safe) put the decision-relevant information first with almost no filler. Minor dead weight: 'kept in sync with the Venira native app tool' consumes space without changing agent behavior.

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?

With six parameters, low schema coverage and no output schema, the description does supply the output shape and the cache-invalidation side effect. It still leaves an agent guessing about create_dirs, the default mode, and the purpose of expected_sha256, which are material for calling this correctly.

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 only 17%, so the description must carry the load, and it explains kind, content and mode=overwrite plus the implicit mode=create/append distinction. However, it never mentions create_dirs (does the parent path get made?) or expected_sha256 (an optimistic-concurrency guard), which are two of the six parameters and easily misused.

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 names a specific verb (Create) and both resources (directory or file), and explicitly states it merges project_create_directory plus the new-file case of project_write_file. An agent can distinguish this tool from project_create_directory and project_write_file without opening any 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?

Explicit 'Use when' names both branches (kind=directory; kind=file with content+mode) and 'Avoid when' routes existing-file edits to project_edit_file and preservation-sensitive overwrites to project_write_file mode=overwrite. Both the positive and negative cases name the sibling tool that handles them.

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