微信扫码
添加专属顾问
我要投稿
MCP协议如何让大语言模型更智能?揭秘AI调用外部工具的最佳实践。核心内容: 1. MCP协议解决LLM调用外部工具的核心痛点 2. 协议架构设计与标准化交互流程解析 3. 实际应用场景与未来发展方向
阿里妹导读
本文深入探讨了如何通过 MCP 协议让大语言模型(LLM)高效调用外部工具,并结合多个实际场景展示了 MCP 在 AI 应用中的价值和未来潜力。
背景
那些LLM不知道的事
开篇先尝试直接问LLM一个问题,“今天天气如何”。
然而,并未能从LLM获得期望回答。原因也很简单,今天是哪天?天气是哪里的天气?这些问题对于LLM来说统统不得而知。
因此,我们很自然地想到,是不是能让LLM自己学会用工具,哪里不会点哪里呢?
当LLM学会用工具
“让LLM自己学会用工具,来解答用户问题。”
上面这句话中,出现了三个角色,“用户”、“工具”、“LLM”,以及隐藏的第四个角色——将这一切粘合起来的“主控程序”。
关于四者的交互流程,我从百炼找了张图,供以参考:
MCP干嘛来了
没有MCP,我要怎么做
按着Agent+FunctionCall的模式,我设计了工具schema,走通了LLM的服务调用,终于让LLM学会了用工具。但随着工具越来越多、工具调用与LLM耦合得越来越深,不管是维护还是迭代,都会消耗大量的精力。
那么,问题来了:
- 有了MCP,我会怎么做
现在有了MCP,一切都好起来了:
近距离看看MCP
MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.
MCP架构中的角色主要有以下几种:
ps:写了个mcp demo,就想让LLM告诉我,今天天气到底如何?
mcp = FastMCP("Demo")
name="get_current_time",
description="获取当前时间",
)
def get_current_time():
"""
获取当前时间并进行格式化展示
:return:
"""
now = datetime.datetime.now()
formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
return formatted_time
name="get_location",
description="获取当前地点",
)
def get_location():
"""
获取当前地点
:return:
"""
try:
response = requests.get("http://ip-api.com/json/")
data = response.json()
if data["status"] == "success":
location_info = {
"country": data.get("country", ""),
"region": data.get("regionName", ""),
"city": data.get("city", "")
}
return json.dumps(location_info, ensure_ascii=False)
else:
return json.dumps({"error": "无法获取地理位置"}, ensure_ascii=False)
except Exception as e:
return json.dumps({"error": str(e)}, ensure_ascii=False)
AI搜索怎么玩MCP
场景一:文件解析与总结
API Provider选择 OpenAI Compatible
Base URL设为:
https://dashscope.aliyuncs.com/compatible-mode/v1
curl -LsSf https://astral.sh/uv/install.sh | sh 或者 pip install uv
{
"mcpServers": {
"aisearch-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/aisearch-mcp-server",
"run",
"aisearch-mcp-server"
],
"env": {
"AISEARCH_API_KEY": "<AISEARCH_API_KEY>",
"AISEARCH_ENDPOINT": "<AISEARCH_ENDPOINT>"
}
}
}
}
此处为语雀视频卡片,点击链接查看:aisearch_mcp_demo.mp4
场景二:向量检索及排序
(新增)开通 opensearch向量检索版[4],构建一张向量表
(其他)同场景一
{
"mcpServers": {
"aisearch-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/aisearch-mcp-server",
"run",
"aisearch-mcp-server"
],
"env": {
"AISEARCH_API_KEY": "<AISEARCH_API_KEY>",
"AISEARCH_ENDPOINT": "<AISEARCH_ENDPOINT>"
}
},
"opensearch-vector-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/opensearch-vector-mcp-server",
"run",
"opensearch-vector-mcp-server"
],
"env": {
"OPENSEARCH_VECTOR_ENDPOINT": "http://ha-cn-***.public.ha.aliyuncs.com",
"OPENSEARCH_VECTOR_USERNAME": "<username>",
"OPENSEARCH_VECTOR_PASSWORD": "<password>",
"OPENSEARCH_VECTOR_INSTANCE_ID": "ha-cn-***",
"OPENSEARCH_VECTOR_INDEX_NAME": "<Optional: index in vector table>",
"AISEARCH_API_KEY": "<Optional: AISEARCH_API_KEY for embedding>",
"AISEARCH_ENDPOINT": "<Optional: AISEARCH_ENDPOINT for embedding>"
}
}
}
}
4. 业务价值
场景三:Elasticsearch智能检索
(新增)开通 Elasticsearch[5],创建一份索引并写入测试数据
(其他)同场景一
{
"mcpServers": {
"elasticsearch-mcp-server": {
"command": "npx",
"args": [
"-y",
"@elastic/mcp-server-elasticsearch"
],
"env": {
"ES_URL": "http://es-cn-***.public.elasticsearch.aliyuncs.com:9200",
"ES_USERNAME": "<USERNAME>",
"ES_PASSWORD": "<PASSWORD>"
}
}
}
}
dify,高效搭建 AI 应用" style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;">快速部署 Dify,高效搭建 AI 应用
Dify 作为企业级 LLM 应用开发引擎,能够有效解决 AI 应用开发周期长、技术门槛高的痛点。本方案基于阿里云容器服务 Kubernetes 版 ACK 打造云原生高可用架构,实现快速私有化部署,助力企业高效搭建 AI 应用。
点击阅读原文查看详情。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-07-01
从8万+数据源提炼洞察,ChatGPT+Zilliz +LangChain如何成创新药研发新范式
2025-07-01
MPC安全之魂:承诺方案技术深度解析
2025-07-01
一文解读小白怎么快速搭建一个基于MCP协议的AI agent应用
2025-07-01
ZeroSearch:在不进行搜索的情况下激励大语言模型的搜索能力
2025-07-01
AI Agent 的发展:能力、技术架构和软硬件形态
2025-07-01
腾讯大模型应用演进之路:从 RAG 到 MCP 的技术实践
2025-07-01
如何用“图增强 RAG”提升中文问答体验
2025-07-01
巨头混战Agent,押注背后是真未来还是新泡沫?
2025-05-29
2025-04-11
2025-04-12
2025-04-06
2025-04-29
2025-04-12
2025-04-29
2025-04-17
2025-05-07
2025-05-07
2025-07-01
2025-07-01
2025-07-01
2025-07-01
2025-06-30
2025-06-30
2025-06-30
2025-06-27