Skip to main content
Glama

Add files to the project

add_project_files

Unpack a ZIP into the project folder, keeping its paths: new footprints into a .pretty library the fp-lib-table names, 3D models, a library table. Existing files are kept unless overwrite is true; the reply lists written, replaced and kept files. Base64, up to about 18 MB zipped.

Input Schema

NameRequiredDescriptionDefault
design_idYesThe design id returned by import_kicad_project or list_designs.
overwriteNo
zip_base64Yes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

With annotations already declaring readOnlyHint=false, openWorldHint=false and destructiveHint=false, the description adds genuinely useful behavior: existing files are kept unless overwrite is true, the reply itemizes written/replaced/kept files, input is base64 and capped near 18 MB zipped. That overwrite path replaces existing files, which is worth stating given destructiveHint=false, but the description discloses it rather than contradicting the annotation.

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?

A single dense sentence pair, front-loaded with the action and followed by semantics. It is packed but every clause carries information; no filler or restatement of the title.

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

Completeness4/5

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

For a mutation tool with no output schema, the description covers the write semantics, the opt-in overwrite path, the response contents (written/replaced/kept), and the input size/encoding constraints. Only the absence of tie-ins to related import tools leaves a small gap.

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 only 33% (just design_id documented), but the description compensates for both undocumented parameters: it explains what overwrite=true does and clarifies the zip_base64 encoding and the ~18 MB zipped ceiling that corresponds to the 24,000,000-char base64 maxLength. That is real added meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: 'Unpack a ZIP into the project folder, keeping its paths,' and enumerates what the ZIP may contain (footprints into a .pretty library, 3D models, a library table). An agent can tell this is a file-import operation on an existing project, though it never explicitly contrasts itself with siblings like import_kicad_project or add_custom_footprint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the content it handles ('new footprints into a .pretty library the fp-lib-table names, 3D models, a library table'), which suggests adding KiCad assets to an existing design. There is no explicit when-to-use statement, no prerequisites, and no named alternative such as import_kicad_project or add_custom_footprint.

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.

Resources