ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0px 1em;color: rgb(63, 63, 63);">一、MCP的背景ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">在mcp没有出现来之前,我们与大模型的交互大部分都是通过API或者大模型要求的接口。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">GTP商店、coze智能体所要求的server都是不一样的,为了适配多个大模型,1个服务要开发多个server服务。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);"> ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;" title="null"/>ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">一句话概括就是mcp 就是定义了统一的服务协议,同时大模型可以借助mcp 协议来对接n个 mcp server,从而增强大模型的能力。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);"> ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;" title="null"/>ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0px 1em;color: rgb(63, 63, 63);">二、 MCP定义介绍ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">MCP(Model Control Protocol)是一个开放标准协议,专为控制和交互大型语言模型(LLMs)而设计。这个协议由Anthropic公司提出并开源,旨在提供一种标准化的方式来与AI模型进行通信。 Cursor作为一款面向开发者的AI编辑器,原生集成了MCP协议,使开发者能够连接到任何兼容MCP的模型服务。这为开发团队提供了极大的灵活性,既可以使用公共AI服务,也可以连接到企业内部部署的AI模型。 mcp的架构图  参考地址: https://modelcontextprotocol.io 三、如何使用一个官方mcp如何使用mcp ,可以参考官方的地址 https://modelcontextprotocol.io/examples 1、filesystem,目的:解决了直接访问本地文件夹的功能 具体命令:  因此,拼接的command命令如下: npx-y@modelcontextprotocol/server-filesystem/Users/syw/Downloads/book 在cursor mcp 中添加。  02 直接让大模型访问本地数据库 首先,mac 安装pg。安装方法是:https://juejin.cn/post/7239990044333801533 接下来就是运行命令了。  因此,拼接的command命令如下: npx-y@modelcontextprotocol/server-postgrespostgresql://postgres:123456@localhost:5432/postgres 在cursor mcp添加:  四、如何写一个mcp server 供cursor使用困境:本地文件无法自动发送到服务器。 解决办法:让cursor学习一些mcp server的demo,然后自己学习,帮我生成新的mcp server。 步骤一:让cursor去理解mcp的官方文档,生成mcp的提示词。 首先下载官方的例子: https://github.com/modelcontextprotocol/quickstart-resources/ 然后cursor打开文件执行下面的提示词: 你先学习mcp的写法,然后给我生成一个结构化的mcp提示词,要求务必按照官方demo的写法。 小tips:这个要在ask中执行,不然,永远也不能达到想要的效果。下面就是我生成的mcp 提示词。 MCP_TEMPLATE ="""你是一个 MCP (Model Context Protocol) 服务器开发专家。请按照以下结构帮助用户开发 MCP 服务器:
1. 服务器基本结构分析: - 服务器名称和用途 - 需要实现的主要功能 - 需要用到的外部依赖
2. 代码结构设计: - 导入必要的包和模块 - 初始化 MCP 服务器实例 - 定义常量和配置 - 实现辅助函数 - 实现 @mcp.tool() 装饰的工具函数 - 主函数运行服务器
3. 关键要点提醒: - 必须使用 @mcp.tool() 装饰器 - 必须在主函数中使用 mcp.run(transport='stdio') - 工具函数需要清晰的文档字符串 - 建议使用异步函数提高性能
4. 代码示例格式: ```python import mcp from typing import Any
# 初始化服务器 mcp = mcp.FastMCP("server_name")
# 工具函数示例 @mcp.tool() async def your_tool(param: str) -> str: \"\"\"工具函数的文档字符串 Args: param: 参数说明 Returns: 返回值说明 \"\"\" # 实现逻辑 return result
if __name__ == "__main__": mcp.run(transport='stdio') ```
5. 测试和调试建议: - 使用 uv run your_server.py 运行服务器 - 检查 ~/Library/Logs/Claude/mcp*.log 日志文件 - 确保 claude_desktop_config.json 配置正确
请根据用户的具体需求,按照上述结构提供详细的实现方案。
用户需求:{user_requirement}
请按照以上结构,为用户生成完整的 MCP 服务器实现方案。 """
步骤二:添加cursor rules,将生成的rule添加到客户端。  步骤三:结合mcp提示词,加上自己业务内容,让cursor生成 根据mcp专家的提示词rule,编写一个实现了将本地的/Users/syw/project/wechatAr文件夹下的所有文件上传到服务器47.93.xx.xx用户名root目录/opt/ll,已经配置好远程免密码登陆。现在开始实现这个mcp服务,集成scp命令。当我关键词是”上传微信目录“,就可以调用mcp的tool自动触发。 步骤四:打开setting,去mcp中更添加server。 添加的时候,commnad 一定要选择我们执行文件的绝对路径,不然的话cursor是找不到文件路径目录的。 
|