【AI】MCP+cline 实现github官网项目查询

概览

本文将会介绍一些 mcp 的基本前置知识,并手摸手带大家完成一个 **具有 github 仓库搜索功能的 mcp 工具 **的小demo,借此和大家介绍一遍 mcp工具的开发流程!

什么是MCP

MCP(Model Context Protocol)是 Anthropic 提出并开源的一种协议,旨在让 基于 LLM 的 AI 系统具备使用工具和访问资源的能力。简单来说,MCP 为大型语言模型和外部资源之间提供了一个统一的“插头”或接口。以前每当需要让 AI 连接新的数据库、文件系统或服务时,开发者都必须为每种资源写专门的对接代码;有了 MCP,基于LLM 的 AI 系统可以通过标准协议“即插即用”地访问各种数据源,再也不必困在“信息孤岛”中。

暂时无法在飞书文档外展示此内容

工作原理

暂时无法在飞书文档外展示此内容

初始化连接:客户端向服务器发送连接请求,建立通信通道。

发送请求:客户端根据需求构建请求消息,并发送给服务器。

处理请求:服务器接收到请求后,解析请求内容,执行相应的操作(如查询数据库、读取文件等)。

返回结果:服务器将处理结果封装成响应消息,发送回客户端。

断开连接:任务完成后,客户端可以主动关闭连接或等待服务器超时关闭。

数据安全性

暂时无法在飞书文档外展示此内容

从上面这个结构图可以看出,MCP 服务器可以自己控制资源,不需要将 API 密钥等敏感信息提供给 LLM 提供商。这样也可以在使用ai工具的过程中很大程度上降低敏感数据泄露的风险。

什么是大语言模型中的 Function Calling

在介绍过mcp的定义中,大家肯定会想起我们的另外一个老朋友Function Calling,那么他和 mcp 是什么关系呢?

首先我们先回顾一下 Function Calling的定义

Function Calling 是一种让大型语言模型(LLM)调用外部函数或API的功能。它不是直接执行函数,而是通过返回一个结构化的输出(比如JSON)来告诉应用程序应该调用哪个函数以及使用什么参数。然后,应用程序会执行这个函数并把结果返回给模型。所以,LLM就像一个规划者,它决定是否、何时、如何使用某个函数,而实际的执行则由你的代码来完成。

举个 GPT-4 的API工作流程的例子

暂时无法在飞书文档外展示此内容

1、定义可用的函数:开发者在提示或 API 调用中向模型提供一个函数定义的列表(名称、描述和预期参数)

2、模型选择函数:用户提出问题,模型处理查询以及函数定义。如果它决定需要使用某个函数,则会以 JSON 格式返回一个 Function Calling(包括函数名和参数),而不是正常答案。例如,如果用户询问天气,模型可能会输出一个调用 get_current_weather 的函数,参数为位置。

3、执行函数:应用程序解析模型的 JSON 输出,识别要调用的函数,然后使用提供的参数在代码中调用相应的函数。它收集函数的结果(例如,从 API 获取的实际天气数据)。

4、将结果返回给模型:函数的输出被反馈回模型,通常作为对话中的一条特殊消息,或通过另一个调用模型的请求的结果。然后模型可以使用这些数据来形成其最终回答。

5、如果任务需要多个 Function Calling,它可能会在后续步骤中重复执行3、4两步。这个循环会持续,直到模型为用户产生最终答案。

MCP 与 Functi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

酱学编程

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

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

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

打赏作者

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

抵扣说明:

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

余额充值