MCP Yeoman Server
by Third Strand Studio
The MCP Yeoman Server provides integration with Yeoman generators, allowing AI agents to search for and run Yeoman templates programmatically. It enables the use of Yeoman templates within AI-driven workflows.
Last updated: N/A
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.
<img width="832" alt="Cursor_CIuNzjl6ca" src="https://github.com/user-attachments/assets/d062eb45-320e-4f4a-8bfa-121bb522b8b7" />Tools
This server implements the following MCP tools:
Template Search Methods
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:
Generator Methods
-
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:
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:
- 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