首页 > 其他分享 >深度解析:Anthropic MCP 协议

深度解析:Anthropic MCP 协议

时间:2024-12-04 19:59:26浏览次数:7  
标签:MCP AI uv Claude Anthropic https 解析 开发者

深度解析:Anthropic MCP 协议

刚看的一篇浮之静大佬写的详细介绍Claude MCP 的文章,作者写的非常详细,特地分享给各位佬们

原文地址:http://mp.weixin.qq.com/s?__biz=MzIzNjE2NTI3NQ==&mid=2247489489&idx=1&sn=6ea58e8984a34a4967e112b44ab01c37&chksm=e91d1ca0b7855765a0a6a1d3b27706b1a95279b587ed38e7b1fe164ddada99b06456e1bb8c6f&mpshare=1&scene=23&srcid=1127eDtXwirBHprIs02wXZVy&sharer_shareinfo=6a0c1e95813b3f81384942ca92aab778&sharer_shareinfo_first=6a0c1e95813b3f81384942ca92aab778#rd 35

正如 LSP 成为了 IDE 的通用标准一样,Anthropic 正在将 MCP 打造成 LLM 集成的开放标准。

前段时间 OpenAI 发布了一个实时访问第三方应用的功能来为 ChatGPT 提供上下文(ChatGPT 升级为实时协作助手 4),没想到 Claude 这么快就带来了一个 LLM 协议标准,直接将 AI 能力拉满(现在下结论为时尚早)。不过当我看完整个协议以及简单上手体验后,我想说:“真牛逼,它以一种非入侵方式最大限度获取到系统权限来拓展 AI 的能力边界”!

模型上下文协议(MCP)是 Anthropic 推出的开放标准,旨在通过统一的客户端-服务器架构解决 LLM 应用与数据源连接的难题。它支持通过同一协议访问本地资源(如数据库、文件)和远程资源(如 Slack、GitHub API),无需定制集成。MCP 不仅共享数据,还可公开工具和交互模板,且内置安全性,确保资源由服务器完全掌控。目前 MCP 支持本地运行,未来将引入企业级认证的远程支持,实现团队间的安全共享。通过 Claude 桌面应用,开发者可在短时间内集成 MCP,快速连接多种数据源,推动 AI 集成的标准化发展。

MCP 简介

近日,Model Context Protocol[1](MCP,模型上下文协议)正式开源。作为一项连接 AI 助手与数据系统的新标准,MCP 的诞生旨在解决当前 AI 模型因数据孤岛限制而无法充分发挥潜力的难题。这项由 Claude 推动的技术创新为开发者提供了一个开放的、统一的解决方案,使 AI 系统能够与多种内容存储库、业务工具和开发环境高效对接,显著提升模型的响应质量与相关性。

背景

解决碎片化问题,为 AI 打开数据大门。

当前,AI 助手已成为主流工具,模型能力的进步使推理和质量得以迅速提升。然而,数据访问的瓶颈依然存在。每个数据源需要独立的定制集成,这种碎片化的方式不仅效率低下,还限制了 AI 的可扩展性。

MCP 的出现就是为了改变现状。它作为一个通用的开放协议,为数据源与 AI 系统之间的连接提供了统一标准,替代复杂的多源整合方式。这种设计极大简化了数据接入过程,降低开发者的工作量,同时让 AI 系统能够更加全面和准确地访问数据,推动系统从孤立走向协同。

MCP 核心

MCP 的架构清晰且开放,开发者可以通过 MCP 服务器对外提供数据,或构建 MCP 客户端,将 AI 应用与这些服务器连接。为推动开发者快速上手,MCP 开源了以下三大核心工具:

  • MCP 规范及 SDK:帮助开发者轻松理解和实现协议功能。
    • MCP 官网:https://modelcontextprotocol.io
    • MCP GitHub:https://github.com/modelcontextprotocol
  • 本机 MCP 服务支持:通过 Claude 桌面应用快速实现本地化数据连接,应用安装链接 https://claude.ai/download
  • 开源服务代码库:包含 Google Drive、Slack、GitHub 等流行系统的预构建实现,便于直接部署和测试。访问链接 https://github.com/modelcontextprotocol/servers

此外,Claude 3.5 Sonnet 模型还支持快速开发 MCP 服务器,使个人和企业能够以最低的门槛实现与重要数据集的对接。

行业动态

目前,MCP 已被 Block 和 Apollo 等企业率先应用,并逐步融入 Zed[2](Zed MCP 源码实现 context_server/protocol.rs[3])、Replit[4]、Codeium[5] 和 Sourcegraph[6] 等开发工具平台。这些公司通过 MCP 增强 AI 对上下文的理解能力,使 AI 能够在编码任务中高效检索相关信息,生成更准确、更具功能性的代码。

c3fdaeace3a545eb11ad3cce01691334_640_wx_fmt=png&from=appmsg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

