A Model Context Protocol (MCP) server that provides integration with Yeoman generators, allowing AI agents to search for and run Yeoman templates programmatically.
This server implements the following MCP tools:
yeoman_search_templates- Search for Yeoman templates on npm- Parameters:
query(string): Search keywords separated by commaspageSize(number, optional): Number of results to return (default: 20)
- Parameters:
-
yeoman_get_generator_options- Get the required options and arguments for a Yeoman generator- Parameters:
generatorName(string): Name of the generator (without 'generator-' prefix)
- Parameters:
-
yeoman_generate- Run a Yeoman generator- Parameters:
generatorName(string): Name of the generator (without 'generator-' prefix)cwd(string): Working directory where the generator should runappName(string): The name of the application to createversion(string): The version of the application to createoptions(object, optional): Options to pass to the generatorargs(array, optional): Additional positional arguments to pass to the generator
- Parameters:
To install mcp-yeoman for Claude Desktop automatically via Smithery:
npx @smithery/cli@latest install mcp-yeoman --client claude- Node.js (v16 or later)
- npm or yarn
# Clone the repository
git clone https://github.com/thirdstrandstudio/mcp-yeoman.git
cd mcp-yeoman
# Install dependencies
npm install
# Build the package
npm run buildAdd the following to your claude_desktop_config.json:
{
"mcpServers": {
"yeoman": {
"command": "npx",
"args": ["@thirdstrandstudio/mcp-yeoman"]
}
}
}{
"mcpServers": {
"yeoman": {
"command": "node",
"args": ["/path/to/mcp-yeoman/dist/index.js"]
}
}
}Replace /path/to/mcp-yeoman with the actual path to your repository.
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"]
}
}
}// Search for React-related templates
const templates = await callTool("yeoman_search_templates", {
query: "react,typescript",
pageSize: 10
});// Get options for the React generator
const options = await callTool("yeoman_get_generator_options", {
generatorName: "react"
});// 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
}
});# Install dependencies
npm install
# Start the server in development mode
npm start
# Build the server
npm run buildThe 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
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.
Contributions are welcome! Please feel free to submit a Pull Request. When contributing, please:
- Fork the repository
- Create a feature branch
- Submit a pull request with a clear description of changes
- Ensure all tests pass and code style is maintained