MCP:AI 应用的“USB-C”端口,为啥要用它?

MCP (Model Context Protocol) 是一个开放协议,它可以在 AI 应用程序与本地或远程资源之间实现安全、受控的交互。MCP的主要价值在于它提供了一种通用的接口,简化了不同工具和数据源的集成。因此MCP被称为 AI 应用的“USB-C”端口。

为什么要用MCP?

程序本身怎么调用工具都没有问题,但目前AI调用工具形成了几种范式,典型有以下几种:Function Calling、Computer Use、用AI-Agent的Executer、以及MCP,以下是对这几种调用方式的比较:

图片

MCP核心架构是什么样的?

MCP 的核心是一个 client-server 架构,host 应用程序可以连接到多个服务器,也就是说host通过客户端与服务端通信,协议用MCP协议,服务端负责与资源或工具交互:

0

官方给了一个快速入门。

https://modelcontextprotocol.io/quickstart/server

是一个天气MCP服务,实现了两个功能:获取天气预警、获取天气预报。那么它的调用顺序应该是下面这样的。

图片

这似乎并没啥厉害的,不如Function Calling来得直接。

官方文档似乎并没有体现,MCP作为通用协议,对大模型和资源/工具的调用进行了解耦,并提供了安全性保障的能力。直接往下看:

MCP示例

官方提供了很多服务端参考:

来自:

https://modelcontextprotocol.io/examples

0

以及很多支持MCP客户端的应用:

来自:

https://modelcontextprotocol.io/clients

0

注意,在你决心开发自己的Server之前,一定要先看看下面这些网站,很多工具的MCP服务都是拿来即用的。

所以,如果你的目的是快速开发,应该尽可能使用支持MCP客户端的IDE(比如Cursor),并优先寻找并配置合适的MCP服务(而不是重复造轮子)。

然后你就可以体验以下骚操作,比如:

直接在聊天框操作数据库,让AI自己生成修改意见并自己修改数据库。

直接在AI聊天框里获取浏览器报错,并让AI自己查看并解决问题。

直接在浏览器选中元素,在聊天框让AI针对选中的元素作出修改。

……

https://mcp.composio.dev/

0

https://glama.ai/

0

https://cursor.directory/

0

MCP:AI 应用的“USB-C”端口,为啥要用它?

下一篇,实战一下,如何在Cursor中通过配置MCP服务来调用工具。

<think>好的,我需要回答用户关于Dify如何使用MCP协议的配置方法和示例。首先,我需要确认MCP协议的定义和作用。根据引用[1],MCP协议是Model Context Protocol的缩写,旨在为LLM应用程序提供标准化方式连接外部数据源和工具,类似于USB-C端口,允许模型访问数据库、文件系统等服务。 接下来,我需要查找Dify框架是否支持MCP协议,或者是否有相关文档说明如何集成。不过,用户提供的引用[1]中并没有详细说明Dify的具体实现方法,因此可能需要基于MCP协议的一般原则来推断配置步骤。 通常,使用类似协议的方法包括配置API端点、认证信息、数据源连接参数等。因此,推测Dify可能需要通过配置文件或管理界面设置MCP的连接参数,例如服务地址、认证密钥、数据源类型等。 另外,用户可能需要一个具体的配置示例,比如YAML或JSON格式的配置文件,展示如何连接数据库或文件系统。例如,在配置文件中指定MCP服务器的URL、访问令牌、以及要连接的数据源类型和参数。 需要注意的是,由于缺乏具体的Dify文档,部分内容可能需要假设,但应尽量基于已有的信息合理推断,并建议用户参考官方文档或社区资源获取准确配置方法。同时,提醒用户确保网络连接和权限设置正确,以避免连接问题。 最后,生成相关问题时应围绕MCP协议的应用、配置优化和实际案例展开,帮助用户深入理解。</think>Dify 使用 MCP 协议的方法主要涉及三个核心环节:协议配置、数据源连接和上下文管理。以下是具体步骤和示例: --- ### 一、MCP 协议基础配置 1. **启用 MCP 模块** 在 `dify-config.yaml` 中激活 MCP 插件: ```yaml plugins: mcp_integration: enabled: true endpoint: "https://mcp.yourdomain.com/api/v1" auth_key: "your_api_key_here" ``` 该配置指向 MCP 协议的服务端点并设置鉴权密钥[^1]。 2. **定义数据源类型** 支持数据库、API、文件系统等类型。例如连接 PostgreSQL: ```yaml data_sources: - name: "用户订单数据库" type: postgresql params: host: "db-host" port: 5432 database: "orders" username: "dify_user" password: "encrypted_password" ``` --- ### 二、上下文注入示例 通过 MCP 协议动态加载外部数据到 AI 会话: ```python # 调用 MCP 客户端获取实时数据 from dify.mcp import MCPClient mcp = MCPClient() context = mcp.fetch_context( source_type="database", query="SELECT product_name FROM orders WHERE user_id = {user_id}" ) # 结果会注入到 LLM 的推理上下文中 ``` --- ### 三、工具扩展配置 为 LLM 添加外部工具(如邮件发送): ```yaml tools: - name: "send_email" mcp_binding: "email_service" parameters: api_endpoint: "https://api.email-service.com/send" auth_type: "oauth2" scopes: ["email.send"] ``` --- ### 四、验证连接 使用诊断命令检查 MCP 连通性: ```bash curl -X POST https://dify.yourdomain.com/mcp/healthcheck \ -H "Authorization: Bearer {auth_key}" ``` 正常响应应包含 `{"status": "active"}`[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值