Skip to main content
Glama
Dqrshan

Zip Hive Scaffold

by Dqrshan

Zip Hive Scaffold

MCP server for bulk-creating files and folders for any project. Works with Claude Desktop, opencode, Cursor, Windsurf, and any MCP-compatible AI client.

Quick Start

curl -fsSL https://ziphive.js.org/mcp/install.sh | bash

Then tell your AI:

Add the MCP server at ~/.ziphive-scaffold/dist/index.js

That's it. The AI will configure itself.

Related MCP server: project-scaffold

What it does

Give your AI assistant the ability to create files and folders on your local machine. Say things like:

  • "Create a React project called dashboard in ~/projects"

  • "Scaffold a Python FastAPI app called backend in /home/user/dev"

  • "Add a components/ui folder and Button.tsx to my existing app"

  • "Set up a Turborepo monorepo called platform in ~/code"

Tools

Tool

Description

scaffold_from_template

Create a project from a built-in template

scaffold_list_templates

List all available templates

scaffold_create_project

Create a project from a custom JSON structure

scaffold_create_files

Add files to an existing directory

scaffold_create_folders

Create empty folder structures

Built-in Templates

Template

Description

react-vite

React 18 + Vite + TypeScript

nextjs-app

Next.js 14 App Router + Tailwind CSS

node-express

Express REST API + TypeScript

python-fastapi

FastAPI with async support

vanilla-html

Minimal HTML/CSS/JS

monorepo-turborepo

Turborepo monorepo

Manual Setup

If you prefer not to use the install script:

git clone https://github.com/Dqrshan/ziphive-scaffold.git
cd ziphive-scaffold
npm install
npm run build

Then tell your AI to add the MCP server pointing to dist/index.js.

Adding Custom Templates

Edit src/templates/index.ts and add a new ProjectStructure object:

templates["my-template"] = {
  name: "my-template",
  description: "My custom template",
  folders: ["src", "tests"],
  files: [
    { path: "package.json", content: "{ ... }" },
    { path: "src/index.ts", content: "..." },
  ],
};

Then rebuild: npm run build

License

MIT

Available Tools

5 tools
scaffold_create_filesCreate Files in Existing ProjectA
Idempotent

Add files to an existing project directory. Does not create a new project folder — files are created relative to the given directory.

Args:

  • target_dir (string): Absolute path to the target directory

  • files (array): Array of { path: string, content?: string } objects

  • overwrite (boolean): Whether to overwrite existing files (default: false)

Returns: A summary of created, skipped, and errored files.

Example: scaffold_create_files( target_dir="/home/user/projects/my-app", files=[ {"path": "src/utils/helpers.ts", "content": "export const noop = () => {}"}, {"path": "README.md", "content": "# My App"} ] )

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesArray of files to create
overwriteNoWhether to overwrite existing files
target_dirYesAbsolute path to the target directory

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=true), the description adds important behavioral context: files are created relative to the given directory, and the operation can skip or error on files. It also mentions the return summary, which is not visible in annotations. This adds meaningful transparency without overstating side effects.

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 well-structured with clear sections for Args, Returns, and an Example. It is moderately concise and avoids excessive verbosity. The example is particularly useful but adds some length; still, every part contributes to understanding the tool.

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?

Given the tool's moderate complexity (3 parameters, nested array, overwrite behavior) and the presence of good schema and annotations, the description is complete enough. It explains the tool's purpose, return type, and operational constraints (relative paths, no new folder creation). The absence of an output schema is compensated by the explicit return description.

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?

The input schema already has 100% coverage with clear descriptions for all parameters. The description reinforces these by listing them in an Args block and providing a concrete example call. The example clarifies the structure of the nested 'files' array, which is valuable beyond the schema's property definitions.

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 clearly states the tool's function: 'Add files to an existing project directory.' This is a specific verb (add) and resource (files) that distinguishes it from sibling tools like scaffold_create_folders and scaffold_create_project. The explicit note 'Does not create a new project folder' further differentiates it from the project-creation sibling.

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

Usage Guidelines4/5

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

The description provides clear context for when to use the tool: to add files to an existing project directory. It also states a when-not condition ('Does not create a new project folder'), but it does not explicitly name an alternative sibling tool. This is slightly below level 5 because alternatives are not directly referenced, but it still offers solid usage guidance.

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

scaffold_create_foldersCreate FoldersA
Idempotent

