9行代码实现MCP Server示例

大模型又迎来一个历史性的技术,MCP(Model Context Protocol),这项技术可能会颠覆未来软件形态。当前大模型的短板是有一个非常强的大脑,但是没有手脚,只能访问公开的信息,不能访问企业内部或者个人私有数据,这大大限制了大模型的应用,比如最简单发邮件大模型都干不了,因为这需要有个人信息授权。

MCP是Anthropic设计的标准,Anthropic是美国仅次于OpenAI的大模型技术公司。MCP核心用于规范大模型与外部系统的对接协议,就像硬件里的USB、Type-C类似,是一项标准接口协议。

上面是两张非常经典的MCP架构示意图,理论上MCP可以调用软件和硬件完成非常多的事情,大模型访问浏览器、操作数据库、操作鼠标甚至是与机器人交互都可以使用MCP协议来实现。

接下来用9行代码实际演示python开发一个mcp server并在cursor客户端调用的示例,这个示例是让大模型可以查看到本机的桌面文件列表。


步骤一:安装mcp组件

bash 复制代码
#python 安装 mcp组件pip install mcp

# 检查mcp安装成功D:\temp\mcp-demo>mcp versionMCP version 1.5.0

步骤二:创建mcp server代码

新建一个file.py文件,用于编写MCP Server的python程序代码。

以下是file.py文件内容,注意,备注内容非常重要,传统软件的备注是给程序员看的,但是MCP服务的备注是给大模型看的,它通过备注理解接口的功能。所有未来程序员写备注是重要工作了。

python 复制代码
import osfrom mcp.server.fastmcp import FastMCPmcp = FastMCP()@mcp.tool()def get_desktop_files():    """获取桌面上的文件列表"""        return os.listdir(os.path.expanduser("~/Desktop"))if __name__ == "__main__":    mcp.run(transport='stdio')

在get_desktop_files()方法前面增加@mcp.tool()注解,这个是mcp python sdk规范,用于mcp的客户端自动发现mcp server提供的能力。

步骤三:cursor中配置mcp server

File->Prefrences->cursor settings->MCP

点击[add new global mcp server]按钮后,curor会打开编辑mcp.json文件,添加以下内容,核心是创建一个command,在mcp server启动时执行刚创建的python程序执行

mcp.json文件内容如下

swift 复制代码
{  "mcpServers": {      "listdesktopfiles": {        "command": "python d:\temp\mcp-demo\file.py"      }  }}

编辑好msp.json文件后,回到cursor settings界面,就可以看到新增加了一个listdesktopfiles的MCP Server

点击右边的刷新按钮,就会启动这个server,然后可以在chat对话框中测试了。

步骤四:在左侧cursor chat对话框中测试mcp server

比如输入问题"我的桌面有哪些文件",cursor会自动跳出called MCP tool的交互,点击run即可。

以上就是使用cursor+python的mcp server开发测试的示例。

整理人

叶正盛 ,NineData 创始人 &CEO,资深数据库专家,原阿里云数据库产品管理与解决方案部总经理。NineData(www.ninedata.cloud) 是云原生数据管理平台,提供数据库 DevOps(SQL IDE、SQL 审核与发布、性能优化、数据安全管控)、数据复制(迁移、同步、ETL)、备份等功能,可以帮助用户更安全、高效使用数据。

相关推荐
唯鹿几秒前
AI生成Flutter UI代码实践(一)
人工智能·flutter·ui
jndingxin1 分钟前
OpenCV 图形API(76)图像与通道拼接函数-----对输入图像进行归一化操作函数normalize()
人工智能·opencv·计算机视觉
禺垣5 分钟前
GBDT算法原理及Python实现
人工智能·python·算法·机器学习·数据挖掘·集成学习
Amctwd15 分钟前
【Stable Diffusion】原理详解:从噪声到艺术的AI魔法
人工智能·stable diffusion
西瓜撞月球33 分钟前
RNN——循环神经网络
人工智能·rnn·深度学习
晊恦X.35 分钟前
深度卷积模型:案例研究
人工智能·深度学习
夜幕龙38 分钟前
LeRobot 项目部署运行逻辑(三)——机器人及舵机配置
人工智能·深度学习·机器人
Scc_hy1 小时前
强化学习_Paper_2017_Curiosity-driven Exploration by Self-supervised Prediction
人工智能·python·深度学习·强化学习
硅谷秋水1 小时前
基于视觉的自动驾驶 3D 占据预测:回顾与展望
人工智能·机器学习·计算机视觉·3d·自动驾驶
说私域1 小时前
基于定制开发开源AI智能名片S2B2C商城小程序的会员存量池构建策略研究
人工智能·小程序·开源·零售