Block 的首席技术官 Dhanji R. Prasanna 表示:“在 Block,开源不仅仅是一种开发模式,它是我们工作的基石,更是一种承诺——致力于创造能够推动深远变革、造福公众的技术。像 Model Context Protocol 这样的开源技术,是将 AI 与现实应用连接起来的桥梁,确保创新以开放、透明和协作为核心。我们非常高兴能参与这一协议的开发,并借助它构建自主化系统,让人们摆脱机械性任务的束缚,专注于更具创造性的工作。”

通过 MCP,开发者不再需要为每个数据源维护独立的连接器,而是可以基于标准协议构建一套通用的解决方案。随着生态系统的不断完善,AI 系统将能够在不同工具和数据集之间保持上下文一致性,为企业和开发者带来更具前景的技术架构。

未来展望

Claude 团队表示,他们致力于将 MCP 打造成一个协作性的开源生态系统,鼓励开发者、企业以及早期技术探索者共同参与,推动具有上下文感知能力的 AI 工具走向更广阔的未来。

开发者目前可以通过 Claude 桌面应用快速部署 MCP 服务,也可以根据官方提供的快速入门指南构建自己的 MCP 解决方案。同时,开源社区已开放了连接器和实现的代码库,支持开发者贡献自己的扩展功能。

随着 MCP 的普及,AI 系统将更好地突破数据隔离的限制,真正实现与现实环境的无缝对接。对于技术领域而言,这无疑是一次重要的里程碑,也为 AI 生态的可持续发展带来了全新可能。

我自己根据文档几分钟就跑通了本地数据库连接,在开始前需要做一些额外准备:

  • 打开桌面应用的开发者模式,方便进行日志调试(菜单 Help → Enable Developer Mode -> 点击弹窗 Enable 按钮)。

    f943cdcd84e0c519912fd98fa574ad62_640_wx_fmt=png&from=appmsg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

  • 启用开发者模式后,会在菜单中多一个 Developer 菜单项,点击 Open MCP Log File 可以打开日志文件,查看到操作日志,方便排查问题。

    1ffc4edb93d9be0c023658fa26d59f8c_640_wx_fmt=png&from=appmsg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

:pushpin: 前置条件

  • macOS 或 Windows 系统
  • 已安装最新版本的 Claude 桌面应用(当前为 0.7.1 版本)
  • uv[7] 0.4.18 或更高版本(可通过 uv --version 检查)
  • Git(git --version 检查)
  • SQLite(sqlite3 --version 检查)

如果系统环境不存在 uv、Git、SQLite,可通过以下方式在命令行中进行安装:

macOS 安装

# Using Homebrew brew install uv git sqlite3 # Or download directly: # uv: https://docs.astral.sh/uv/ # Git: https://git-scm.com # SQLite: https://www.sqlite.org/download.html

Windows 安装

# Using winget winget install --id=astral-sh.uv -e winget install git.git sqlite.sqlite # Or download directly: # uv: https://docs.astral.sh/uv/ # Git: https://git-scm.com # SQLite: https://www.sqlite.org/download.html

操作步骤

  • 设置本地 SQLite 数据库
  • 通过 MCP 将 Claude 桌面应用连接到该数据库
  • 安全地查询和分析数据

930000ffae63ce929deccc724bc76e56_640_wx_fmt=png&from=appmsg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

Step 1:创建测试数据库

macOS 请执行以下命令(路径:/Users/YOUR_USERNAME/test.db):

sqlite3 ~/test.db <<EOF CREATE TABLE products ( id INTEGER PRIMARY KEY, name TEXT, price REAL ); INSERT INTO products (name, price) VALUES ('Widget', 19.99), ('Gadget', 29.99), ('Gizmo', 39.99), ('Smart Watch', 199.99), ('Wireless Earbuds', 89.99), ('Portable Charger', 24.99), ('Bluetooth Speaker', 79.99), ('Phone Stand', 15.99), ('Laptop Sleeve', 34.99), ('Mini Drone', 299.99), ('LED Desk Lamp', 45.99), ('Keyboard', 129.99), ('Mouse Pad', 12.99), ('USB Hub', 49.99), ('Webcam', 69.99), ('Screen Protector', 9.99), ('Travel Adapter', 27.99), ('Gaming Headset', 159.99), ('Fitness Tracker', 119.99), ('Portable SSD', 179.99); EOF

Windows 用户执行以下命令(路径:C:\\Users\\YOUR_USERNAME\\test.db):

$sql = @' CREATE TABLE products ( id INTEGER PRIMARY KEY, name TEXT, price REAL ); INSERT INTO products (name, price) VALUES ('Widget', 19.99), ('Gadget', 29.99), ('Gizmo', 39.99), ('Smart Watch', 199.99), ('Wireless Earbuds', 89.99), ('Portable Charger', 24.99), ('Bluetooth Speaker', 79.99), ('Phone Stand', 15.99), ('Laptop Sleeve', 34.99), ('Mini Drone', 299.99), ('LED Desk Lamp', 45.99), ('Keyboard', 129.99), ('Mouse Pad', 12.99), ('USB Hub', 49.99), ('Webcam', 69.99), ('Screen Protector', 9.99), ('Travel Adapter', 27.99), ('Gaming Headset', 159.99), ('Fitness Tracker', 119.99), ('Portable SSD', 179.99); '@ cd ~ & sqlite3 test.db $sql

