手搓 一个 MCP Server, 让 Cursor 准确地更新项目工作进展。
关注我,每天收获一个新技能!
1
在上周直播“如何在一个大项目中使用 Cursor 高效跟踪并完成工作任务”的时候,我“翻车了”。 直播视频可以看我的同名视频号。
我在使用Cursor 做软件开发的工作过程中,会让它帮我做任务分解,并将任务列表放在了一个名为 progress.md 的文档中。
然而,每当我开始一个新的工作任务,或者完成一个工作任务时,都使用提示词让 Cursor 自动帮我记录到 progress.md 对应的工作任务上。
然而,LLM 的时间概念很差,经常把当天的日期和时间写错,比如写成去年的 4 月份。
我就想到,应该使用一个 MCP Server 来搞定这个事情。于是,我就上网找了一个 MCP Time Server,配置到了 Cursor 中,解决了这个问题。按下面这样配置[1]一下就行了。
使用 pip install mcp-server-time 安装一下
具体内容如下:
"mcp-server-time": {
"command": "python",
"args": [
"-m",
"mcp_server_time",
"--local-timezone Asia/Shanghai"
]
},
] } 今天想起来,不如自己写一个 MCP Server,做为一次练手,也正好学习一下 MCP Server 的开发。
于是,问 Cursor 有什么框架可以快速实现一个 MCP Server。Cursor 回答是 fastMCP 。
FastMCP是一款专为构建MCP服务器而设计的框架。它提供了丰富的功能,包括工具、资源和提示的定义,支持客户端会话处理,让开发者能够快速搭建高效的服务器,并与客户端进行无缝交互。
它的主要功能如下:
• 简单易用的工具:通过addTool方法,快速定义服务器工具,执行客户端请求。 • 资源管理:支持文件、日志等资源的加载与共享,方便客户端访问。 • 提示定义:通过addPrompt方法,定义可重用的提示模板,优化LLM交互。 • 客户端会话处理:支持会话管理,实现1:1的客户端与服务器通信。 • SSE支持:通过SSE(Server-Sent Events)实现实时通信。
> mkdir mix-server
> cd mix-server
> uv venv venv
> source .venv/bin/activate
> uv pip install fastmcp
以下是 mix-server目录下的main.py内容:
import datetime
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("mix_server") # 这句重要
@mcp.tool()
def get_local_current_time(): # 这个命名现在很重要,比如对 Cursor 说“得到本地当前时间”就靠它
now = datetime.datetime.now()
return now.strftime("%Y-%m-%d@%H:%M:%S")
# Entry point to run the server
if __name__ == "__main__":
mcp.run()
)使用命令fastmcp dev main.py 在当前的代码目录运行一下,可以看到下面的输出,就没有问题。
编辑你的 ~/.cursor/mcp.json 文件,如下所示:
{
"mcpServers": {
"mix_server": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/local/main_py_dir", # 这里写你的 main.py 所在的文件目录
"run",
"main.py"
]
}
}
}
在 Cursor 的 Agent auto-run模式下,输入提示词:“显示一下本地当前时间”。你就会看到下面的结果。
我常用的提示词是:
在继续之前,请将我们的工作计划更新到instructions/process.md 文件中。通过 MCP server 得到当前系统时间。如果我们刚完成一项工作,就用这个时间为这项工作的完成时间。如果是刚开始一项工作,就用它作为这项工作的开始时间。要做对应的时间标记。
结果如下所示,已经修改了:
通过这次实践,我们不仅解决了一个实际工作中的痛点,还学习到了如何开发一个简单的 MCP Server。
有时候看似复杂的问题,其实可以通过一个简单的工具来解决。
更重要的是,这个过程让我们对 Cursor 的扩展能力有了更深的理解,也展示了 AI 编程助手如何通过自定义工具来提升工作效率。
未来,我们还可以基于这个基础,开发更多实用的 MCP Server. 这些工具将帮助我们更好地利用 AI 编程助手,让开发工作变得更加高效和智能。
希望这篇文章能给你带来启发,也欢迎你在评论区留言,分享你的 MCP Server 开发经验!
• GitHub地址:FastMCP: https://github.com/punkpeye/fastmcp • 使用文档:Model Context Protocol Docs: https://modelcontextprotocol.io/docs
FastMCP让MCP服务器的开发变得前所未有的简单,快来体验吧!