首页 > 业界 > 关键词  > MCP技术最新资讯  > 正文

怎么编写一个MCP Server给Cursor使用?国内优质MCP客户端有哪些?

2025-04-08 08:49 · 稿源:站长之家用户

对于想要深入了解 MCP 技术的开发者,AIbase的 MCP 资源网站(https://www.aibase.com/zh/repos/topic/mcp)是一个绝佳的选择。该网站提供了丰富的学习资料开发工具社区支持,帮助开发者更好地掌握 MCP 技术。

  • 丰富的学习资料:从基础概念到高级应用,AIbase 提供了详细的文档和教程,适合不同水平的开发者。
  • 实用的开发工具:包括 MCP Server 的示例代码和开发框架,帮助开发者快速搭建和测试自己的 MCP Server。
  • 活跃的社区交流:开发者可以在社区中交流经验、分享项目、提出问题并获得解答。

通过 AIbase 的资源,您可以更深入地探索 MCP 的潜力,并将其应用于更多复杂的场景中

MCP.png

编写一个供 Cursor 使用的 MCP Server 涉及到理解 MCP 的基本原理、定义 Server 的功能、使用 MCP SDK 进行开发以及在 Cursor 中进行配置。

以下是详细的步骤和说明:

一、理解 MCP 的基本原理

MCP(Model Context Protocol)是一个开放协议,旨在标准化应用程序如何向大型语言模型(LLM)提供上下文信息。它通过一个标准的中间协议层,使得 AI 模型能够以一致的方式连接各种数据源、工具和功能。

MCP 架构包含三个核心组件:

  • MCP Host:是指启动连接的应用程序,例如 Cursor、Claude Desktop 和 Cline。
  • MCP Client:客户端在 Host 应用程序内维护与 Server 之间 1:1 的连接。
  • MCP Server:通过标准化的协议,为 Client 端提供上下文、工具和提示。您的目标是创建一个 MCP Server。

MCP Server 可以提供三种主要类型的功能:

  • 工具(Tools):可以被 LLM 调用来执行特定操作的函数。
  • 资源(Resources):类似文件的数据,可以被客户端读取(如 API 响应或文件内容)。
  • 提示(Prompts):预先编写的模板,帮助用户完成特定任务。对于供 Cursor 使用的 Server,工具(Tools)是最常见的形式,允许 Cursor 的 AI 助手执行各种操作。

二、确定 MCP Server 的功能

在开始编写 Server 之前,您需要明确您的 Server 将提供哪些功能。思考一下您希望 Cursor 的 AI 助手能够通过您的 Server 完成哪些任务。

例如,如果您希望 Cursor 能够与本地文件系统交互,您可以创建一个提供以下工具的 Server:

  • list_files:列出指定目录下的文件。
  • read_file:读取指定文件的内容。
  • write_file:将内容写入指定文件。

另一个例子是创建一个与 GitHub 交互的 Server,提供:

  • search_repositories:搜索 GitHub 仓库。
  • search_issues:搜索 GitHub Issues。
  • create_issue:在 GitHub 仓库中创建新的 Issue。

三、选择技术栈和 MCP SDK

MCP 官方提供了 Python 和 TypeScript 的 SDK,您可以选择您熟悉或适合您需求的语言。

  • Python SDK:提供了mcp库,方便您创建 MCP Server。示例代码展示了如何使用 FastMCP 创建一个简单的文件统计 Server。
  • TypeScript SDK:同样提供了相应的库来构建 MCP Server。

根据官方信息,使用 Python 技术栈开发简单的 MCP Server 是一个不错的入门方式。

四、使用 MCP SDK 实现 Server

初始化 Server

使用 SDK 提供的类(例如 Python SDK 中的FastMCPServer)来创建您的 MCP Server 实例,并为其命名。

定义工具(Tools)

使用 SDK 提供的装饰器(例如 Python SDK 中的@mcp.tool()@app.call_tool())来标记您的函数为可被 LLM 调用的工具。每个工具函数都应该有一个清晰的名称(name)和描述(description),描述其功能。这些信息将用于告知 LLM 该工具的作用。

您需要定义工具的输入参数(inputSchema),描述调用该工具所需的参数,包括参数的名称、类型和描述。MCP SDK 通常支持使用 JSON Schema 来定义inputSchema

工具函数应实现具体的功能逻辑,并返回 LLM 可以理解的结果(例如文本、JSON 格式的数据)。

实现list_tools()函数

您的 Server 需要实现一个函数(通常通过装饰器标记,例如 Python SDK 中的@app.list_tools())来返回一个包含所有可用工具信息的列表。这个列表将告知 Client 端您的 Server 提供了哪些工具,以及如何调用它们。

实现call_tool()函数

您需要实现一个函数(通常通过装饰器标记,例如 Python SDK 中的@app.call_tool())来处理 Client 端发送的工具调用请求。这个函数会接收被调用的工具名称和参数,然后根据名称调用相应的工具函数并返回结果。

处理通信

MCP Server 需要监听来自 Client 端的连接和请求。常见的通信方式包括标准输入输出(stdio)和 Server-Sent Events(SSE)。Python SDK 提供了StdioServerTransportSseServerTransport等来实现不同的通信方式。对于 Cursor,通常使用命令行方式启动 Server,通过stdio进行通信可能更直接。

五、配置 Cursor 以使用您的 MCP Server

Cursor 使用.cursor/mcp.json文件来配置要连接的 MCP Server。您需要在您的项目目录(或者全局配置目录)下创建或编辑这个文件。

mcp.json文件中,您需要添加一个 JSON 对象来描述您的 MCP Server。这个对象通常包含以下字段:

  • name:您的 MCP Server 的名称,在 Cursor 中用于标识。
  • command:启动您的 MCP Server 的命令,包括可执行文件的路径。如果您的 Server 是一个 Python 脚本,这可能是 Python 解释器的路径。
  • args:传递给启动命令的参数,例如您的 Server 脚本的路径。
  • type:通信类型,例如command表示通过命令行启动并使用stdio通信。

示例mcp.json配置(假设您的 Server 是一个名为my_server.py的 Python 脚本):

{"mcpServers":{"my_custom_server":{"command":"/usr/bin/env","args":["python","/path/to/your/my_server.py"],"type":"command"
}
}
}

请将/path/to/your/my_server.py替换为您的实际 Server 脚本路径。您可以使用which python命令获取 Python 解释器的路径。

对于 Windows 平台,您可能需要在command中使用cmd /c来执行命令。例如:

{"mcpServers":{"my_custom_server":{"command":"cmd","args":["/c","python","/path/to/your/my_server.py"],"type":"command"
}
}
}

六、运行和测试您的 MCP Server

  1. 保存您的 MCP Server 代码和mcp.json配置文件。
  2. 重新启动 Cursor。
  3. 在 Cursor 中与 AI 助手交互,尝试触发您在 Server 中定义的工具。例如,如果您创建了一个文件系统 Server,您可以询问类似 “列出我桌面上的所有文本文件”。
  4. Cursor 的 AI 助手会分析您的请求,如果判断需要使用您的 MCP Server 提供的工具,它会向您的 Server 发送请求。
  5. 您可以在您的 Server 端添加日志输出来查看是否收到了请求、执行了哪些工具以及返回了什么结果。
  6. 提到了可以使用 MCP Inspector 来测试 Server。您可以通过运行mcp dev your_server.py(如果使用 Python SDK 的 CLI)来启动 Inspector,并在浏览器中查看和测试您的 Server 提供的工具。

七、注意事项

  • 安全性:请注意您暴露的工具可能带来的安全风险,特别是涉及到文件系统操作或敏感数据访问时。确保对工具的使用进行适当的权限控制和验证。
  • 错误处理:在您的 Server 代码中实现完善的错误处理机制,以便在工具调用失败时能够向 Cursor 提供有用的错误信息。
  • 文档:为您的 MCP Server 提供清晰的文档,说明其提供的工具、参数和预期行为,方便您自己和其他开发者使用。
  • 参考官方文档和示例:MCP 官方文档和 SDK 提供的示例代码是您学习和开发的宝贵资源。

通过以上步骤,您应该能够编写一个供 Cursor 使用的 MCP Server,扩展 Cursor 的 AI 助手的功能,使其能够与您定义的外部系统或数据进行交互。记住从简单的工具开始,逐步增加复杂性。

举报

  • 相关推荐
  • AI日报:ChatGPT支持MCP和会议记录功能;Cursor 1.0 版本重磅发布;Midjourney视频功能将在本月上线

    本期AI日报聚焦多项AI领域突破:1)OpenAI为ChatGPT新增企业数据连接和会议记录功能;2)Cursor 1.0发布集成BugBot等开发工具;3)Midjourney即将推出视频生成功能;4)秘塔AI搜索新增PPT导出功能;5)Manus推出文本生成视频工具挑战Sora;6)法国Mistral发布企业级编程助手;7)英伟达推出文档处理专用AI模型;8)腾讯公益引入大模型提升互动体验;9)Firecrawl推出网页抓取API工具;10)Bland AI实现超真实语音克隆;11)报告显示AI训练成本逼近百亿美元;12)开源设计工具Jaaz支持批量图像生成;13)《逆水寒》手游接入AI实现图片动效玩法。

  • 《卓世科技MCP 技术融合实践白皮书》发布

    本文介绍了AI应用开发中MCP(模型上下文协议)的重要作用。MCP作为标准化AI工具交互协议,允许AI代理根据任务上下文自主发现、选择和编排工具,突破传统预定义工具映射的局限。文章重点展示了卓世科技在医疗健康领域的创新实践:通过MCP整合多源异构医疗知识图谱,构建全栈式健康监测网络,实现诊疗规范、药品信息等动态同步;同时开发智能周报系统,实现多模态内容自动生成与精准推送。MCP架构采用客户端-服务器模式,支持本地高效通信与云端实时交互,为AI应用提供灵活性和互操作性。未来,MCP将与A2A协议互补协作,推动AI从单点工具向系统化智能协同演进。

  • 水滴信用开放平台开放支持企业大数据MCP企业信息查询场景

    水滴信用企业大数据平台拥有覆盖全国3.7亿市场主体的企业信用图谱,提供1000+维度的企业数据查询服务。其核心功能包括:工商注册、股东出资、司法诉讼、经营异常等基础信息实时更新;深度风险扫描涵盖行政处罚、股权冻结等全面监控;商业能力洞察包含知识产权、招投标等实力评估;关系网络透视可穿透至最终自然人。平台已上线火山引擎COZE插件,调用量超8000万次,支持金融风控、供应链管理、政府监管等多场景应用,通过MCP技术实现数据智能融合与深度挖掘,推动企业信息查询从静态检索升级为动态智能洞察。

  • AI日报:豆包大模型1.6发布;OpenAI推o3-pro模型、o3价格暴降80%;Figma官方MCP重磅上线

    【AI日报】今日AI领域重要动态:1)火山引擎发布豆包大模型1.6和视频生成模型Seedance1.0pro,性能显著提升;2)OpenAI推出o3-pro模型,专注可靠性但响应较慢;3)Figma推出Dev Mode MCP服务,实现设计到代码一键转换;4)Krea AI发布图像生成模型Krea1,解决传统AI绘图问题;5)火山引擎豆包日调用量突破16.4万亿次;6)法国Mistral发布推理模型Magistral;7)苹果系统整合ChatGPT图像生成功能;8)OpenAI大幅下调o3价格80%并推出o3-pro;9)Hugging Face开源榜单显示中国团队Qwen与DeepSeek进入全球前15;10)阿里开源MaskSearch框架,提升AI解决复杂问题能力。

  • 国内独家AI+操作系统TencentOS Server亮相2025中国国际金融展

    腾讯云TencentOS+Server历经15年技术积累,打造了国内独家AI+操作系统,已在农业银行、招商银行等金融机构核心系统落地应用。该系统具备性能提升、安全稳定等关键能力,支持国产CPU深度优化,实测性能提升9%-25%。其推出的TACO-LLM大模型推理加速器显著降低延迟,在金融信创生态实验室评测中获得权威认证。作为OpenCloudOS社区核心贡献者,TencentOS+Server已适配1697款硬件,覆盖四大架构,并孵化云原生OS"玄湾"等创新项目,成为国产操作系统规模化应用的标杆。

  • 腾讯云TencentOS Server AI,助力荣耀打造高性能AI底座

    随着生成式AI技术爆发式增长,AI大模型开始渗透至手机领域。荣耀基于腾讯云TencentOS Server AI的TACO-LLM加速模块部署DeepSeek-R1等开源大模型,在内部场景应用中实现稳定性、可靠性和推理性能的大幅提升。测试显示,使用TACO-LLM后,首Token延迟最高降低6.25倍,吞吐提升2倍,端到端延迟降低100%。TACO-LLM通过投机采样技术实现大模型"并行"解码,从根本上解决计算密度问题,大幅提升解码效率。荣耀表示该方案打造了高性能AI底座,提供高吞吐低延迟的优化方案,能无缝整合现有大模型部署方案。腾讯云TACO-LLM针对企业级AI模型私有化部署挑战,专门优化了大语言模型内核运行效率。

  • 跨端生态,成就腾讯应用宝PC端千万日活

    眼下,PC赛道越来越受关注。 AI加持之下,PC的销量走出低谷呈现持续回暖的势态,再叠加近年来跨端融合大行其道,PC走上了重返巅峰之路。 公开数据显示,2024年用户在PC端的日均活跃应用数提升了20%,PC日均使用时长达到了8.6小时,同比提升明显。 此背景下,PC成了“香饽饽”。

  • 全球圈粉6000万,被国内粉丝催着上线,PixVerse「国内版」一手实测来了!

    恭喜国内视频创作者!从此,大家又多了一个好用的 AI 视频生成工具。 「你们的产品到底什么时候在国内上线?」 最近,爱诗科技也体验了一把小说作者的待遇 —— 打开后台,发现私信全是「催上线」的信息。

  • Anthropic 开始给 Claude 搞“语音模式”了

    默认情况下,该功能由 Anthropic 的 Claude Sonnet 4 模型提供支持,大多数免费用户每天大约可使用 20 到 30 次。此外,只有付费用户才能使用一项 Google Workspace 连接功能……

  • PCB阻焊桥脱落与LDI工艺

    本文探讨了PCB设计中阻焊桥的作用与工艺要求。阻焊桥用于防止SMD焊盘间焊料流动导致短路,其宽度设计需考虑芯片引脚间距和工厂工艺能力。文章指出,传统CCD曝光技术存在对位误差,而LDI激光直接成像技术精度更高。以STM32F103C8T6芯片为例,其0.2mm引脚间距对阻焊桥设计提出挑战。建议硬件工程师需了解板厂工艺水平,对引脚间距小于0.2mm的芯片应减小阻焊扩展宽度或更换封装类型。文中还展示了阻焊桥脱落导致连锡的实例图片,强调设计时需综合考虑芯片参数和制造工艺。