9行代码实现MCP Server示例

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

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

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

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

步骤一:安装 mcp 组件
#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 服务的备注是给大模型看的,它通过备注理解接口的功能。所有未来程序员写备注是重要工作了。

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 文件内容如下

{ "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)、备份等功能,可以帮助用户更安全、高效使用数据。

今日好文推荐
每天开发2.5万新 App,一度挤爆 GitHub!一个仅有 15 人的团队创建了“欧洲版 Cursor”,三个月挣了 1 个亿
Siri 跳票,库克震怒换帅!大佬锐评:苹果高层都是快 70 岁老头儿,该换懂 AI 的年轻人上了
谷歌史上最大收购:320 亿美元买下了发现 DeepSeek 数据库泄露的那家小企业
当大模型接管编程:NASA 疯狂的“反人类”编程要求,为何仍被奉为行业圣典?

相关文章

Pytest 入门与进阶:全面掌握 Python 自动化测试

**Pytest** 是 Python 中非常流行的一个测试框架,它提供了一种简单而高效的方式来编写和执行测试,广泛应用于单元测试、功能测试和集成测试。Pytest 以其简洁的语法和丰富的功能,成为...

从零入门Python测试神器pytest!高效测试,代码质量飙升10倍

引言:为什么测试是开发者的"金钟罩"?在编程江湖中,未经测试的代码如同没有铠甲的战士。今天要介绍的pytest,正是Python领域测试覆盖率排名第一的利器(2023年PyPI官方数据...

Python单元测试最佳实践指南:编写高效测试的7个核心技巧

作为Python开发者,编写单元测试是最值得培养(并不断提升)的优秀习惯之一。它能帮助您及早发现错误、简化调试过程,并让您有信心进行代码修改而不破坏现有功能。但并非所有测试都具有同等价值!如果测试代码...

python四个性能检测工具,包括函数的运行内存、时间等等...

这里总结了五个比较好的python性能检测工具,包括内存使用、运行时间、执行次数等方面。首先,来编写一个基础的python函数用于在后面的各种性能测试。def base_func(): for...

Python实现YOLOv8车道线与车辆检测

以下是一个基于YOLOv8和OpenCV实现车道线与车辆检测的Python示例代码,结合了深度学习目标检测和传统图像处理技术:pythonimport cv2import numpy as npfro...

Python进阶-day19: 测试与调试

一、课程目标理解测试的重要性:掌握软件测试的基本概念,了解单元测试在提高代码质量和可维护性中的作用。学习测试框架:熟悉Python中两种主流测试框架unittest和pytest的使用方法,理解它们的...