【MCP】创建第1个MCP服务器(数字比大小)
1、概述
在qwen2.5:0.5b这种小规格的模型中,数字之间比大小是一个难题,经常出现9.11和9.8比不清楚的问题,如下
这时候,我们可以人为的给这个模型引入一个MCP工具,专门用来进行数字之间的比较。
2、服务端搭建
客户端配置及环境安装请参考文章:
【MCP】客户端配置(ollama安装、qwen2.5:0.5b模型安装、cherry-studio安装配置)
【MCP】服务端搭建(python和uv环境搭建、nodejs安装、pycharma安装)
(1)初始化应用
在非中文路径下,创建一个文件夹,例如“MCP”用来存储源码,文件夹名字只要不是中文就行
然后打开刚刚新建的文件夹
默认会创建一个main.py没啥用,删掉即可
打开终端
输入
uv init compare
compare就是默认创建的应用文件夹
进入compare文件夹并执行初始化
cd compare
uv sync
安装mcp库
uv add mcp[cli] --default-index https://pypi.tuna.tsinghua.edu.cn/simple
安装好的库都在.venv文件夹内
将.venv添加为项目的虚拟环境
选择现有的环境,python路径指定为.venv文件夹中的Scripts目录下的python.exe
(2)编写MCP服务端代码
双击main.py
把里面的内容清空
输入以下代码
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("compare")
@mcp.tool()
def compare(a: float, b: float)->str:
"""compare two numbers"""
if a-b > 0:
return f"正确答案:{a}>{b}"
else:
return f"正确答案:{b}>{a}"
if __name__ == "__main__":
mcp.run(transport='stdio')
完毕后右键执行一下看看会不会报错
运行窗口卡在这个页面,代表没问题,只要是不报错就行
然后就可以点击停止按钮退出程序了
前面是运行环境,后面是运行的脚本,脚本的路径保存好,一会会用到
3、客户端配置
客户端配置及环境安装请参考文章:【MCP】客户端配置(ollama安装、qwen2.5:0.5b模型安装、cherry-studio安装配置)
(1)配置MCP客户端
配置之前,先测试一下比大小的能力,我们输入问题“数字9.11和数字9.8哪个大”,发现效果很差
下面开始配置,点击左下角齿轮,进入配置界面
选择ollama,配置qwen2.5模型
点击“更多设置”,勾选“工具”
保存后,就会在右侧显示一个小扳手图标,代表可以调用MCP工具
选择左侧的MCP服务器,点击“添加服务器”
配置一下MCP服务,名称可以起一个compare,方便查看。参数如下。
--directory
C:\Users\stone\Desktop\UV\mcp-compare
run
main.py
第2行的文件路径需要跟据main.py所在路径自行配置
配置完后,点击右上角“保存”按钮。如果配置没问题,compare工具会自动打开,并且显示“服务器更新成功”字样
(2)聊天测试
返回刚刚的聊天界面,下面就出现了一个cmd的图标,这个就是调用MCP工具的图标
然后选择compare工具
图标变绿代表已经加载了MCP工具
我们新建一个话题,问他“请比较数字9.11和9.8哪个大”
这里要注意,问题里一定要表达出“请比较”或相似的话术
,模型才会自动根据意思调用compare工具
我们可以看到,模型成功调用了MCP工具compare,并且实现了比大小的功能