Skip to main content
Glama
fhyxz1

Builder-Proj-MCP Server

by fhyxz1

Builder-Proj-MCP Server

A powerful Model Context Protocol (MCP) server for building project structures with various frameworks. This tool helps you quickly scaffold projects for Spring Boot, React, Vue, Next.js, Nuxt.js, FastAPI, Django, Flask, Express, Fastify, NestJS, and more.

Language: English | 中文

Why Build This?

During daily vibe coding, building projects with different tech stacks often requires using different tools and command combinations, which can lead to unnecessary token overhead. Builder Project MCP Server provides a unified interface that allows you to quickly scaffold project structures by invoking a series of tools, thereby improving development efficiency.

Related MCP server: Splytin MCP Project Generator

Features

  • Multiple Framework Support: Build projects for various tech stacks

  • TypeScript Support: Full TypeScript implementation

  • Flexible Configuration: Customize project options

  • MCP Protocol: Integrates seamlessly with MCP-compatible clients

Supported Frameworks

Spring/Java

  • spring-boot - Spring Boot with Maven

  • spring - Generic Spring framework

  • spring-mvc - Spring MVC

  • spring-webflux - Spring WebFlux

Frontend (Vite-based)

  • react - React with Vite

  • react-vite - React with Vite

  • react-cra - React with Create React App

  • vue - Vue 3 with Vite

  • vue3 - Vue 3

  • vue-vite - Vue with Vite

  • vite - Vanilla Vite

  • vite-vanilla - Vanilla Vite

  • vite-ts - Vite with TypeScript

Next.js (React SSR/SSG)

  • next - Next.js with App Router

  • nextjs - Next.js

  • next-app - Next.js App Router

  • next-pages - Next.js Pages Router

Nuxt.js (Vue SSR/SSG)

  • nuxt - Nuxt.js 3

  • nuxt3 - Nuxt.js 3

Python

  • fastapi - FastAPI with Uvicorn

  • fastapi-uvicorn - FastAPI with Uvicorn

  • fastapi-gunicorn - FastAPI with Gunicorn

  • django - Django

  • django-rest - Django REST Framework

  • django-cms - Django CMS

  • flask - Flask

  • flask-rest - Flask REST API

  • flask-sqlalchemy - Flask with SQLAlchemy

JavaScript/TypeScript Backend

  • express - Express.js

  • fastify - Fastify

  • nestjs - NestJS

Installation

The easiest way to use Builder Project MCP Server is via npx, which downloads and runs the package automatically:

# Run directly with npx
npx builder-proj-mcp

From Source

# Clone the repository
git clone <repository-url>
cd builder-proj-mcp

# Install dependencies
npm install

# Build the project
npm run build

Global Installation

You can also install it globally to use it from anywhere:

# Install globally
npm install -g builder-proj-mcp

# Run the server
builder-proj-mcp

Usage

As MCP Server

Add to your MCP client configuration:

Using npx (Recommended):

{
  "mcpServers": {
    "builder-proj": {
      "command": "npx",
      "args": ["builder-proj-mcp"]
    }
  }
}

Using local installation:

{
  "mcpServers": {
    "builder-proj": {
      "command": "node",
      "args": ["path/to/builder-proj-mcp/dist/index.js"]
    }
  }
}

Available Tools

1. build_project

Build a new project with specified framework.

Parameters:

  • projectName (string, required): Name of the project to create

  • projectType (string, optional): Type of project (web, api, mobile, desktop)

  • framework (string, required): Framework to use

  • options (object, optional): Additional configuration options

Example:

// Create a React project
{
  "projectName": "my-react-app",
  "framework": "react",
  "options": {
    "typescript": true
  }
}

// Create a Spring Boot project
{
  "projectName": "my-spring-app",
  "framework": "spring-boot",
  "options": {
    "javaVersion": "17",
    "springBootVersion": "3.2.0",
    "groupId": "com.example"
  }
}

// Create a FastAPI project
{
  "projectName": "my-api",
  "framework": "fastapi",
  "options": {
    "pythonVersion": "3.11",
    "docker": true,
    "tests": true
  }
}

2. list_frameworks

List all supported frameworks for project creation.

Example:

{
  "name": "list_frameworks"
}

Framework-Specific Options

Spring Boot

  • javaVersion: Java version (default: "17")

  • springBootVersion: Spring Boot version (default: "3.2.0")

  • groupId: Maven groupId (default: "com.example")

  • artifactId: Maven artifactId (default: projectName)

React/Vue/Vite

  • typescript: Use TypeScript (default: true)