Create empty folder structures within an existing directory.

Args:

  • target_dir (string): Absolute path to the parent directory

  • folders (array): Array of relative folder paths to create

Returns: A list of created folders.

Example: scaffold_create_folders( target_dir="/home/user/projects/my-app", folders=["src/components/ui", "src/hooks", "tests/unit"] )

ParametersJSON Schema
NameRequiredDescriptionDefault
foldersYesArray of relative folder paths to create
target_dirYesAbsolute path to the parent directory

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already indicate idempotentHint=true and readOnlyHint=false. The description adds that folders are empty and existing directory is required, but does not disclose behavior like whether parent directories are auto-created or what happens if target_dir is missing. Meets baseline with annotations.

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 well-structured with Args, Returns, and an Example. It is appropriately sized, though the example could be omitted without losing essential information. Still clear and front-loaded.

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 simple 2-parameter tool without output schema, the description covers purpose, parameters, returns, and an example. The sibling tools provide context. Minor gap: behavior on pre-existing folders is not mentioned, but idempotent annotation covers it.

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%, with both target_dir and folders described. The description's Args section repeats the schema but adds no new meaning, so baseline of 3 applies.

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 states a specific verb+resource: 'Create empty folder structures within an existing directory.' It clearly distinguishes the tool from siblings like scaffold_create_files and scaffold_from_template by focusing on folders.

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?

The description gives an example but does not explicitly state when to use this tool versus alternatives. The purpose implies it is for folder creation, but no exclusions or alternative references are provided.

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

scaffold_create_projectCreate Custom ProjectA
Idempotent

Create a project from a custom structure definition. Pass files and optional folders as JSON.

Args:

  • project_name (string): Name of the project folder

  • root_dir (string): Parent directory where the project folder will be created

  • files (array): Array of { path: string, content?: string } objects

  • folders (array, optional): Array of folder paths to create (empty dirs)

  • overwrite (boolean): Whether to overwrite existing files (default: false)

Returns: A summary of created, skipped, and errored files/folders.

Example: scaffold_create_project( project_name="my-api", root_dir="/home/user/projects", files=[ {"path": "src/index.ts", "content": "console.log('hello')"}, {"path": "package.json", "content": "{ "name": "my-api" }"} ], folders=["src/routes", "src/models"] )

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesArray of files to create
foldersNoArray of folder paths to create (empty directories)
root_dirYesAbsolute path to the parent directory
overwriteNoWhether to overwrite existing files
project_nameYesName of the project folder to create

TDQS

A4.5/5.0
Behavior4/5

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

The description discloses the return value ('summary of created, skipped, and errored files/folders') and parameter defaults (overwrite default false). These behaviors align with the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=true) and add context beyond what annotations alone provide.

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?

The description is well-organized with Args, Returns, and Example sections. It is thorough yet every sentence contributes meaningful information—no filler. The example is compact and illustrates the exact structure expected.

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 that there is no output schema, the description specifies the return structure. It covers all parameters, their types, optionality, defaults, and an example. The tool's behavior and parameters are fully described, making it complete for an agent to use correctly.

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?

The input schema has 100% description coverage, so the baseline is 3. The description enhances this by providing a structured overview of each parameter and a concrete example showing the expected shape of the files array, which adds practical value beyond the schema.

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 clearly states a specific verb and resource: 'Create a project from a custom structure definition.' This distinguishes it from sibling tools like scaffold_list_templates, scaffold_from_template, scaffold_create_folders, and scaffold_create_files, which have different scopes.

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

Usage Guidelines4/5

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

The description specifies it is for custom structure definitions, which implies it is used when creating a project from scratch rather than from a predefined template. However, it does not explicitly mention alternatives or provide exclusionary guidance, so it falls short of a 5.

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

scaffold_from_templateScaffold from TemplateA
Idempotent

Create a complete project from a built-in template. Available templates: react-vite, nextjs-app, node-express, python-fastapi, vanilla-html, monorepo-turborepo.

Args:

  • template_name (string): Name of the template to use

  • project_name (string): Name of the project folder to create

  • root_dir (string): Parent directory where the project folder will be created

  • overwrite (boolean): Whether to overwrite existing files (default: false)

Returns: A summary of created, skipped, and errored files/folders with the root path.

Example:

  • "Create a React project called my-app in /home/user/projects" -> template_name="react-vite", project_name="my-app", root_dir="/home/user/projects"

