Skip to main content
Glama

Project Creator MCP

by jackalterman

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

  1. Clone the repository:
    git clone https://github.com/your-username/project-creator-mcp.git cd project-creator-mcp
  2. Create a virtual environment (recommended):
    python -m venv venv # On Windows: .\venv\Scripts\Activate.ps1 # On macOS/Linux: source venv/bin/activate
  3. Install dependencies:
    pip install -r requirements.txt

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:

# Ensure your virtual environment is activated if you created one python project_builder.py

The server will start and listen for MCP client connections.

Claude Desktop Configuration

  1. Locate your Claude Desktop configuration file:
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Add the MCP server configuration: Add an entry under "mcpServers" in your claude_desktop_config.json. Replace /path/to/your/project-creator-mcp/project_builder.py with the actual absolute path to the project_builder.py file in your cloned repository.
    { "mcpServers": { "project-creator-mcp": { "command": "python", "args": ["/path/to/your/project-creator-mcp/project_builder.py"], "env": { "PYTHONUNBUFFERED": "1" } } } }
    Note: The PYTHONUNBUFFERED: "1" environment variable is often helpful for ensuring real-time output from Python processes in some environments.
  3. 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 to run_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.

-
security - not tested
F
license - not found
-
quality - not tested

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.

  1. Overview
    1. Features
      1. Prerequisites
        1. Installation
          1. Usage
            1. Running as an MCP Server
            2. Claude Desktop Configuration
          2. Available MCP Tools
            1. File System Tools (file_system_tools.py)
            2. Project Management Tools (project_management_tools.py)
            3. Command Execution Tools (command_execution_tools.py)
          3. Available Templates
            1. Adding New Templates
              1. Contributing

                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/jackalterman/project-creator-mcp'

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