背景
那些 LLM 不知道的事
尝试直接询问LLM"今天天气如何"时,会发现LLM无法回答------它既不知道"今天"是哪天,也无法获取地理位置信息。这揭示了LLM的局限:缺乏与外部工具和实时数据的交互能力。
为解决这一问题,MCP(Model Context Protocol)应运而生。通过标准化协议,MCP使LLM能够自主调用工具(如天气API、地理位置服务),并解耦Agent与Tools的开发,显著降低维护和迭代成本。
当 LLM 学会用工具
- "让 LLM 自己学会用工具,来解答用户问题。"
上面这句话中,出现了三个角色,"用户"、"工具"、"LLM",以及隐藏的第四个角色------将这一切粘合起来的"主控程序"。 关于四者的交互流程,下图供以参考:
MCP 干嘛来了
- 没有 MCP,我要怎么做 按照 Agent+FunctionCall 的模式,我设计了工具 schema,走通了 LLM 的服务调用,终于让 LLM 学会了用工具。但随着工具越来越多、工具调用与 LLM 耦合地越来越深,不管是维护还是迭代,都会消耗大量的精力。
那么,问题来了: • 能不能实现 Agent 与 Tools 的解耦? • 能不能能统一不同 Tools 的调用协议,让模型快速接入? • 能不能实现 Tools 的共享?
- 有了 MCP,我会怎么做
现在有了 MCP,一切都好起来了: • Agent 和 Tools,我可以分开维护了。 • 再多的 Tools,我用"list_tools"+"call_tool"就解决了。 • 我可以分享自己的 Tools,也可以快速接入别人的 Tools了。
近距离看看 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 架构中的角色主要有以下几种:
• MCP Hosts: 相当于上文提到的"主控程序",比如 Claude Desktop、IDE 等。
• MCP Clients: 服务调用的客户端,通常会被集成到 Host 中执行 list_tools、call_tool 等操作。
• MCP Servers: 服务调用的服务端,通常在此定义 tools、prompts、resources 等。
• Local Data Sources: 本地数据。
• Remote Services: 远端服务。
ps:写了个 mcp demo,就想让 LLM 告诉我,今天天气到底如何? mcp = FastMCP("Demo")
mcp
@mcp.tool(
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
@mcp.tool(
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
场景一:文件解析与总结
描述:通过阿里云AI搜索开放平台集成MCP,快速调用文件解析工具,降低开发门槛。
- 前置准备:
1.1. 注册阿里云 AI 搜索开放平台,获取 API 密钥。
1.2. VSCODE 配置 Cline 工具,集成阿里云 MCP 服务器。

1.3. Cline 配置 LLM 接口
API Provider 选择 OpenAI Compatible
Base URL设为 dashscope.aliyuncs.com/compatible-...
1.4. 安装 UV,管理 Python 环境
curl -LsSf astral.sh/uv/install.... | sh
或者
pip install uv
- Cline 配置 MCP Server
2.1. 下载 alibabacloud-opensearch-mcp-server
2.2. 配置mcp server
{
"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>"
}
}
}
}
3.业务价值:
• 降低接入成本:通过阿里云标准化接口快速集成搜索服务。
• 灵活扩展:支持以AI搜索为核心丰富的模型服务,可满足多样化的业务需求,加速产品迭代 立即体验:阿里云AI搜索开放平台
场景二:向量检索及排序
描述:结合OpenSearch向量检索版,支持动态扩展与精准查询,优化成本。
1.前置准备
(新增)开通 Opensearch向量检索版,构建一张向量表。
(其他)同场景一
2.Cline 配置 MCP Server
2.1. 下载 alibabacloud-opensearch-mcp-server
2.2. 配置mcp server
{
"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>"
}
}
}
}
3.业务价值:
• 精准检索:结合阿里云向量数据库,支持动态扩展和无缝集成。
• 成本优化:按需付费模式,降低向量检索的计算成本。
立即体验:阿里云OpenSearch向量检索
场景三:Elasticsearch 智能检索
描述:集成阿里云ES服务,实现高效实时数据分析与容灾保障。
1.前置准备
(新增)开通 Elasticsearch,创建一份索引并写入测试数据
(其他)同场景一
2.Cline 配置 MCP Server
2.1.参考 elasticsearch-mcp-server
2.2.配置mcp server
{
"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>"
}
}
}
}
3.业务价值:
• 实时分析:支持全文搜索、复杂查询及实时数据分析。
• 高可靠性:阿里云 ElasticSearch 提供多副本容灾,保障数据安全。
立即体验:阿里云Elasticsearch
为什么选择阿里云 MCP 解决方案?
选择阿里云 MCP 解决方案的核心原因在于其通过标准化协议与全生命周期服务,显著降低工具链集成复杂度并加速AI应用落地。阿里云 MCP 以协议驱动替代传统硬编码模式,实现跨平台工具调用:
• AI搜索开放平台:提供丰富的 AI 搜索组件化服务服务,调用多模态数据解析、大语言模型、效果测评等数十个服务,实现智能搜索、检索增强生成(RAG)、多模态搜索等场景的搭建,例如:智能客服、对话式搜索、图谱增强、个性化推荐等。
• OpenSearch:内置了各行业的查询语义理解、机器学习排序算法等能力,并充分开放了文本向量检索引擎能力,助力开发者快速搭建智能搜索服务。通过 AI 搜索开放平台,用户可以灵活调用多模态数据解析、文档切分、文本向量、大模型文本生成等组件化服务,满足多种搜索场景需求,例如:电商、内容资讯、游戏、金融等多种行业场景。
• 阿里云 Elasticsearch:可以快速地、近乎于准实时地存储、查询和分析超大数据集,广泛应用于实时日志处理、信息检索、数据的多维查询和统计分析等场景,如:智能客服、企业内部知识库、电商导购、数据服务等。 通过 MCP 协议,可快速调用阿里云 OpenSearch 、ElasticSearch 等工具,帮助企业快速集成工具链、降低开发复杂度、提升业务效率。
更多资讯
• 探索更多案例:点击查看阿里云 AI Searach 指南
• 免费试用:
• AI搜索开放平台(免费开通)
• Elasticsearch (免费试用)
• OpenSearch(免费试用)