Python (FastAPI/Django/Flask)

  • pythonVersion: Python version (default: "3.11")

  • docker: Include Docker configuration (default: true)

  • tests: Include test setup (default: true)

Project Structure

builder-proj-mcp/
├── src/
│   ├── builders/
│   │   ├── spring-boot-builder.ts
│   │   ├── react-builder.ts
│   │   ├── vue-builder.ts
│   │   ├── fastapi-builder.ts
│   │   ├── django-builder.ts
│   │   ├── flask-builder.ts
│   │   ├── vite-builder.ts
│   │   └── index.ts
│   ├── types.ts
│   └── index.ts
├── package.json
├── tsconfig.json
└── README.md

Development

# Run in development mode
npm run dev

# Build for production
npm run build

# Start the server
npm start

Architecture

The project follows a builder pattern with the following components:

  • ProjectBuilder Interface: Defines the contract for all builders

  • BuilderFactory: Manages and provides access to all builders

  • Framework Builders: Individual implementations for each framework

  • MCP Server: Handles tool registration and request processing

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

Support

For issues and questions, please open an issue on the repository.


Language: English | 中文

Available Tools

2 tools
build_projectC

Build a new project with specified framework. Supported frameworks: spring-boot, spring, spring-mvc, spring-webflux, react, react-vite, react-cra, vue, vue3, vue-vite, fastapi, fastapi-uvicorn, fastapi-gunicorn, django, django-rest, django-cms, flask, flask-rest, flask-sqlalchemy, vite, vite-vanilla, vite-ts, express, express-ts, express-rest, fastify, fastify-ts, fastify-rest, nestjs, nest, nestjs-rest, nestjs-graphql, next, nextjs, next-app, next-pages, nuxt, nuxt3

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNameYesName of the project to create
projectTypeNoType of project (e.g., web, api, mobile)
frameworkYesFramework to use. Options: spring-boot, spring, spring-mvc, spring-webflux, react, react-vite, react-cra, vue, vue3, vue-vite, fastapi, fastapi-uvicorn, fastapi-gunicorn, django, django-rest, django-cms, flask, flask-rest, flask-sqlalchemy, vite, vite-vanilla, vite-ts, express, express-ts, express-rest, fastify, fastify-ts, fastify-rest, nestjs, nest, nestjs-rest, nestjs-graphql, next, nextjs, next-app, next-pages, nuxt, nuxt3
optionsNoAdditional options for the project builder

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It fails to disclose creation side effects (overwriting, directory creation), permission requirements, or resource impact. Only the action 'build' is stated.

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 a single sentence followed by a list. It is front-loaded with the purpose and concise with no extraneous information.

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

Completeness2/5

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

Given the tool's complexity (4 parameters, nested options, many frameworks), the description is insufficient. It does not explain return values, behavior on failure, or what 'building' entails (e.g., scaffolding).

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%, so the schema already documents all parameters. The description repeats the framework list but adds no extra meaning. Baseline 3 is appropriate.

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 clearly states the tool builds a new project with a specified framework. The verb 'build' and resource 'project' are explicit. However, it does not differentiate from sibling tool 'list_frameworks', which simply lists frameworks.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, nor any prerequisites or limitations. The description merely states what it does without context for when it is appropriate.

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

list_frameworksA

List all supported frameworks for project creation

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided. The description does not disclose any behavioral traits beyond the purpose, such as caching, rate limits, or response structure.

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?

Single sentence, no extraneous words, completely focused.

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?

Adequate for a parameterless list tool, but lacks mention of output format or potential pagination, though likely not needed.

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?

No parameters exist, so schema coverage is 100%. The description adds no param info, which is acceptable.

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?

Clearly states the action ('List') and resource ('supported frameworks for project creation'). Distinct from sibling tool 'build_project'.

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 implied (list before building), but no explicit guidance on when to use vs alternatives or prerequisites.

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.

  1. 2 tool updatesv1.0.7
    • First observedbuild_project
    • First observedlist_frameworks

TDQS

A3.5/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have completely distinct purposes: build_project creates a project with a specified framework, while list_frameworks simply lists available frameworks. There is no overlap or ambiguity.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern: build_project and list_frameworks. The naming is clear and predictable.

Tool Count3/5

With only 2 tools, the server is minimal for its purpose of project scaffolding. While it covers the essential actions (list and build), the tool count feels thin and could benefit from additional tools like delete_project or update_project.

Completeness4/5

The tool set covers the core workflow: listing available frameworks and building a project. It misses operations like project deletion or configuration, but for a simple scaffolding server, it is reasonably complete.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers