mcp-yeoman

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Enables running Yeoman generators with Node.js, providing tools to search for templates, get generator options, and create applications with specific configurations

  • Allows searching for Yeoman templates on npm registry

  • Supports creating React applications using Yeoman generators with customizable options like TypeScript and Sass integration

MCP Yeoman Server

A Model Context Protocol (MCP) server that provides integration with Yeoman generators, allowing AI agents to search for and run Yeoman templates programmatically.

Tools

This server implements the following MCP tools:

Template Search Methods

  1. yeoman_search_templates - Search for Yeoman templates on npm
    • Parameters:
      • query (string): Search keywords separated by commas
      • pageSize (number, optional): Number of results to return (default: 20)

Generator Methods

  1. yeoman_get_generator_options - Get the required options and arguments for a Yeoman generator
    • Parameters:
      • generatorName (string): Name of the generator (without 'generator-' prefix)
  2. yeoman_generate - Run a Yeoman generator
    • Parameters:
      • generatorName (string): Name of the generator (without 'generator-' prefix)
      • cwd (string): Working directory where the generator should run
      • appName (string): The name of the application to create
      • version (string): The version of the application to create
      • options (object, optional): Options to pass to the generator
      • args (array, optional): Additional positional arguments to pass to the generator

Installation

Installing via Smithery

To install mcp-yeoman for Claude Desktop automatically via Smithery:

npx @smithery/cli@latest install mcp-yeoman --client claude

Prerequisites

  • Node.js (v16 or later)
  • npm or yarn

Installing the package

# Clone the repository git clone https://github.com/thirdstrandstudio/mcp-yeoman.git cd mcp-yeoman # Install dependencies npm install # Build the package npm run build

Usage with Claude Desktop

Add the following to your claude_desktop_config.json:

Using npx

{ "mcpServers": { "yeoman": { "command": "npx", "args": ["@thirdstrandstudio/mcp-yeoman"] } } }

Direct Node.js

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

Replace /path/to/mcp-yeoman with the actual path to your repository.

Command-line Arguments

The server supports the following command-line arguments:

  • --generator-dir <path>: Specify a persistent directory for installing Yeoman generators. By default, generators are installed in a temporary directory that is removed when the operation completes. Using a persistent directory can improve performance for repeated operations with the same generators.

Example:

{ "mcpServers": { "yeoman": { "command": "node", "args": ["/path/to/mcp-yeoman/dist/index.js", "--generator-dir", "/path/to/generator-storage"] } } }

Examples

Search for Templates

// Search for React-related templates const templates = await callTool("yeoman_search_templates", { query: "react,typescript", pageSize: 10 });

Get Generator Options

// Get options for the React generator const options = await callTool("yeoman_get_generator_options", { generatorName: "react" });

Run a Generator

// Run the React generator const result = await callTool("yeoman_generate", { generatorName: "react", cwd: "/path/to/project", appName: "my-react-app", version: "1.0.0", options: { typescript: true, sass: true } });

Development

# Install dependencies npm install # Start the server in development mode npm start # Build the server npm run build

Error Handling

The server includes comprehensive error handling:

  • Validation errors for invalid parameters
  • Interactive prompt detection and guidance for required options
  • Detailed error logging for debugging
  • Automatic cleanup of temporary directories (unless using --generator-dir)
  • Safe error propagation through MCP protocol

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. When contributing, please:

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request with a clear description of changes
  4. Ensure all tests pass and code style is maintained
ID: 5xi1qh51zy