Step 2:配置 Claude 应用

配置文件路径:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

文件可通过命令打开,也可以通过 Claude 设置界面打开(点击 编辑配置(Edit Config) 按钮)。

标签:MCP,AI,uv,Claude,Anthropic,https,解析,开发者
From: https://blog.csdn.net/rpc2u/article/details/144248444

相关文章

  • 深入解析Java线程源码:从基础到并发控制的全面指南(一)
    一:Java线程基础和源码解析packagejava.lang;importjava.lang.ref.Reference;importjava.lang.ref.ReferenceQueue;importjava.lang.ref.WeakReference;importjava.security.AccessController;importjava.security.AccessControlContext;importjava.security.Pr......
  • 荷包蛋做法解析
    荷包蛋的两种主要做法是水煮和煎制。‌‌水煮荷包蛋‌:首先,准备适量的鸡蛋,并选择表面粗糙的鸡蛋以确保新鲜。将鸡蛋放入盐水中清洗干净。在锅中加入足够的清水并烧开,然后将鸡蛋打入小碟子中,关火后将小碟子贴着水面轻轻倒入鸡蛋。盖上盖子,用小火焖2分钟,再煮3分钟即可。‌‌技巧‌......
  • 同步与异步概念解析
    同步与异步概念解析同步(Synchronous)同步指的是在同一进程中,任务按照编写的顺序一个接一个执行。如果任务一和任务二是同步关系,那么任务二必须等待任务一完全结束后才能开始执行。这种执行方式是阻塞的,后续任务必须等待前一个任务完成。特点顺序执行:任务按照编写的顺......
  • 体验iOS手机群控免费苹果手机免越狱群控:银河中控全面解析
    在多设备管理的需求日益增长的今天,能够高效地管理和控制多台iOS设备成为了一个重要的课题。对于不想或不能进行越狱操作的用户来说,找到一种安全、合法且高效的解决方案显得尤为重要。本章将深入探讨一款名为“银河中控”的免费苹果手机免越狱群控系统,帮助您了解其功能特性、使用方......
  • stable diffusion Controlnet常用控制类型解析与实战课程1
    本节内容,给大家带来的是StableDiffusionControlNet常用控制类型解析与实战课程的第一节课程。在上期课程中,我们已经了解了ControlNet的基本概念和使用方法,我们也知道,ControlNet提供了多达十几种的控制方式,而且控制类型和数量还在不断增加中,我们在使用controlnet时,经常遇到......
  • spring 源码解析
    一。当启动tomcat服务器的过程中(接收请求前),当bean被注入到容器后会执行一系列的初始化过程。SpringMVC源码分析DispatcherServlet源码分析_51CTO博客_dispatcherServlet源码 二。HandlerMapping的主要作用是将客户端发送的HTTP请求映射到相应的处理器(Handler)。处理器可以是......
  • Xpath解析及其语法Zf
    XPath解析XPath(XMLPathLanguage)是一种用于在XML和HTML文档中查找信息的语言,其通过路径表达式来定位节点,属性和文本内容,并支持复杂查询条件,XPath是许多Web抓取工具如Scrapy,Selenium等的核心技术之一XPath解析的基本步骤导入lxml.etreefromlxmlimportetre......
  • 全面解析二叉树的层次遍历及其实现
    二叉树的层次遍历(LevelOrderTraversal)是以层为单位,从根节点开始逐层访问节点的遍历方法。在很多树的算法中,层次遍历是基础。本文将详细解析层次遍历的原理,提供Java和Python的实现,以及常见扩展应用。一、层次遍历的定义与特点1.1什么是层次遍历?层次遍历是指按照二叉......
  • 全网最全情景,深入浅出解析JavaScript数组去重:数值与引用类型的全面攻略
    目录全网最全情景,深入浅出解析JavaScript数组去重:数值与引用类型的全面攻略一、引言:我们为什么需要关注数组去重?二、数值类去重1、使用Set去重2、遍历+includes()3、使用filter()和indexOf()4、使用reduce()5、嵌套数组去重:结合flat()三、引用类去重——去除......
  • 深入解析Android OTA升级中的版本号管理与build.prop文件生成机制
    前言OTA(Over-The-Air)升级过程中,版本号扮演着至关重要的角色。从低版本向高版本的升级操作,必须依赖于当前设备的属性信息,其中版本号就是核心要素之一为了深入探究build.prop文件的生成机制,我们在build/目录下进行了广泛的搜索,特别是针对ro.build.display.id这一关键属性。......