大模型能力超群,唯独这个点让它抓狂

Anthropic前段时间开源了“模型上下文协议”(MCP)。这是一个可以让大模型直接连接数据源的通用协议。大模型有博士水平,但如果没有数据也白瞎。巧妇难为无米之炊。

这个MCP协议就是为了解决数据的问题。现在各个应用平台,本地电脑都分散着非常多的数据。它们就像一座座孤岛一样,大模型并不能随时访问到它们。现在MCP来了。它想解决这个问题,让大模型按需访问这些数据,以便更针对性的处理用户的需求。

Anthropic官方博客对MCP做了简明扼要的阐述:

https://www.anthropic.com/news/model-context-protocol

下面这张图展示了MCP整体的架构。

这张图来自Axton老师。你可以在微信搜一搜里搜索【回到axton】找到axton老师的公众号。axton老师的这张图比官方博客中给出的图更容易理解。

MCP的通讯协议采用一对多的客户端和服务端的通讯结构。客户端(Clients)和服务端(Servers)是解耦的。它们之间采用统一的MCP协议来连接。而Claude Desktop作为MCP Host,它并没有包含MCP servers的代码,它只是根据配置文件claude_desktop_config.json加载这些servers,然后按需调用。由于MCP已经开源,理论上可以自己实现Client调用不同的大模型来通过servers访问各种数据源。

MCP协议开源后已经有各路网友大显神通,开源了各种类型的servers。虽然数量还不多,但相信未来会有越来越多好用的servers出现。MCP把这个生态建立起来了,OpenAI 估计就得慌了。

这几天我把MCP跑起来了。有遇到一些坑,最后算是顺利跑起来了。感受下来,Claude与其他工具的协同工作还是挺丝滑的。MCP大大扩展了大模型的能力范围,一些轻量的自动化工作流已经可以胜任了。

下面我来讲讲MCP的配置过程,还有遇到的问题以及如何处理好的。

第一件事,先把Claude for Desktop安装了。下载网址:https://claude.ai/download

因为我安装的是Windows版本的,所以后面就基于Windows版本来介绍。MacOS版本的操作也是一样的。

第二件事,安装依赖的软件。

winget install --id=astral-sh.uv -e
winget install git.git sqlite.sqlite

servers目前支持用python和TypeScript来实现。上面安装的ux是针对Python类型的servers的。而接下来要安装的node.js是针对TypeScript类型的servers的。

node.js下载网址:https://nodejs.org/zh-cn

选择长期支持版安装就行。

安装方式与普通软件一致,双击下载好的文件,一路点next直到完成,不用修改安装过程中的配置。

安装好Node.js后,打开CMD终端,用下面的命令检查一下是否安装好。

node -v
npm -v

**这里会遇到一个坑。**待会安装servers的时候,由于国内的网络问题,安装servers奇慢且不一定成功。

坑我已经趟了。我们把拉取模块的地址更换成国内的镜像地址。

npm config set registry https://registry.npm.taobao.org

用下面这个命令可以查看是否配置成功。

npm config get registry

第三件事,配置servers。

官方维护的servers目前放在这个仓库里:https://github.com/modelcontextprotocol/servers

对于Windows电脑,我们需要在C:\Users\YOURNAME\AppData\Roaming\Claude\路径下新建一个claude_desktop_config.json文件。注意,YOURNAME需要替换成你自己电脑的名字。

这里我贴一下我配置好的,作为一个示例方便大家参考。

{
  "mcpServers": {
    "sqlite": {
      "command": "uvx",
      "args": [
        "mcp-server-sqlite",
        "--db-path",
        "C:\\Users\\ZhuanZ\\test.db"
      ]
    },
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\Users\\ZhuanZ\\Desktop\\test_cursor"
      ]
    },
    "fetch": {
      "command": "uvx",
      "args": [
        "mcp-server-fetch"
      ]
    },
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "xxx"
      }
    },
    "search1api": {
      "command": "npx",
      "args": [
        "-y",
        "search1api-mcp"
      ],
      "env": {
        "SEARCH1API_KEY": "xxx"
      }
    },
    "youtube-transcript": {
      "command": "npx",
      "args": [
        "-y",
        "@kimtaeyoon83/mcp-server-youtube-transcript"
      ]
    }
  }
}

claude_desktop_config.json文件配置好后要重启Claude Desktop。直接关掉界面还不行,必须要在任务栏里右键Claude Desktop图标,点击退出才行。

有些servers 需要指定操作的文件路径,有些servers需要配置TOKEN。这些信息在GitHub仓库里都有说明。按照这些说明操作即可。

当重启后,我们可以在Claude Desktop的settings里面看到已经成功加载的servers。

下面我们来感受一下效果。

filesystem这个server可以让大模型读写本地文件。但使用前需要先指定可操作的本地电脑目录。这个记得在claude_desktop_config.json文件中配置好。

这里我让大模型看看我指定的目录有哪些文件。

它确实很好的完成了任务。它清晰地列出了指定目录下面所有的文件和子文件夹。然后我让它生成一个文件。

大模型调用了filesystem中的write_file功能来生成testcpp.cpp文件。我再让它把文件读出来看看。

这里我尝试了直接让它读电脑上的testcpp.cpp文件,会出现找不到这个文件的情况。但我直接把文件所在的目录直接告诉它,它就可以直接找到。只能说还有待改进。

fetch server可以抓取网页内容,但试了一下会经常失败。没有kimi的响应那么丝滑和迅速。也可能是网络的原因。

github server可让Claude直接在个人的GitHub账号下操作。比如新建仓库,上传文件,读取文件内容,简要总结仓库。

有一个应用还挺有意思的。我直接让大模型帮我搜索合适的仓库。自己去搜得自己一个个仓库去看,挺费时间的。现在把需求告诉Claude,让它去搜并且总结好各个仓库实现的功能。简单快速。

同时我们也可以让Claude新建仓库,上传文件,提commit,提pr。下面我们来试一个例子。

fetch功能一直不太顺利,但仓库已经顺利创建了。commit也自动提了,文件也上传了。

写readme文件通常是一个比较费时间的事情。事实上,我们可以让大模型根据仓库内容自动写一份readme文件并自动上传到仓库中。

从上面的例子,我们可以看到Claude是自动根据用户的问题,拆解出任务项,然后再分步执行。随着大模型的发展,这种理解用户需求自动规划的能力肯定会越来越强。

search1api server可以让Claude联网搜索。search1api server的开源地址为:https://github.com/fatwang2/search1api-mcp

比如下面这个例子,我让Claude去查一下OpenAI最新的消息。没有MCP的时候,Claude是没有联网搜索能力的。

演示就到这了。现在有很多的servers在慢慢开源,大模型的能力也在慢慢变强,未来各种数据与大模型的连接必定会筑就一个繁荣的生态。

“模型上下文协议”(MCP)确实是一个好点子。如果 MCP 能获得广泛支持,Anthropic将缔造一个 AI 应用生态。类比一下,鸿蒙生态,安卓生态,我们就能认识到这个影响力会有多大。

但是标准的竞争就是领导地位的竞争,各家模型厂商会愿意加入进来吗?

但对于开发者来说,确实是一个利好的消息。统一的数据交换协议,将加快 AI 应用的开发,加速 AI 应用生态的繁荣。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

首飞爱玩机器人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值