MCP 扩展系统
功能概述:通过模型上下文协议(MCP)扩展iFlow CLI能力
学习时间:15-20分钟
前置要求:完成基础操作,了解CLI基本使用
什么是 MCP
MCP(Model Context Protocol,模型上下文协议)是AI领域的"USB接口",它在大模型和外部工具之间建立标准化连接。
核心特点
- 标准化协议:统一的通信标准,替代碎片化集成
- 安全连接:可控的双向数据交换
- 功能扩展:为AI助手添加专业工具能力
- 生态丰富:社区提供数百种MCP服务器
安装 MCP 工具
方法一:心流 MCP 市场(推荐)
访问心流MCP市场,搜索并复制安装命令, 在终端执行安装命令:
# 基本语法
iflow mcp add-json 'server-name' '{JSON配置}'
# 示例:安装Playwright自动化工具
iflow mcp add-json 'playwright' '{"command":"npx","args":["-y","@iflow-mcp/playwright-mcp@0.0.32"]}'
# 在iFlow CLI中执行(添加!前缀)需要手动刷新mcp列表
!iflow mcp add-json 'playwright' '{"command":"npx","args":["-y","@iflow-mcp/playwright-mcp@0.0.32"]}'
/mcp refresh
以上命令都是在项目层面进行安装,如果确保所有项目都可见,在市场中复制对应的全局安装命令
iflow mcp add-json --scope user 'server-name' '{JSON配置}'
方法二:使用 /mcp online
安装
在iFlow CLI中执行 /mcp online
命令可以在线浏览MCP市场,选择合适的MCP进行安装
选中对应的MCP Server后,可以选择在项目范围内安装也可以在用户范围内安装(所有项目都可见)
方法三:使用命令行安装(高阶用户)
查看所有MCP命令:
iflow mcp --help
使用 iflow mcp add-json
命令安装
适用于有现成配置文件的场景:
# 基本语法
iflow mcp add-json <name> '<json-config>'
# 示例:天气API服务器
iflow mcp add-json weather-api '{
"type": "stdio",
"command": "/path/to/weather-cli",
"args": ["--api-key", "abc123"],
"env": {"CACHE_DIR": "/tmp"}
}'
# 验证安装
iflow mcp get weather-api
配置技巧:
- 确保JSON格式正确,注意转义字符
- 使用
--scope user
添加到全局配置 - 避免服务器名称冲突(系统会自动添加后缀)
使用 iflow mcp add
添加标准 stdio 服务器
适用于本地运行的工具:
# 基本语法
iflow mcp add <name> <command> [args...]
# 示例:本地文件处理工具
iflow mcp add file-manager python3 /path/to/file_manager.py
使用 iflow mcp add --transport sse
添加SSE 服务器
适用于需要实时通信的Web服务:
# 基本语法
iflow mcp add --transport sse <name> <url>
# 示例:连接远程API服务
iflow mcp add --transport sse analytics-api https://api.example.com/mcp
# 带认证的连接
iflow mcp add --transport sse secure-api https://api.example.com/mcp --auth-token YOUR_TOKEN
使用 iflow mcp add --transport http
添加远程 HTTP 服务器
# 基本语法
iflow mcp add --transport http <name> <url>
# 示例:连接到notion
iflow mcp -transport http notion https://mcp.notion.com/mcp
# 带认证的连接
iflow mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer your-token"
方法四:从社区安装
GitHub MCP服务器库
第三方市场
在平台上获取serverConfig配置后,使用 iflow mcp add-json
命令安装,确保JSON配置是一个合法的json字符串格式
提示💡:使用第三方 MCP 服务器需要您自担风险 - iFlow CLI 未验证 所有这些服务器的正确性或安全性。 确保您信任正在安装的 MCP 服务器。 在使用可能获取不受信任内容的 MCP 服务器时要特别小心, 因为这些可能会使您面临提示注入风险。
方法五:修改配置文件
配置文件相关详情可以参考: CLI配置文件说明
全局/用户范围可用的MCP 服务器在 iFlow 设置文件中配置,位置为 ~/.iflow/settings.json
。配置定义了要连接的 MCP 服务器以及如何调用它们。
项目范围可用的MCP 服务器配置在项目文件夹的 .iflow/settings.json
位置
mcpServers
(对象):
- 描述: 配置与一个或多个模型上下文协议(MCP)服务器的连接,用于发现和使用自定义工具。iFlow CLI 尝试连接到每个配置的 MCP 服务器以发现可用工具。如果多个 MCP 服务器暴露同名工具,工具名称将以您在配置中定义的服务器别名为前缀(如
serverAlias__actualToolName
)以避免冲突。注意,系统可能会从 MCP 工具定义中剥离某些模式属性以保持兼容性。 - 默认值: 空
- 属性:
<SERVER_NAME>
(对象):命名服务器的服务器参数。command
(字符串,必填):启动 MCP 服务器要执行的命令。args
(字符串数组,可选):传递给命令的参数。env
(对象,可选):为服务器进程设置的环境变量。cwd
(字符串,可选):启动服务器的工作目录。timeout
(数字,可选):对此 MCP 服务器请求的超时时间(毫秒)。trust
(布尔值,可选):信任此服务器并绕过所有工具调用确认。includeTools
(字符串数组,可选):要从此 MCP 服务器包含的工具名称列表。指定时,只有这里列出的工具才可从此服务器使用(白名单行为)。如果未指定,默认启用服务器的所有工具。excludeTools
(字符串数组,可选):要从此 MCP 服务器排除的工具名称列表。这里列出的工具将不可用于模型,即使它们由服务器暴露。注意:excludeTools
优先于includeTools
- 如果工具在两个列表中,它将被排除。
示例:
"mcpServers": {
"myPythonServer": {
"command": "python",
"args": ["mcp_server.py", "--port", "8080"],
"cwd": "./mcp_tools/python",
"timeout": 5000,
"includeTools": ["safe_tool", "file_reader"],
},
"myNodeServer": {
"command": "node",
"args": ["mcp_server.js"],
"cwd": "./mcp_tools/node",
"excludeTools": ["dangerous_tool", "file_deleter"]
},
"myDockerServer": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "API_KEY", "ghcr.io/foo/bar"],
"env": {
"API_KEY": "$MY_API_TOKEN"
}
}
}
MCP 服务器管理
查看已安装的服务器
# 列出所有MCP服务器
iflow mcp list
# 查看特定服务器详情
iflow mcp get <server-name>
删除
# 删除MCP服务器
iflow mcp remove <server-name>
在iFlow CLI中管理
/mcp list
平台兼容性
支持平台
- ✅ macOS:完全支持
- ✅ Windows (WSL):通过WSL支持
- ✅ Linux:原生支持
- ⚠️ Windows 原生:部分功能受限
配置位置
- 全局配置:
~/.iflow/mcp/config.json
- 项目配置:
{project}/.iflow/mcp.json
- Claude Desktop 集成:自动读取Claude Desktop配置