Connect with us

人工智能

Claude 的模型上下文协议 (MCP):开发者指南

mm

Anthropic 的 模型上下文协议 (MCP) 是一个开源协议,实现了 AI 助手和数据源(如数据库、API 和企业工具)之间的安全双向通信。通过采用客户端-服务器架构,MCP 标准化了 AI 模型与外部数据的交互方式,消除了为每个新数据源进行自定义集成的需要。

MCP 的关键组件:

  • 主机:初始化连接的 AI 应用程序(例如 Claude Desktop)。
  • 客户端:在主机应用程序内与服务器保持一对一连接的系统。
  • 服务器:为客户端提供上下文、工具和提示的系统。

为什么 MCP 重要?

简化集成

传统上,连接 AI 模型到不同数据源需要自定义代码和解决方案。MCP 用单一标准化协议取代了这种分散的方法,从而加速了开发并减少了维护负担。

增强 AI 能力

通过为 AI 模型提供对多样化数据源的无缝访问,MCP 增强了它们产生更相关和准确响应的能力。这对于需要实时数据或专用信息的任务特别有益。

促进安全

MCP 的设计考虑了安全性。服务器控制自己的资源,消除了与 AI 提供商共享敏感 API 密钥的需要。该协议建立了明确的系统边界,确保数据访问是受控和可审计的。

协作

作为开源计划,MCP 鼓励开发者社区的贡献。这种协作环境加速了创新并增加了可用的连接器和工具的范围。

MCP 的工作原理

架构

MCP 架构

MCP 架构

MCP 的核心遵循客户端-服务器架构,其中一个主机应用程序可以连接到多个服务器。这使得 AI 应用程序能够与各种数据源无缝交互。

组件:

  • MCP 主机:希望通过 MCP 访问资源的程序,例如 Claude Desktop、IDE 或 AI 工具。
  • MCP 客户端:维护与服务器一对一连接的协议客户端。
  • MCP 服务器:轻量级程序,每个程序通过标准化的模型上下文协议暴露特定的功能。
  • 本地资源:您的计算机资源(数据库、文件、服务),MCP 服务器可以安全地访问这些资源。
  • 远程资源:通过互联网提供的资源(例如通过 API),MCP 服务器可以连接到这些资源。

开始使用 MCP

先决条件

  • Claude Desktop 应用程序:适用于 macOS 和 Windows。
  • SDK:MCP 提供 TypeScript 和 Python 的 SDK。

开始步骤

  1. 安装预构建的 MCP 服务器:首先通过 Claude Desktop 应用程序 安装常见数据源(如 Google Drive、Slack 或 GitHub)的服务器。
  2. 配置主机应用程序:编辑配置文件以包含要使用的 MCP 服务器。
    {
    "mcpServers": {
    "sqlite": {
    "command": "uvx",
    "args": ["mcp-server-sqlite", "--db-path", "/path/to/your/database.db"] }}}
  3. 构建自定义 MCP 服务器:使用提供的 SDK 创建适合您特定数据源或工具的服务器。
  4. 连接和测试:在 AI 应用程序和 MCP 服务器之间建立连接,并开始实验。

幕后发生了什么?

当您使用 MCP 与 AI 应用程序(如 Claude Desktop)交互时,会发生几个过程以促进通信和数据交换。

1. 服务器发现

  • 初始化:启动时,MCP 主机(例如 Claude Desktop)连接到您的配置的 MCP 服务器。这建立了初始的通信通道,用于进一步的交互。

2. 协议握手

  • 能力协商:主机应用程序和 MCP 服务器执行握手以协商能力并建立共同的理解。
  • 识别:主机根据 MCP 服务器暴露的资源或功能,识别哪个 MCP 服务器可以处理特定的请求。

3. 交互流程

让我们考虑一个示例,您正在通过 Claude Desktop 查询本地 SQLite 数据库。

MCP 协议

MCP 协议

步骤过程:

  1. 初始化连接:Claude Desktop 连接到配置为与 SQLite 交互的 MCP 服务器。
  2. 可用功能:MCP 服务器通讯其功能,例如执行 SQL 查询。
  3. 查询请求:您提示 Claude Desktop 检索数据。主机将查询请求发送到 MCP 服务器。
  4. SQL 查询执行:MCP 服务器在 SQLite 数据库上执行 SQL 查询。
  5. 结果检索:MCP 服务器检索结果并将其发送回 Claude Desktop。
  6. 格式化结果:Claude Desktop 以可读格式呈现数据给您。

更多用例

  • 软件开发:通过将 AI 模型连接到代码存储库或问题跟踪器来增强代码生成工具。
  • 数据分析:允许 AI 助手访问和分析来自数据库或云存储的数据集。
  • 企业自动化:将 AI 与业务工具(如 CRM 系统或项目管理平台)集成。

MCP 架构的优势

  • 模块化:通过分离主机和服务器,MCP 允许进行模块化开发和更容易的维护。
  • 可扩展性:多个 MCP 服务器可以连接到单个主机,每个服务器处理不同的资源。
  • 互操作性:通过 MCP 标准化通信,实现了不同 AI 工具和资源之间的无缝协作。

早期采用者和社区支持

ReplitCodeium 的公司已经开始支持 MCP,而像 BlockApollo 的组织已经实施了它。这种日益增长的生态系统表明了强大的行业支持和 MCP 的美好前景。

资源和进一步阅读

结论

模型上下文协议是简化 AI 模型与数据源交互的一步。通过标准化这些连接,MCP 不仅加速了开发,还增强了 AI 助手的能力。Anathopic 在为开发者提供使用 AI 的工具方面做得很好。

我过去五年一直沉浸在令人着迷的机器学习和深度学习世界中。我的热情和专业知识使我能够为超过50个不同的软件工程项目做出贡献,特别注重人工智能/机器学习。我的持续好奇心也使我对自然语言处理产生了兴趣,这是一个我渴望进一步探索的领域。