云计算百科
云计算领域专业知识百科平台

【MCP】创建第1个MCP服务器(数字比大小)

【MCP】创建第1个MCP服务器(数字比大小)

  • 1、概述
  • 2、服务端搭建
    • (1)初始化应用
    • (2)编写MCP服务端代码
  • 3、客户端配置
    • (1)配置MCP客户端
    • (2)聊天测试

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 ab > 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\\mcpcompare
run
main.py

第2行的文件路径需要跟据main.py所在路径自行配置 [图片]

配置完后,点击右上角“保存”按钮。如果配置没问题,compare工具会自动打开,并且显示“服务器更新成功”字样 [图片]

(2)聊天测试

返回刚刚的聊天界面,下面就出现了一个cmd的图标,这个就是调用MCP工具的图标 [图片]

然后选择compare工具 [图片]

图标变绿代表已经加载了MCP工具 [图片]

我们新建一个话题,问他“请比较数字9.11和9.8哪个大” [图片]

这里要注意,问题里一定要表达出“请比较”或相似的话术,模型才会自动根据意思调用compare工具 [图片]

我们可以看到,模型成功调用了MCP工具compare,并且实现了比大小的功能

赞(0)
未经允许不得转载:网硕互联帮助中心 » 【MCP】创建第1个MCP服务器(数字比大小)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!