使用说明
转换MCP游乐场
一个用于单位、货币和时区转换的小型本地工具调用原型,其存档的Qwen 2.5 7B评估分数为25/30提示。
它包含什么
该项目公开了三个转换函数:
- 单位: 公制、英制、温度、复合单位和自定义单位
pallet = 500 kg通过Pint定义。 - 货币: 实时ExchangeRate-API转换,通过pycountry进行货币名称规范化。
- 时区: 通过pytz在IANA时区标识符之间进行时间戳转换。
server.py 通过FastMCP stdio服务器公开这些功能。 eval.py 使用Ollama工具调用评估底层转换器函数;它不通过MCP传输连接。
评估
保存的评估包含30个提示:10个单位转换、10个实时货币转换和10个时区转换。每个提示都会启动一个新的Qwen 2.5 7B对话。模型选择一个函数,接收其输出,并写入最终答案。
| 模型 | 提示 | 通过 | 成功率 |
|---|---|---|---|
| Qwen 2.5 7B途经奥利玛 | 30 | 25 | 83.3% |
问题在 evaluation_questions.json,完整的输出在 test_results.json.
繁殖
要求:
python -m venv .venv
source .venv/bin/activate # Windows PowerShell: .venv\Scripts\Activate.ps1
pip install -r requirements.txt
ollama pull qwen2.5:7b
设置货币API键:
# macOS/Linux
export EXCHANGERATE_API_KEY="your-key"
# Windows PowerShell
$env:EXCHANGERATE_API_KEY = "your-key"
运行记录的评估路径:
python eval.py
使用以下命令启动原型stdio服务器:
python server.py
诠释
结果表明,7B局部模型通常可以选择正确的转换函数并呈现其输出。它还不是协议级MCP基准:记录的评估直接导入转换器函数。
局限性
- 成功检查仅在答案中查找最终的预期令牌或单位;它不会验证完整的数值结果,也不会验证是否调用了预期的工具。
- 货币测试使用实时汇率,因此确切的金额是随时间变化的。
- stdio包装
server.py当前隐藏了导入的转换器名称,在MCP传输路径可靠之前需要一个小的重命名。 - 错误处理返回字符串,而不是结构化MCP错误。
- 该评估有30个手写提示和一个模型,没有延迟或令牌测量。
归因
与 模型上下文协议Python SDK, Ollama, 问题2.5, 品脱, 皮茨, pycountry,以及 汇率-API.