2025-03-06
模型上下文协议服务器为 LLM 与其环境交互提供了一个标准接口。Cursor Agent 模式和 Claude Code 广泛使用Agent。例如,LLM 可以调用 MCP,而不是需要一个单独的 RAG 系统(例如,以前由 Cursor 提供)来查找和提供模型相关的上下文文件,这将使其在决定做什么之前查找它想要查看的文件。类似地,模型可以运行测试或构建,然后在发生问题时立即着手解决问题。很明显,Anthropic 的内置 MCP 服务器很有用,你应该在可以的时候使用Agent模式。
认知状态:下一节是理论性的,我尚未在实践中尝试过。
要问的另一个问题是,你是否应该编写自己的 MCP 服务器。内置的 MCP 服务器之一是一个 shell,因此在实践中,你可以打开 Cursor 中的 YOLO 模式,并在 Cursor 规则中添加一些关于要运行的命令的说明,这实际上效果很好。但这真的很危险!任意 shell 命令可以做任何事情,并且你的 LLM 预训练集中有很多 shell 命令会破坏你的环境。因此,你主要是在祈祷你的 LLM 有一天不会偏离轨道(或者你是一个谨慎的用户,并在运行每个命令之前对其进行审核——让我们面对现实,谁有时间这样做)。
另一种方法是编写一个 MCP 服务器,该服务器公开你希望你的模型有权访问的命令(注意,这与大多数人在编写 MCP 以访问各种现有平台 API 时的想法略有不同)。原则上,这应该使控制实际最终被调用的工具变得更容易,但截至 2025 年 3 月,Cursor 对此的支持很差。特别是,没有直接的方法可以基于每个项目拥有不同的 MCP 服务器,并且整个生态系统与 MCP 服务器的发展方向是提供普遍适用的工具,而不是等效于npm run
作为 MCP 服务器。
npm run typecheck
,但这在该项目上不起作用。