返回市场
ember-mcp

ember-mcp

作者:ember-tooling15 星标更新:2025-10-28

项目介绍

Ember MCP Server

一个提供全面访问 Ember 文档、API 参考、指南和社区最佳实践的 MCP(模型上下文协议)服务器。

功能

  • 完整的文档访问:搜索官方 Ember.js API 文档、指南和社区文章
  • API 参考:获取 Ember 类、模块和方法的详细 API 文档
  • 最佳实践:访问精心策划的最佳实践和现代模式,用于 Ember 开发
  • 版本信息:了解 Ember 版本并获取迁移指南
  • 智能搜索:在所有文档源中进行相关性排名的智能搜索

安装

先决条件

  • Node.js 22 或更高版本
  • 任何兼容 MCP 的客户端

配置

使用最新发布的版本在配置中设置:

{
  "servers": {
    "ember": {
      "command": "npx",
      "args": ["-y", "ember-mcp"]
    }
  }
}

或者如果你需要确保使用特定的 shell 环境:

{
  "servers": {
    "ember": {
      "command": "/opt/homebrew/bin/bash",
      "args": ["-l", "-c", "pnpm dlx ember-mcp"]
    }
  }
}
<details><summary>从 GitHub 使用标签发布</summary>
{
  "servers": {
    "ember": {
      "command": "npx",
      "args": ["-y", "github:NullVoxPopuli/ember-mcp#v0.0.2-ember-mcp"]
    }
  }
}

这里支持 npx 支持的所有语法

</details> <details><summary>本地安装</summary>
  1. 克隆或下载此仓库:
cd ember-mcp
npm install
  1. 在 Claude Desktop 中通过编辑你的 claude_desktop_config.json 进行配置:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

添加以下内容到你的 MCP 服务器配置:

{
  "servers": {
    "ember-docs": {
      "command": "node",
      "args": ["/absolute/path/to/ember-mcp/index.js"]
    }
  }
}
</details>

然后,重启你的编辑器或其扩展程序主机

[!NOTE] VSCode 使用 servers 键来表示所有 MCP 服务器,而 Claud 使用 mcpServers

可用工具

1. search_ember_docs

搜索所有 Ember 文档,包括 API 文档、指南和社区内容。

参数:

  • query(必需):搜索查询(例如,'组件生命周期','追踪属性')
  • category(可选):按 'all','api','guides' 或 'community' 过滤(默认:'all')
  • limit(可选):结果的最大数量(默认:5)

示例:

搜索 Ember 文档中的 "追踪属性"

2. get_api_reference

获取特定 Ember 类、模块或方法的详细 API 文档。

参数:

  • name(必需):API 元素的名称(例如,'Component','@glimmer/component','Service')
  • type(可选):API 元素的类型('class','module','method','property')

示例:

获取 Component 类的 API 文档

3. get_best_practices

获取特定主题的 Ember 最佳实践和建议。此工具提供现代模式、应避免的反模式以及社区批准的方法。

参数:

  • topic(必需):要获取最佳实践的主题(例如,'组件模式','状态管理','测试')

示例:

在 Ember 中组件模式的最佳实践是什么?

4. get_ember_version_info

获取关于 Ember 版本的信息,包括当前稳定版本、最近的发布版本和迁移指南。

参数:

  • version(可选):要获取信息的具体版本(如果没有指定,则返回最新版本)

示例:

最新的 Ember 版本有什么新特性?

使用示例

新功能入门

用户:我需要实现一个跟踪用户偏好的功能。在现代 Ember 中最好的方法是什么?

代理将:
1. 使用 search_ember_docs 查找相关的服务和状态管理文档
2. 使用 get_best_practices 推荐现代模式
3. 使用 get_api_reference 显示具体的服务 API 细节
4. 提供遵循最佳实践的代码示例

理解 API 细节

用户:如何使用 @tracked 装饰器?

代理将:
1. 使用 get_api_reference 获取详细的 @tracked 文档
2. 使用 search_ember_docs 查找相关概念
3. 使用 get_best_practices 展示现代反应模式

迁移帮助

用户:我正在从 Ember 3.x 升级到 4.x,我需要注意什么?

代理将:
1. 使用 get_ember_version_info 获取迁移信息
2. 使用 get_best_practices 获取替代已弃用模式的现代模式
3. 使用 search__ember_docs 查找升级指南

数据来源

此 MCP 服务器从综合的 Ember 文档聚合器中获取文档: https://nullvoxpopuli.github.io/ember-ai-information-aggregator/llms-full.txt

该来源包括:

  • 官方 Ember.js API 文档(JSON 格式)
  • 官方指南和教程
  • 社区博客文章和文章
  • 最佳实践和现代模式

文档在服务器启动时加载并解析,然后缓存在内存中以实现快速访问。

强调最佳实践

此 MCP 服务器专门设计用于推广 Ember 最佳实践,通过:

  1. 优先采用现代模式:优先考虑 Octane 版本的模式和现代 JavaScript
  2. 检测反模式:突出显示应避免的模式
  3. 社区智慧:包括社区专家的见解
  4. 版本意识:帮助用户理解版本特定的功能和弃用项
  5. 完整上下文:不仅提供“怎么做”,还提供“为什么”和“何时”

开发

直接运行服务器

npm start

服务器通过标准输入输出通信,并期望 MCP 协议消息。

开发模式

npm run dev

使用 Node 的 --watch 标志,在开发期间自动重启。

架构

服务器由以下部分组成:

  • index.js:主要的 MCP 服务器实现,带有工具处理器
  • lib/documentation-service.js:文档解析、索引和搜索逻辑

文档服务:

  1. 启动时获取完整的文档
  2. 将其解析成可搜索的部分
  3. 对 API 文档进行索引以实现快速查找
  4. 提供具有相关性排名的智能搜索
  5. 提取最佳实践和示例

故障排除

服务器未出现在 Claude Desktop 中

  1. 检查 claude_desktop_config.json 中的路径是否绝对且正确
  2. 确保 Node.js 在你的 PATH 中
  3. 检查 Claude Desktop 日志:~/Library/Logs/Claude/(macOS)
  4. 完全重启 Claude Desktop

文档未加载

服务器在首次使用时获取文档。检查:

  1. 是否有可用的互联网连接
  2. 文档 URL 是否可访问
  3. 服务器日志中的错误消息

搜索未返回结果

  • 尝试更广泛的搜索词
  • 使用 category 参数缩小搜索范围
  • 检查 API 名称的拼写

贡献

欢迎贡献!改进领域包括:

  • 更好的相关性排名算法
  • 常用文档的缓存
  • 支持离线模式
  • 追加最佳实践提取
  • 与 Ember CLI 文档集成

许可证

MIT

链接