没想到吧,我还是没测试()

feat(mcp): 集成MCP SSE协议支持并扩展工具调用能力

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

View File

@@ -603,4 +603,28 @@ enabled_group_chats = []
# 对于白名单中不活跃的私聊,是否允许进行一次“冷启动”问候
enable_cold_start = true
# 冷启动后,该私聊的下一次主动思考需要等待的最小时间(秒)
cold_start_cooldown = 86400 # 默认24小时
cold_start_cooldown = 86400 # 默认24小时
# ===== MCP (Model Context Protocol) 工具服务器配置 =====
# MCP允许连接外部工具服务器AI可以调用这些工具来执行各种任务
# 例如文件操作、Git操作、数据库查询等
# 示例MCP服务器配置需要取消注释才能启用
#[[mcp_servers]]
#name = "filesystem" # 服务器名称,工具将以此为前缀(如 filesystem_read_file
#url = "http://localhost:3000" # MCP服务器地址
#api_key = "" # API密钥如果服务器需要认证
#timeout = 30 # 超时时间(秒)
#enabled = true # 是否启用此服务器
# 可以配置多个MCP服务器
#[[mcp_servers]]
#name = "git_tools"
#url = "http://localhost:3001"
#enabled = true
# 详细说明:
# 1. MCP服务器需要单独启动Bot启动后会自动连接
# 2. 每个服务器提供的工具会自动注册到Bot的工具系统
# 3. AI会自动发现并在需要时调用这些工具
# 4. 详细文档请参考: docs/MCP_TOOLS_INTEGRATION.md

View File

@@ -30,6 +30,15 @@ max_retry = 2
timeout = 30
retry_interval = 10
[[api_providers]] # MCP SSE协议支持Model Context Protocol via Server-Sent Events
name = "MCPProvider"
base_url = "https://your-mcp-server.com" # MCP服务器地址
api_key = "your-mcp-api-key-here"
client_type = "mcp_sse" # 使用MCP SSE客户端
max_retry = 2
timeout = 60 # MCP流式请求可能需要更长超时时间
retry_interval = 10
# 内容混淆功能示例配置(可选)
[[api_providers]]
name = "ExampleProviderWithObfuscation" # 启用混淆功能的API提供商示例
@@ -121,6 +130,15 @@ api_provider = "SiliconFlow"
price_in = 4.0
price_out = 16.0
# MCP SSE模型示例配置
#[[models]]
#model_identifier = "claude-3-5-sonnet-20241022" # 或其他支持MCP的模型
#name = "mcp-claude-sonnet"
#api_provider = "MCPProvider" # 对应上面配置的MCP provider
#price_in = 3.0
#price_out = 15.0
#force_stream_mode = true # MCP SSE默认使用流式模式
[model_task_config.utils] # 在麦麦的一些组件中使用的模型,例如表情包模块,取名模块,关系模块,是麦麦必须的模型
model_list = ["siliconflow-deepseek-ai/DeepSeek-V3.1-Terminus"] # 使用的模型列表,每个子项对应上面的模型名称(name)
temperature = 0.2 # 模型温度新V3建议0.1-0.3