README.md•5.99 kB
# Ember MCP Server
A Model Context Protocol (MCP) server for Ember.js development that provides comprehensive tooling support for Ember CLI commands, codemods, documentation access, and community resources.
## Features
### 🛠️ Ember CLI Integration
- **Detect Ember CLI**: Check if ember-cli is installed and available
- **Run Commands**: Execute any ember CLI command with arguments
- **Help System**: Get help for specific ember commands or general CLI usage
### � Codemods Support
- **List Codemods**: Browse available ember codemods with filtering by category
- **Run Codemods**: Execute codemods directly with custom arguments
- **Categories**: Components, templates, modernization, migration, testing, data
### 📚 Documentation Access
- **Official Guides**: Access specific sections from Ember.js guides
- **Documentation Search**: Search through official Ember.js documentation
- **API References**: Quick access to Ember.js API documentation
### 🌍 Community Resources
- **Addon Search**: Search and discover Ember addons via Ember Observer
- **Community Blogs**: Access curated list of Ember.js blogs and learning resources
- **Tools & Resources**: Direct links to essential Ember.js community tools
## Supported Codemods
The server includes knowledge of popular ember codemods:
- **ember-component-template-colocation-migrator** - Component template colocation (RFC 481)
- **ember-angle-brackets-codemod** - Convert curly braces to angle brackets syntax
- **ember-native-class-codemod** - Convert Ember objects to ES6 native classes
- **ember-modules-codemod** - Upgrade to JavaScript (ES6) modules
- **ember-no-implicit-this-codemod** - Convert `{{foo}}` to `{{this.foo}}`
- **ember-3x-codemods** - Address Ember 3.x deprecations
- **ember-tracked-properties-codemod** - Use `@tracked` properties
- **ember-qunit-codemod** - Convert QUnit tests to new syntax
- **ember-data-codemod** - Upgrade to new ember-data packages
- **tagless-ember-components-codemod** - Convert to tagless components
## Installation
### Requirements
- Node.js 22.0.0 or later
- npm or yarn
### Install from npm (when published)
```bash
npm install -g ember-mcp-server
```
### Install from source
```bash
git clone <repository-url>
cd ember-mcp-server
npm install
npm run build
```
## Usage
### With Claude Desktop
Add this to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"ember": {
"command": "npx",
"args": ["-y", "ember-mcp-server"]
}
}
}
```
### With VS Code
For VS Code with MCP support, add to your MCP configuration:
```json
{
"mcp": {
"servers": {
"ember": {
"command": "npx",
"args": ["-y", "ember-mcp-server"]
}
}
}
}
```
### Direct Usage
Run the server directly:
```bash
npm start
# or
node dist/index.js
```
## Available Tools
### Project Management
- `check_ember_cli` - Verify ember-cli installation
- `run_ember_command` - Execute ember CLI commands
- `get_ember_help` - Get help for ember commands
### Codemods
- `list_ember_codemods` - List available codemods (with optional category filter)
- `run_codemod` - Execute a specific codemod
### Documentation
- `search_ember_docs` - Search official Ember.js documentation
- `get_ember_guides` - Retrieve specific guide sections
- `search_ember_ai_docs` - Search comprehensive Ember.js AI information aggregator for detailed API docs, classes, methods, and examples
### Community
- `get_community_resources` - Browse community resources (with optional category filter)
- `search_ember_addons` - Search for addons via Ember Observer
## Available Resources
- `ember://codemods` - JSON list of available codemods
- `ember://cli-commands` - Text list of ember CLI commands
- `ember://project-info` - JSON information about current Ember project
- `ember://community-resources` - JSON list of community resources
- `ember://ai-docs` - Full text of the comprehensive Ember.js AI information aggregator
## Examples
### Check if ember-cli is available
```
Use the check_ember_cli tool to verify installation
```
### Generate a new component
```
Use run_ember_command with:
- command: "generate"
- args: ["component", "my-component"]
```
### Run angle brackets codemod
```
Use run_codemod with:
- codemod: "ember-angle-brackets-codemod"
```
### Search for routing documentation
```
Use search_ember_docs with:
- query: "routing"
```
### Find testing-related addons
```
Use search_ember_addons with:
- query: "testing"
```
### Search AI documentation for Component API
```
Use search_ember_ai_docs with:
- query: "Component"
- apiType: "classes"
```
### Find all route-related methods
```
Use search_ember_ai_docs with:
- query: "route"
- apiType: "methods"
```
## Development
### Build
```bash
npm run build
```
### Development mode (watch)
```bash
npm run dev
```
### Testing
```bash
npm test
```
## Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
## License
ISC
## Community Resources
This server provides access to various Ember.js community resources:
- **Ember.js Blog** - Official announcements and technical posts
- **Ember Observer** - Addon directory with ratings and compatibility
- **The Ember Times** - Weekly community newsletter
- **Ember.js Discord** - Official community chat
- **EmberMap** - Video tutorials and courses
- **Ember Twiddle** - Online code playground
- **Rock & Roll with Ember.js** - Comprehensive tutorial book
- **Ember Concurrency** - Async task management addon
## Support
For issues and questions:
- Check the [Ember.js Discord](https://discord.gg/emberjs)
- Browse [Ember.js documentation](https://emberjs.com)
- Search [Ember Observer](https://emberobserver.com) for addons
npm install
# Build the project
npm run build
# Development mode with auto-rebuild
npm run dev
```
## Requirements
- Node.js 18+
- TypeScript 5+
- ember-cli (for ember command functionality)
## License
ISC