Provides project templates for creating Blazor .NET web applications with predefined structure and boilerplate code
Supports creation of web projects with CSS styling through HTML/CSS/JavaScript templates
Provides project templates for creating Django web applications with basic project structure and configuration
Enables creation of Node.js Express API projects with predefined template structure and boilerplate code
Provides project templates for creating FastAPI applications with basic project structure and configuration
Enables creation of Flask web applications with predefined templates and basic project structure
Provides tools for initializing Git repositories in project directories
Supports creation of JavaScript-based web projects through various HTML/JS/CSS templates
Provides project templates for creating .NET applications, particularly Blazor web applications
Enables creation of Next.js projects with Shadcn UI and Tailwind CSS configuration through predefined templates
Provides project templates for creating Node.js applications, particularly Express API projects
Provides tools for executing npm commands safely within project directories for package management
Enables creation of Python projects using Django, FastAPI, and Flask templates, plus tools for executing Python commands
Provides project templates for creating React applications with TypeScript configuration and boilerplate code
Supports creation of Next.js projects preconfigured with Tailwind CSS for utility-first styling
Enables creation of TypeScript-based React projects with predefined templates and configuration
Project Creator MCP
Overview
project-creator-mcp
is a command-line tool designed to streamline the creation of new project structures from a collection of predefined templates. It helps developers quickly set up the boilerplate for various types of applications, including web frontends, backends, and full-stack projects. This project also functions as an MCP (Model Context Protocol) server, allowing integration with MCP clients like Claude Desktop for enhanced interactive development.
Features
- Multiple Project Templates: Supports a variety of popular project types (e.g., Blazor, HTML/JS/CSS, Next.js, Node.js/Express, Django, FastAPI, Flask, React).
- Easy Project Generation: Simple command-line interface to select a template and create a new project.
- Extensible: Easily add new project templates to expand the tool's capabilities.
- MCP Server: Exposes a set of tools via the Model Context Protocol for programmatic interaction.
Prerequisites
Before installation, ensure you have:
- Python 3.8+ installed and accessible via
python
command - pip (Python package installer)
- Claude Desktop (if using with Claude or other MCP clients)
Installation
- Clone the repository:
- Create a virtual environment (recommended):
- Install dependencies:
Usage
Running as an MCP Server
The project_builder.py
script is designed to be run as an MCP server, allowing MCP clients (like Claude Desktop) to interact with its exposed tools programmatically.
To start the MCP server:
The server will start and listen for MCP client connections.
Claude Desktop Configuration
- Locate your Claude Desktop configuration file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
- Add the MCP server configuration:
Add an entry under
"mcpServers"
in yourclaude_desktop_config.json
. Replace/path/to/your/project-creator-mcp/project_builder.py
with the actual absolute path to theproject_builder.py
file in your cloned repository.Note: ThePYTHONUNBUFFERED: "1"
environment variable is often helpful for ensuring real-time output from Python processes in some environments. - Restart Claude Desktop to load the new server.
Available MCP Tools
This MCP server exposes the following tools:
File System Tools (file_system_tools.py
)
create_file(path: str, content: str, overwrite: bool = False)
: Create a file with specified content.read_file(path: str)
: Read file contents.create_directory(path: str)
: Create a directory.list_directory(path: str = ".")
: List directory contents with detailed information.copy_file_or_directory(source: str, destination: str)
: Copy a file or directory to a new location.search_and_replace_in_file(file_path: str, search_pattern: str, replacement: str, use_regex: bool = False)
: Search and replace text in a file.
Project Management Tools (project_management_tools.py
)
create_project_from_template(template_name: str, project_name: str, project_path: str = ".")
: Create a new project from a predefined template.template_name
: Name of the template (e.g., "react-typescript", "node-express-api").project_name
: Name for the new project.project_path
: Directory where project should be created (default: current directory).
create_project_structure(project_name: str, structure: Dict[str, Union[str, Dict]], base_path: str = ".")
: Create a custom project structure from a nested dictionary.get_project_info(path: str = ".")
: Get information about a project directory.list_available_templates()
: List all available project templates.
Command Execution Tools (command_execution_tools.py
)
run_npm_command(command: str, cwd: str = ".")
: Execute npm commands safely.run_python_command(command: str, cwd: str = ".")
: Execute Python commands safely (pip, python scripts, etc.).run_command(command: str, cwd: str = ".")
: Generic command runner, dispatches torun_python_command
.initialize_git_repository(path: str = ".")
: Initialize a Git repository in the specified directory.
Available Templates
The following templates are currently available:
blazor_dotnet
: A basic Blazor .NET web application.html_js_css_separate_files
: A simple web project with separate HTML, JavaScript, and CSS files.html_js_css_single_file
: A simple web project with HTML, JavaScript, and CSS all in one file.nextjs_shadcn_tailwind
: A Next.js project configured with Shadcn UI and Tailwind CSS.node_express_api
: A basic Node.js Express API project.python_django
: A basic Django project structure.python_fastapi
: A basic FastAPI project.python_flask
: A basic Flask web application with a simple template.react_typescript
: A React project set up with TypeScript.
Adding New Templates
For instructions on how to add your own custom project templates, please refer to the Adding New Templates.md
file.
Contributing
Contributions are welcome! If you have suggestions for new templates, improvements, or bug fixes, please open an issue or submit a pull request.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables rapid creation of new projects from predefined templates including React, Node.js, Django, Flask, and more. Provides comprehensive project scaffolding with file system operations, template management, and command execution capabilities.