在 Claude Desktop 中使用 MCP
在 Claude Desktop 中使用 MCP
Section titled “在 Claude Desktop 中使用 MCP”Claude Desktop 旨在利用模型上下文协议(Model Context Protocol,简称 MCP)来连接各种数据源和工具,从而增强其功能。这使得 Claude 能够访问并利用超出即时对话范围的上下文,从而实现更丰富、更强大的交互。本节将探讨如何在 Claude Desktop 环境中配置和使用 MCP 服务器。
配置和使用预构建的 MCP 服务器
Section titled “配置和使用预构建的 MCP 服务器”作为 MCP 主机应用程序(MCP Host application),Claude Desktop 简化了连接 MCP 服务器的过程。它通常内置支持常见的预构建 MCP 服务器,或允许轻松配置新的服务器。
预构建服务器是 MCP 服务器,它们提供对特定数据源或功能的访问,例如您的本地文件系统(filesystem)、Git 仓库,或 GitHub、Google Drive 等云服务。MCP 生态系统为许多此类服务器提供了参考实现。
配置和使用它们通常包括以下步骤:
- 发现/添加服务器:Claude Desktop 可能有一个设置或连接面板,您可以在其中管理“MCP 根目录”(MCP Roots)。MCP 根目录通常包含服务器 URL 和任何必要的身份验证详细信息。
- 身份验证:对于需要身份验证的服务器(例如,需要令牌才能访问您的私有仓库的 GitHub MCP 服务器),Claude Desktop 将提供一种安全的方式来输入和存储这些凭据,或引导您完成 OAuth 流程。
- 浏览和使用资源:连接后,Claude Desktop 可以向 MCP 服务器查询可用的“资源”(Resources)(例如,文件、文件夹、问题、消息)。您可能能够在 Claude 界面中浏览这些资源,或者更常见的是,Claude 本身将使用这些资源来增强其响应或执行操作。
- 利用工具和提示:连接的 MCP 服务器还可以公开“工具”(Tools)(服务器可以执行的操作)和“提示”(Prompts)(从服务器获取上下文来查询 LLM 的预定义方式)。Claude 随后可以利用这些功能,例如,使用 GitHub MCP 服务器的工具来获取最新的提交消息,或使用文件系统 MCP 服务器检索的提示来总结文档。
想象一下,您正在运行一个本地文件系统 MCP 服务器(Filesystem MCP server)。您需要将其地址(例如 ws://localhost:8080)添加到 Claude Desktop。然后,Claude 就可以(在您的许可下)访问您机器上的文件,并根据其内容回答问题或生成内容。
集成自定义 MCP 服务器
Section titled “集成自定义 MCP 服务器”MCP 的强大之处在于其可扩展性。您可以开发自己的自定义 MCP 服务器,以提供来自专有数据源的上下文或集成专用工具。Claude Desktop 作为符合 MCP 规范的主机,可以连接到这些自定义服务器。
要将自定义 MCP 服务器与 Claude Desktop 集成:
- 开发您的服务器:首先,您需要使用可用的 SDK(例如 TypeScript 或 Python)或直接实现协议来构建您的 MCP 服务器。您的服务器应公开相关的资源、提示和/或工具。
- 确保可发现性:您的服务器需要能够从 Claude Desktop 运行的位置进行网络访问。这可以是本地运行服务器的
localhost,也可以是已部署服务器的远程 URL。 - 添加到 Claude Desktop:与预构建服务器类似,您需要将自定义服务器的 MCP 根目录(URL 和凭据)添加到 Claude Desktop 的配置中。Claude Desktop 中添加新 MCP 服务器的界面应该足够通用,以支持任何兼容 MCP 的服务器。
- 指定身份验证(如果有):如果您的自定义服务器实现了身份验证,请确保 Claude Desktop 可以提供必要的凭据或遵循定义的身份验证流程。
- 测试集成:配置完成后,Claude 应该能够列出并使用您的自定义服务器公开的资源、提示和工具。例如,如果您为公司的内部知识库构建了一个自定义 MCP 服务器,那么 Claude 就可以利用这些信息。
关键在于遵循 MCP 规范。只要您的自定义服务器正确实现该协议(处理 JSON-RPC 消息,公开功能等),Claude Desktop 就应该能够像与任何其他 MCP 服务器一样与其交互。
通过允许集成预构建和自定义服务器,由 MCP 提供支持的 Claude Desktop 成为一个高度通用且上下文感知的 AI 助手,能够从各种来源获取信息和功能,以满足用户的需求。