MCP介绍
最近MCP概念很火,也是一个和AI相关的话题,因此我们还是得紧随其上。
这里我们先看看MCP的概念
MCP(Model Context Protocol,模型上下文协议)是一种由Anthropic公司于2024年11月推出的开放协议,旨在为大型语言模型(LLM)与外部数据源、工具及系统提供标准化接口,解决AI应用中的集成难题。
1. 核心目标与定位
MCP被类比为AI领域的“HTTP协议”或“USB-C接口”,通过统一通信标准实现LLM与外部资源的无缝连接,打破数据孤岛并促进去中心化生态。其核心目标是简化整合流程、降低开发复杂度,并推动AI应用的标准化发展。
2. 技术架构
MCP采用客户端-服务器架构,包含三个核心组件:
- MCP主机(Host) :运行AI应用的环境(如Claude Desktop、Cursor IDE),负责执行任务并集成MCP客户端。
- MCP客户端(Client) :作为中介,管理与一个或多个MCP服务器的通信,支持动态发现工具和发起请求。
- MCP服务器(Server) :提供外部服务的能力,包括工具(调用API)、资源(访问结构化/非结构化数据)和提示(预定义工作流模板)三类功能。
通信机制基于JSON-RPC 2.0协议,支持标准输入输出或HTTP/SSE传输,确保实时双向交互。
3. 关键优势
- 标准化集成:统一接口减少重复开发,使开发者无需为每个工具定制API。
- 动态发现:客户端可自动识别服务器提供的功能,支持灵活扩展。
- 安全性:内置身份验证、访问控制及数据加密机制,本地化部署降低数据泄露风险。
- 生态系统:开源社区已形成丰富工具市场(如awesome-mcp-servers),涵盖浏览器自动化、金融、科研等领域。
简单而言,就是封装为一个能力,提供给大模型去调用。
例如,高德地图提供的MCP能力,可以供大模型进行调用,用于查看驾车路线等等,而这个能力的实现,可以让大模型实时的去获取最新的驾车路线,让旅游攻略等智能体,能够达到更加准确。而且预期以后还有飞书的各种MCP能力,可以生成的内容生成到云文档去。
就像搭积木一样,虽然也有点儿像现在的工作流。
阿里百炼MCP的使用
打开阿里百炼的网页,我们可以看到带有“火”emoji的MCP,字节有扣子空间(类似与Manus),所以阿里的MCP也是现在主推的方向了
https://bailian.console.aliyun.com/?tab=mcp#/mcp-market
这里可以看到云部署 MCP server 16个
以及本地端的MCP server
二者有什么样的区别呢?
- 官方预置 MCP 服务:百炼官方部署了多种 MCP 服务,方便您快速接入百炼应用。
- 自定义 MCP 服务:百炼还支持部署自定义 MCP 服务。您可以在 MCP 市场或互联网上搜寻 MCP 服务,以自定义 MCP 服务的形式部署在百炼上。
而且MCP的调用是有费用的,不过目前官方预置的MCP服务的免费的。
不多说,我们先来实践一下
MCP实践案例
高德地图MCP初体验
开通大模型
点击MCP-点击Amap maps
选择“立即开通”
确认开通
可以看到现在提供的能力
创建智能体应用
https://bailian.console.aliyun.com/tab=app?tab=app#/app-center
创建智能体应用
设置模型
这里需要选择通义的模型,deepseek模型似乎还不支持MCP,这里可以按需进行选择
选择高德地图MCP
添加MCP服务
可以看到MCP服务绑定了Amap Maps了
编写提示词
根据用户输入的出发地和目的地,给出驾车、公交、步行的方案
测试
可以看到,此刻在调用MCP
看看输出结果:
给出了方案,以及时间,而这个方式,可以利用到旅游攻略的出行规划中
发布
如果有需要的话,还可以将该应用进行发布
自驾游顾问
需求
我现在有一个需求,就是想要编写一个智能体,我提供自驾的途径地给智能体,然后其可以标出路程和时间、以及注意事项等
提示语
使用百炼自带的提示词优化功能,优化一下智能体
# 角色
你是一位经验丰富的自驾游顾问,熟悉各种路线规划和导航技巧。你的任务是根据用户提供的路线,提供详细的自驾路程和时间信息,并给出相关的旅行建议。
## 技能
### 技能1:路线规划
- 根据用户提供的起点和终点,规划最优的自驾路线。
- 提供多种路线选择,包括最短路径、最快路径等,并解释每条路线的特点。
### 技能2:计算路程和时间
- 计算每条路线的总路程(公里数)和预计行驶时间。
- 考虑到交通状况、路况等因素,提供更准确的时间估算。
### 技能3:提供旅行建议
- 给出沿途的加油站、休息站、景点等信息。
- 提供安全驾驶提示和注意事项。
- 根据用户的行程安排,建议合理的休息时间和停留点。
### 技能4:调用地图工具
- 当需要获取最新的交通信息或详细的地图数据时,可以调用地图工具来获取相关信息。
- 使用地图工具来展示路线图,帮助用户更好地理解路线规划。
## 限制
- 只讨论与自驾旅行相关的话题。
- 所提供的路程和时间是基于当前交通状况的预估,实际可能会有所不同。
- 不提供预订服务或其他非自驾相关的建议。
- 确保所有建议都基于用户的安全和舒适度考虑。
案例
输入:
伊宁六星街->赛里木湖->恰西->那拉提->伊宁机场
执行过程,可能有些久,可能是地点有些多。
输入2:
自驾地点减少一些
伊宁六星街->赛里木湖
看看生成结果:
从伊宁六星街到赛里木湖的路线已经规划好了,以下是详细信息:
总距离:约156.3公里
预计行驶时间:大约2.5小时
路线概览:
沿工人街向东行驶至江苏路。
经过江苏路、解放西路和巴彦岱立交后进入G3016清伊高速。
通过G3016清伊高速继续向西行驶,并经过萨尔布拉克大桥。
在霍城隧道、清水立交等路段行驶后转入G30连霍高速。
通过G30连霍高速继续前行,经过多个隧道(如藏营沟隧道、桦木沟隧道)。
最后通过将军沟隧道和果子沟大桥,在赛里木湖立交桥处下高速,前往赛里木湖。
注意事项:
整个行程中包括了高速公路行驶,请确保车辆状况良好并注意安全驾驶。
高速公路部分可能会遇到收费站,请提前准备好零钱或使用电子支付方式。
请留意沿途的服务区以安排休息,长途驾驶时每两小时建议停车休息至少15分钟。
由于部分路段可能穿越山区,天气变化较大,请关注当天的天气预报。
总结
目前的MCP相对还不是那么多,而且如果调用次数比较多的话,可能会出现卡和速度慢的问题,不过MCP的这个方式,还是值得我们进行学习和探索的。相当于万物皆可连接的感觉~