Skip to main content
Glama

MCP Server Builder

by joe-watkins
README.md5.94 kB
# MCP Server Builder A minimalist MCP server that scaffolds basic MCP server projects for VS Code and Cursor. --- ## For Users ### Installation ```bash git clone https://github.com/joe-watkins/MCP-Builder.git cd MCP-Builder npm install npm run build ``` ### MCP Configuration Add this to your editor's MCP settings configuration files: **VS Code**: ```json { "mcp.servers": { "mcp-server-builder": { "command": "node", "args": ["/absolute/path/to/MCP-Builder/dist/index.js"] } } } ``` **Cursor**: ```json { "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: ```json { "name": "my-smart-server", "analyzeFiles": ["./data.json", "./config.yaml", "./docs/"] } ``` **Auto-detects Resources for:** - Data files: `.json`, `.yaml`, `.xml`, `.csv`, `.txt`, `.md` - Config files: `.config`, `.env`, files named "config" - Directories containing data files - Files with structured content (JSON/YAML patterns) ### Directory Behavior **Default (Current Directory):** ```json { "name": "my-server" } ``` → Creates files directly in current directory **Subdirectory Mode:** ```json { "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** ```bash 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 rule - `search_rules` - Search by keyword - `random_rule` - Get a random rule for inspiration - `rules_by_source` - Filter by episode or book - **Resources:** - `ferengi://rules/all` - All rules as a resource - `ferengi://rules/{number}` - Individual rule by number - `ferengi://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_number` to the Ferengi server that takes a rule number and returns that specific rule from the JSON file." > "Add a `search_rules` tool that searches through all the rules and returns any that contain the search keyword in the rule text." > "Create a `random_rule` tool 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 ```bash git clone https://github.com/joe-watkins/MCP-Builder.git cd MCP-Builder npm install npm run dev ``` ### Scripts - `npm run build` - Compile TypeScript - `npm run dev` - Development mode with hot reload - `npm start` - Run compiled server ### Project Structure ``` src/ ├── index.ts # Entry point ├── server.ts # Main server implementation └── tools/ └── create-mcp-server.ts # Server generation tool ``` ### Contributing The generated projects include everything needed to start building MCP servers immediately. When making changes to the builder: 1. Test with `npm run dev` for hot reload 2. Build with `npm run build` 3. Test the generated servers to ensure they work correctly

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