使用说明
快速MCP扩展
此扩展带来 模型上下文协议(MCP) 支持 llms.py,允许您使用各种外部工具和服务扩展LLM功能。
特性
- 并行发现:所有配置的MCP服务器都会同时被发现,以实现快速启动。
- 标准化工具访问:无缝连接到任何兼容MCP的服务器(Node.js、Python等)。
- 动态发现:自动发现并注册配置的服务器公开的所有工具。
- 确定性注册:工具按配置顺序注册;如果多个服务器提供同名工具,则配置中较晚的服务器会覆盖较早的服务器。
- 可靠的执行:每次工具执行都使用与MCP服务器的新连接,以确保隔离和可靠性。
- 错误记录:发现和工具执行的详细stderr日志存储在
logs/目录。
配置
该扩展通过 mcp.json 配置文件。它在两个位置搜索此文件(第一场比赛获胜):
- 用户配置:
~/.llms/user/default/fast_mcp/mcp.json - 默认配置:The
ui/mcp.json文件与扩展名捆绑在一起。
服务器配置选项
每台服务器 mcpServers 支持 mcp_config字段:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
command |
string | Yes | 要运行的可执行文件(例如。, npx, uvx, uv, python) |
args |
array | 否 | 传递给命令的命令行参数 |
env |
object | 否 | 要为服务器进程设置的环境变量 |
timeout |
number | 否 | 工具执行超时(秒) |
description |
string | 否 | 服务器的可读描述 |
环境变量替换
为了实现灵活和共享的配置,您可以使用 $ 两者都有前缀 args 和 env 值,例如:
$PWD-当前工作目录$GEMINI_API_KEY-任何环境变量
选择性注册:MCP服务器仅在以下情况下注册 全部 引用的环境变量可用。如果缺少任何变量,则在发现过程中跳过该服务器。这允许您与可选服务器维护单个共享配置。
示例 mcp.json
{
"mcpServers": {
"git": {
"command": "uvx",
"args": [
"mcp-server-git",
"--repository",
"$PWD"
]
},
"MiniMax": {
"command": "uvx",
"args": [
"minimax-mcp",
"-y"
],
"env": {
"MINIMAX_API_KEY": "$MINIMAX_API_KEY",
"MINIMAX_MCP_BASE_PATH": "$PWD",
"MINIMAX_API_HOST": "https://api.minimax.io",
"MINIMAX_API_RESOURCE_MODE": "url"
}
},
"gemini-gen": {
"description": "Gemini Image and Audio TTS generation",
"command": "uvx",
"args": [
"gemini-gen-mcp"
],
"env": {
"GEMINI_API_KEY": "$GEMINI_API_KEY"
}
},
"omarchy": {
"description": "Manage Omarchy Desktop Themes",
"command": "uvx",
"args": [
"omarchy-mcp"
]
}
}
}
运作原理
发现阶段(启动)
- 延伸载荷
mcp.json并过滤掉缺少环境变量的服务器 - 发现所有有效服务器 并行
- 启动每台服务器,通过以下方式查询其可用工具
list_tools() - 工具已在中注册 配置顺序 (确定性-对于重复的工具名称,后续服务器会覆盖之前的服务器)
执行阶段(运行时)
当调用工具时:
- A. 新连接 已建立到相应的MCP服务器
- 该工具使用提供的参数执行(可配置超时,默认60秒)
- 执行后连接关闭
这种每次执行的新连接方法确保了工具调用之间的可靠性和隔离性。
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
MCP_TIMEOUT |
60.0 |
MCP工具执行超时(秒) |
MCP_LOG_ERRORS |
0 |
设置为 1 为工具执行启用详细的stderr日志记录 |
故障排除
如果工具未出现:
- 检查MCP服务器命令是否可以在您的
PATH - 验证是否导出了所有必需的环境变量
- 使用启用详细的错误记录
MCP_LOG_ERRORS=1 - 查看中的日志
logs/特定错误消息的目录
如果工具超时:
- 增加超时时间
MCP_TIMEOUT=120(或以秒为单位的更高值)
日志文件
日志存储在扩展中 logs/ 目录:
| 日志文件 | 描述 |
|---|---|
{server}_discovery.stderr.log |
发现阶段服务器的Stderr输出 |
{tool_name}.stderr.log |
工具执行时的Stderr输出(当 MCP_LOG_ERRORS=1) |
需求
- Python 3.9+(用于保证字典插入顺序)
- fastmcp -MCP客户端库