ParametersJSON Schema
NameRequiredDescriptionDefault
root_dirYesAbsolute path to the parent directory where the project will be created
overwriteNoWhether to overwrite existing files (default: false)
project_nameYesName of the project folder to create
template_nameYesName of the built-in template (e.g. react-vite, nextjs-app, node-express, python-fastapi, vanilla-html, monorepo-turborepo)

TDQS

A4.3/5.0
Behavior4/5

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

The description discloses overwrite behavior ('Whether to overwrite existing files') and return summary ('created, skipped, and errored files/folders'), which are not in the annotations. It does not contradict the idempotentHint or destructiveHint annotations.

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?

Well-structured with intro, args, returns, and example paragraphs. It is not overly long, though the arg list duplicates schema info.

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?

Covers purpose, templates, return value, and an example, enough for a 4-parameter tool without an output schema. It doesn't address error cases or permission prerequisites, but the annotations and schema fill most gaps.

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 descriptions cover all four parameters; the tool description adds a structured arg list and an example that maps natural language to parameter values, reinforcing template_name and root_dir usage. This adds modest value beyond the schema.

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 clearly states it creates a complete project from a built-in template, enumerates available templates, and includes a concrete example mapping a natural-language request to parameter values. This distinguishes it from sibling tools like scaffold_create_folders and scaffold_create_files.

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

Usage Guidelines4/5

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

Provides clear context: use when scaffolding from a built-in template, listing six templates. However, it does not explicitly exclude or contrast with sibling tools such as scaffold_create_project, so guidance on alternatives is missing.

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

scaffold_list_templatesList Scaffold TemplatesA
Read-onlyIdempotent

List all available built-in project templates with their descriptions.

Returns: A list of template names and their descriptions.

Example:

  • Use when "What templates are available?" or "Show me the templates"

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing the safety profile. The description adds minimal behavioral context, only restating that it returns template names and descriptions. No additional details on pagination, filtering, or system behavior are provided, so a score of 3 is appropriate.

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 brief and front-loaded, but it contains redundancy: the opening sentence already mentions template descriptions, and the 'Returns' section repeats that information. The example adds useful context, but a slightly tighter structure would be ideal.

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 tool with no parameters and no output schema, the description is essentially complete: it states what the tool lists (templates) and what it returns (names and descriptions). It could optionally mention how this relates to sibling scaffolding tools, but that is not necessary for a simple list operation.

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?

The tool has zero parameters, so the baseline is 4. The description has no parameter information to add, and because there are no parameters, no compensation is needed. The baseline score reflects this effectively.

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 clearly states the tool lists all available built-in project templates, using the specific verb 'List' plus a well-defined resource. It differentiates from sibling tools like scaffold_from_template or scaffold_create_project by focusing purely on listing rather than creating or modifying.

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

Usage Guidelines4/5

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

The description provides clear usage context with example user queries ('What templates are available?' or 'Show me the templates'). It does not explicitly mention when not to use it or name alternatives, but the examples adequately convey when this tool is appropriate.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv1.0.0
    • First observedscaffold_create_files
    • First observedscaffold_create_folders
    • First observedscaffold_create_project
    • First observedscaffold_from_template
    • First observedscaffold_list_templates

TDQS

A4/5.0
Disambiguation4/5

Tools are mostly distinct: listing templates, creating from a template, creating a custom project, adding folders, and adding files are clearly different operations. However, scaffold_from_template and scaffold_create_project both create a new project, which could cause confusion if an agent isn't careful about template vs. custom structure.

Naming Consistency3/5

All tools share the scaffold_ prefix, but the verb patterns are inconsistent: list_templates and create_* are verbs, while from_template is not. Three tools use 'create' but with different objects, making the naming somewhat predictable but not uniformly verb_noun.

Tool Count5/5

With 5 tools, the set is well-scoped for a scaffolding server. Each tool covers a distinct function without being redundant or overwhelming, and the count is within the ideal range for a focused utility.

Completeness4/5

The tool surface covers the core scaffolding lifecycle: list templates, create from template, create custom projects, add folders, and add files. Minor gaps include no template preview or dry-run capability, but the existing operations are sufficient for most scaffolding workflows.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Dqrshan/ziphive-scaffold'

If you have feedback or need assistance with the MCP directory API, please join our Discord server