MCP Server Builder
The MCP Server Builder scaffolds complete MCP server projects for VS Code and Cursor using a single create_mcp_server tool.
Key Capabilities:
Generate MCP Server Projects: Create fully-configured projects with proper structure, TypeScript setup, MCP SDK integration, and development workflow with hot reload
Intelligent File Analysis: Automatically detect and include appropriate MCP capabilities (resources, tools, prompts) by analyzing files (JSON, YAML, XML, CSV, TXT, MD, config files)
Flexible Configuration: Customize project name (required), description, author, output path, and choose between current directory or new subdirectory creation
Auto-Detect Resources: Automatically enable resources capability when data files are detected, or manually include using
includeResourcesparameterProduction-Ready Setup: Generated projects include TypeScript with strict configuration, build tools, development scripts (build, dev, start), and example implementations to help you get started quickly
Provides access to Ferengi Rules of Acquisition data from Star Trek, used as an example dataset in the tutorial for building MCP servers that serve structured data.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Server Buildercreate a server for my customer data in the analytics folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server Builder
A minimalist MCP server that scaffolds basic MCP server projects for VS Code and Cursor.
For Users
Installation
git clone https://github.com/joe-watkins/MCP-Builder.git
cd MCP-Builder
npm install
npm run buildMCP Configuration
Add this to your editor's MCP settings configuration files:
VS Code:
{
"mcp.servers": {
"mcp-server-builder": {
"command": "node",
"args": ["/absolute/path/to/MCP-Builder/dist/index.js"]
}
}
}Cursor:
{
"mcp.servers": {
"mcp-server-builder": {
"command": "node",
"args": ["/absolute/path/to/MCP-Builder/dist/index.js"]
}
}
}Note: Replace /absolute/path/to/MCP-Builder with the actual absolute path where you cloned this repository.
Usage
Once configured, use the create_mcp_server tool to generate new MCP server projects:
name (required): Project name (kebab-case recommended)
description (optional): Project description
author (optional): Author name
outputPath (optional): Target directory (defaults to current working directory)
includeResources (optional): Force include resources capability (default: false)
analyzeFiles (optional): File paths to analyze for auto-determining capabilities
createSubdirectory (optional): Create project in new subdirectory (default: false)
Intelligent File Analysis
The builder can analyze your files to automatically determine what capabilities to include:
{
"name": "my-smart-server",
"analyzeFiles": ["./data.json", "./config.yaml", "./docs/"]
}Auto-detects Resources for:
Data files:
.json,.yaml,.xml,.csv,.txt,.mdConfig files:
.config,.env, files named "config"Directories containing data files
Files with structured content (JSON/YAML patterns)
Directory Behavior
Default (Current Directory):
{
"name": "my-server"
}→ Creates files directly in current directory
Subdirectory Mode:
{
"name": "my-server",
"createSubdirectory": true
}→ Creates ./my-server/ subdirectory with files
Tutorial: Your First MCP Server with Example Data
This project includes a fun example JSON dataset to help you create your first MCP server: Ferengi Rules of Acquisition from Star Trek! This is perfect for learning how to build an MCP server that serves data.
Once you get the MCP Server Builder set up, you can use the create_mcp_server tool to generate a server that provides access to this dataset - or just use a prompt. The builder will analyze the JSON file and automatically include the Resources capability, making it easy to serve the data to your AI assistant.
What's Included
The docs/ferengi-rules-of-acquisition.json file contains 200+ Rules of Acquisition—the sacred commercial guidelines of the Ferengi species. Each rule includes:
Rule number
The rule text
Source (episode, novel, or game)
Create Your First Server
Step 1: Copy the example data to a new folder
mkdir ferengi-rules-server
cp docs/ferengi-rules-of-acquisition.json ferengi-rules-server/Step 2: Ask your AI assistant to build the server
In VS Code/Cursor, simply tell your AI assistant:
"Create an MCP server in the ferengi-rules-server folder that provides access to Ferengi Rules of Acquisition. Analyze the ferengi-rules-of-acquisition.json file in that directory."
That's it! Your AI assistant will use the create_mcp_server tool to:
Detect the JSON data file
Automatically include the Resources capability
Generate a complete MCP server project with all the scaffolding
Set up TypeScript, build tools, and development workflow
Ideas for Your Server
Once you have the basic server running, you could add:
Tools:
get_rule_by_number- Fetch a specific rulesearch_rules- Search by keywordrandom_rule- Get a random rule for inspirationrules_by_source- Filter by episode or book
Resources:
ferengi://rules/all- All rules as a resourceferengi://rules/{number}- Individual rule by numberferengi://rules/random- Random rule
Prompts:
Help users apply Ferengi wisdom to their business decisions
Generate "Ferengi-style" advice for scenarios
Example prompts to add these features:
"Add a tool called
get_rule_by_numberto the Ferengi server that takes a rule number and returns that specific rule from the JSON file."
"Add a
search_rulestool that searches through all the rules and returns any that contain the search keyword in the rule text."
"Create a
random_ruletool that returns a random Ferengi Rule of Acquisition for inspiration."
This example demonstrates how any JSON data source can become an MCP server that AI assistants can query and use!
Generated Project Features
TypeScript with strict configuration
MCP SDK integration with best practices
Example tool implementation
Optional resources capability (auto-detected or manual)
Development workflow with hot reload
Comprehensive build setup
For Developers
Development Setup
git clone https://github.com/joe-watkins/MCP-Builder.git
cd MCP-Builder
npm install
npm run devScripts
npm run build- Compile TypeScriptnpm run dev- Development mode with hot reloadnpm start- Run compiled server
Project Structure
src/
├── index.ts # Entry point
├── server.ts # Main server implementation
└── tools/
└── create-mcp-server.ts # Server generation toolContributing
The generated projects include everything needed to start building MCP servers immediately. When making changes to the builder:
Test with
npm run devfor hot reloadBuild with
npm run buildTest the generated servers to ensure they work correctly
Available Tools
1 toolcreate_mcp_serverC
Generate a new MCP server project with proper structure and configuration in the current directory
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Project name (kebab-case recommended) | |
| description | No | Project description | |
| author | No | Author name | |
| outputPath | No | Target directory (defaults to current working directory) | |
| includeResources | No | Include resources capability and example resource (default: false) | |
| analyzeFiles | No | File paths to analyze for automatically determining capabilities (will auto-enable resources if data files detected) | |
| createSubdirectory | No | Create project in a new subdirectory (default: false, creates in current directory) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions generating a project in the current directory but lacks details on permissions needed, whether it overwrites existing files, error handling, or output format. For a tool that creates files, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action and outcome. It wastes no words and directly communicates the tool's purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a project generation tool with 7 parameters, no annotations, and no output schema, the description is insufficient. It lacks behavioral details, usage context, and output information, making it incomplete for effective agent use despite the concise structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema fully documents all 7 parameters. The description adds no additional parameter semantics beyond implying project generation, which the schema already covers. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Generate') and target ('new MCP server project'), specifying it creates a project with proper structure and configuration in the current directory. It's specific about the resource and outcome, though without sibling tools, differentiation isn't applicable, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or exclusions. It states the basic action but lacks context for decision-making, such as when this is appropriate or what might be better suited for other scenarios.
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 tool update
v1.0.0- First observed
create_mcp_server
TDQS
With only one tool, there is no possibility of confusion or overlap between tools. The tool has a clear, singular purpose that is distinct by default.
A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The name 'create_mcp_server' follows a clear verb_noun pattern.
A single tool is too few for a server builder domain, which typically requires operations like list, update, delete, or test servers. This minimal set limits functionality and suggests an incomplete implementation.
The tool surface is severely incomplete for a server builder. It only supports creation, with no ability to manage, modify, or interact with existing servers, leaving significant gaps in the expected lifecycle.
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
A simple Typescript MCP server built using the official MCP Typescript SDK and smithery/cli. This…
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for generating rough-draft project plans from natural-language prompts.
A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/joe-watkins/MCP-Builder'
If you have feedback or need assistance with the MCP directory API, please join our Discord server