如何搭建自己的 MCP 服务器?

Anthropic 发布了模型上下文协议,这是一种将 AI 系统与外部系统连接的新标准,外部系统可以是任何数据源,如网络、本地数据库或其他存在数据的工具。MCP 解决了将 AI 模型与数据隔离并在不同信息源和系统之间有效连接的挑战。

在本博客中,将探索 MCP 以及如何构建自定义 MCP 服务器,涵盖内容如下:

  • MCP 概述:是开源协议,标准化外部应用向语言模型提供上下文的方式,实现语言模型与外部工具的无缝集成,提供即时轻松集成、可自由切换语言模型提供商、基础设施内的安全数据处理等优势。
  • MCP 架构:遵循客户端-服务器架构,包括带有 MCP 客户端的主机(作为连接器)、MCP 服务器(执行特定任务)、本地数据源(本地机器上的文件、数据库等)、远程服务(外部 API 等)以及 MCP 消息类型(请求、响应、通知)。
  • 预构建的 MCP 服务器:已有针对 GitHub、Cloudflare 和 Slack 等主要平台的预构建服务器,更多通过社区和第三方贡献添加,可查看完整列表这里
  • 在 Claude Desktop 中添加预构建的 MCP 服务器:下载并安装 Claude Desktop App,配置 Node.js,在 Claude 的设置中添加 MCP 服务器配置(如 Filesystem MCP 服务器或 GitHub MCP 服务器),包括复制配置并替换相关信息,重启 Claude 使其生效,可测试服务器功能(如 Filesystem MCP 服务器的目录操作等)。
  • 构建自己的 MCP 服务器:可以使用 Python SDK 等构建 MCP 服务器或客户端,以 Python SDK 为例,通过 pip 或 uv 安装 mcp 包,遵循 OAuth 2.0 配置指南设置 API 范围并获取credentials.json,实现 Gmail 和 Google 日历的相关功能(如获取邮件、搜索邮件、创建日历事件等),将服务器添加到claude_desktop_config.json中,注意处理可能出现的错误(如 npm 错误、Error: spawn uv ENOENT等)。
  • MCP 客户端支持:除 Claude 外其他客户端也支持 MCP,但在服务器功能方面有一定限制,可查看这里构建 MCP 客户端。

总之,已涵盖 MCP 的基本原理、预构建服务器和自定义服务器的构建等内容,可通过让语言模型协助创建自定义 MCP 服务器并在 Claude Desktop 中使用。

阅读 11
0 条评论