name: integrate-mcp description: 从 Smithery.ai 或 GitHub 仓库集成现有的 MCP 服务器
目的
帮助用户发现和集成来自生态系统的预建 MCP 服务器,主要来自 Smithery.ai 市场。
何时运行
- 用户输入
/integrate-mcp - 在
/getting-started教程中提及 - 用户询问连接具有现有 MCP 的工具
- 用户想要浏览可用集成
入口点
说:
**想连接更多工具到 Dex 吗?**
在以下网站有 100 多个预建 MCP 服务器的市场:
**[Smithery.ai](https://smithery.ai/servers)**
这些是生产就绪的集成,用于:
• **开发工具:** GitHub、GitLab、Linear、Jira
• **生产力:** Notion、Airtable、Google Sheets
• **通信:** Slack、Discord、Email
• **数据库:** Postgres、MySQL、SQLite
• **监控:** Sentry、Datadog
• **以及更多...**
**工作原理:**
1. 在 Smithery.ai 上浏览匹配您工具的 MCP
2. 复制任何您想要的 MCP 的完整 URL
3. 在此粘贴 - 我将:
- 获取代码/文档
- 解释其功能
- 帮助您配置
- 集成到 Dex
- 更新文档
**或者** 如果您找不到所需内容,运行 `/create-mcp` 来构建自定义。
准备好探索了吗? [浏览 Smithery.ai](https://smithery.ai/servers)
当用户粘贴 MCP URL 时
步骤 1:获取 MCP 源
检测 URL 类型:
- GitHub 仓库:
https://github.com/user/repo - npm 包:
https://npmjs.com/package/name - Smithery.ai:
https://smithery.ai/server/name - 直接源: 任何其他 URL
基于类型获取:
if "github.com" in url:
# 从仓库获取 README.md
readme_url = f"{url}/blob/main/README.md"
content = web_fetch(readme_url)
elif "smithery.ai" in url:
# 从 Smithery 页面获取
content = web_fetch(url)
elif "npmjs.com" in url:
# 获取包信息
content = web_fetch(url)
else:
# 尝试直接获取
content = web_fetch(url)
步骤 2:解析和解释
分析获取的内容:
- MCP 服务器名称
- 功能(能力)
- 所需环境变量
- 安装方法(npm、pip、docker 等)
- 认证要求
说:
**已获取!** 这是 **[服务器名称]** MCP。
**功能:**
• [能力 1] - [描述]
• [能力 2] - [描述]
• [能力 3] - [描述]
**需要设置的内容:**
• [ENV_VAR_1]: [解释这是什么]
• [ENV_VAR_2]: [解释]
**安装方法:** [npm/pip/docker/手动]
**认证:** [API 密钥 / OAuth / 本地 / 无]
准备好集成这个了吗?
步骤 3:指导设置
对于 npm 包:
"这是一个 npm 包。安装方法:
1. 导航到您的 Dex 目录
2. 安装包:
npm install -g [包名称]
3. 我将添加到您的 `.mcp.json` 配置中
希望我继续吗?"
然后添加到 .mcp.json:
{
"[服务器名称]": {
"command": "npx",
"args": ["-y", "[包名称]"],
"env": {
"VAR1": "value1"
}
}
}
对于 Python 包:
"这是一个 Python MCP。安装方法:
1. 通过 pip 安装:
pip install [包名称]
2. 我将添加到您的 `.mcp.json` 配置中
希望我继续吗?"
对于 GitHub 仓库(手动):
"这来自 GitHub 仓库。设置方法:
1. 克隆仓库:
git clone [仓库 URL] ~/dex-mcps/[服务器名称]
2. 安装依赖(如果有)
3. 我将添加到您的 `.mcp.json` 配置中
希望我继续吗?"
步骤 4:配置环境变量
对于每个所需环境变量:
"这个 MCP 需要以下环境变量:
**[ENV_VAR_1]:** [描述]
获取方式: [说明]
**[ENV_VAR_2]:** [描述]
获取方式: [说明]
您可以:
1. 现在设置(我将添加到 `.env` 文件)
2. 稍后在 shell 配置中手动设置
您的 [ENV_VAR_1] 是什么?"
收集值并添加到 .env 文件:
# [服务器名称] MCP 配置
ENVVAR_1=value1
ENV_VAR_2=value2
步骤 5:更新 MCP 配置
添加到 System/.mcp.json:
{
"[服务器名称]": {
"command": "[命令]",
"args": ["[参数]"],
"env": {
"ENV_VAR_1": "${ENV_VAR_1}",
"VAULT_PATH": "{{VAULT_PATH}}"
}
}
}
步骤 6:测试连接
尝试从 MCP 调用基本工具:
"测试连接中..."
[从 MCP 调用简单工具,如 list_resources 或 get_status]
[如果成功:]
"✅ 连接成功![服务器名称] MCP 已激活。
测试它: '[示例自然语言查询]'
看到了吗?来自 [工具] 的真实数据。"
[如果失败:]
"⚠️ 连接失败。常见问题:
• 环境变量设置不正确
• 认证未完成
• MCP 服务器未正确安装
需要帮助调试吗?"
步骤 7:更新文档
添加到 CLAUDE.md:
### [服务器名称] 集成
**MCP 服务器:** [服务器名称]
**目的:** [功能]
**通过此 MCP 可用:**
- [能力 1]
- [能力 2]
**配置:**
- `ENV_VAR_1`: [描述]
**用法:**
- "[自然语言示例 1]"
- "[自然语言示例 2]"
添加到 System/usage_log.md 如果不存在:
- [ ] 已连接 [工具] 通过 MCP
多个集成
第一个集成完成后:
"想添加另一个工具吗?
您可以:
1. 在 Smithery.ai 上浏览更多并粘贴另一个 URL
2. 运行 `/create-mcp` 构建自定义内容
3. 在此停止并探索已有内容
您想做什么?"
故障排除指南
如果连接失败,提供特定调试步骤:
对于认证问题:
"认证失败。让我们调试:
1. 检查 API 密钥是否正确
2. 验证其具有正确权限
3. 尝试直接测试:
curl -H “Authorization: Bearer YOUR_KEY” [API 端点]
想尝试不同的密钥吗?"
对于安装问题:
"安装失败。常见修复:
1. 检查 Node/Python 版本:
node --version # 应为 18+ python --version # 应为 3.8+
2. 尝试全局安装:
npm install -g [包]
或
pip install --user [包]
3. 检查冲突:
npm list -g | grep [包]
想尝试这些步骤吗?"
替代方案:在 Smithery 上找不到
如果用户找不到所需内容:
"在 Smithery 上没找到 [工具] 吗?
没关系 - 我们可以用 `/create-mcp` 构建自定义。
该向导将:
1. 帮助您找到工具的 API 文档
2. 共同设计集成
3. 生成可工作的 MCP 代码
4. 进行集成
根据 API 复杂性,需要约 5-10 分钟。
想从零开始构建 [工具] 集成吗?"
然后转交给 /create-mcp 技能。
成功标准
集成后:
- 用户可以通过自然语言查询其工具
- MCP 已添加到配置中
- 文档已更新
- 用户知道如何添加更多
体验感受:
- “比预期更容易”
- “我可以为任何我使用的工具做这个”
- “这使 Dex 更加强大”
跟踪使用情况(静默)
更新 System/usage_log.md 以标记 MCP 集成已使用。
分析(静默):
调用 track_event,事件名称 mcp_integrated 和属性:
- (无属性 - 不要包含服务器名称)
仅当用户选择启用分析时触发。如果返回 “analytics_disabled”,则无需操作。