Files
Mofox-Core/docs/MCP_SIMPLE_GUIDE.md
subiz 43fe6046b4 没想到吧,我还是没测试()
feat(mcp): 集成MCP SSE协议支持并扩展工具调用能力

新增MCP客户端类型(mcp_ssd),支持通过Model Context Protocol连接外部工具服务器。
更新文档和配置模板,提供完整的MCP接入指南;主程序启动时自动初始化MCP工具提供器,
tool_api 与 tool_use 核心链路新增对MCP工具的检测与调用,实现与既有插件工具的无缝兼容。
同步更新配置模型、模板与帮助文档。
2025-10-05 19:24:57 +08:00

3.7 KiB
Raw Blame History

MCP工具集成 - 简化指南

已完成的工作

MCP (Model Context Protocol) 工具支持已经完全集成到MoFox BotAI现在可以自动发现并调用MCP工具了

🎯 快速开始

步骤1: 启动MCP服务器

首先你需要一个MCP服务器。最简单的方式是使用官方提供的文件系统服务器

# 安装需要Node.js
npm install -g @modelcontextprotocol/server-filesystem

# 启动服务器,允许访问指定目录
mcp-server-filesystem --port 3000 /path/to/your/project

步骤2: 配置Bot

编辑 config/bot_config.toml,在文件末尾添加:

[[mcp_servers]]
name = "filesystem"
url = "http://localhost:3000"
api_key = ""  # 如果服务器不需要认证就留空
timeout = 30
enabled = true

步骤3: 启动Bot

python bot.py

启动后你会看到:

[INFO] 连接MCP服务器: filesystem (http://localhost:3000)
[INFO] 从filesystem获取5个工具
[INFO] MCP工具提供器初始化成功

步骤4: AI自动使用工具

现在AI可以自动调用MCP工具了

示例对话:

用户: 帮我读取README.md文件的内容

AI: [内部决策: 需要读取文件 → 调用 filesystem_read_file 工具]
    README.md的内容是...

用户: 列出当前目录下的所有文件

AI: [调用 filesystem_list_directory 工具]
    当前目录包含以下文件:
    - README.md
    - bot.py
    - ...

🔧 工作原理

用户消息
    ↓
AI决策系统 (ToolExecutor)
    ↓
获取可用工具列表
    ↓
【包含Bot内置工具 + MCP工具】 ← 自动合并
    ↓
AI选择需要的工具
    ↓
执行工具调用
    ↓
返回结果给用户

📝 配置多个MCP服务器

# 文件系统工具
[[mcp_servers]]
name = "filesystem"
url = "http://localhost:3000"
enabled = true

# Git工具
[[mcp_servers]]
name = "git"
url = "http://localhost:3001"
enabled = true

# 数据库工具
[[mcp_servers]]
name = "database"
url = "http://localhost:3002"
api_key = "your-secret-key"
enabled = true

每个服务器的工具会自动添加名称前缀:

  • filesystem_read_file
  • git_status
  • database_query

🛠️ 可用的MCP服务器

官方提供的MCP服务器

  1. @modelcontextprotocol/server-filesystem - 文件系统操作
  2. @modelcontextprotocol/server-git - Git操作
  3. @modelcontextprotocol/server-github - GitHub API
  4. @modelcontextprotocol/server-sqlite - SQLite数据库
  5. @modelcontextprotocol/server-postgres - PostgreSQL数据库

你也可以开发自定义MCP服务器

🐛 常见问题

Q: 如何查看AI是否使用了MCP工具

查看日志,会显示:

[INFO] [工具执行器] 正在执行工具: filesystem_read_file
[INFO] 调用MCP工具: filesystem_read_file

Q: MCP服务器连接失败怎么办

检查:

  1. MCP服务器是否正在运行
  2. URL配置是否正确注意端口号
  3. 防火墙是否阻止连接

Q: 如何临时禁用MCP工具

在配置中设置 enabled = false

[[mcp_servers]]
name = "filesystem"
url = "http://localhost:3000"
enabled = false  # 禁用

📚 相关文档

🎉 总结

MCP工具支持已经完全集成你只需要

  1. 启动MCP服务器
  2. bot_config.toml中配置
  3. 启动Bot

AI会自动发现并使用工具无需任何额外代码


实现方式: 通过修改tool_api.pytool_use.py将MCP工具无缝集成到现有工具系统 版本: v1.0.0 日期: 2025-10-05