AI搜索 MCP最佳实践

背景

那些 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.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​​

  1. 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​​(免费试用)

相关推荐
子燕若水1 小时前
Unreal Engine 5中的AI知识
人工智能
好奇的菜鸟2 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
极限实验室2 小时前
Coco AI 实战(一):Coco Server Linux 平台部署
人工智能
tan180°2 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
杨过过儿2 小时前
【学习笔记】4.1 什么是 LLM
人工智能
满昕欢喜3 小时前
SQL Server从入门到项目实践(超值版)读书笔记 20
数据库·sql·sqlserver
巴伦是只猫3 小时前
【机器学习笔记Ⅰ】13 正则化代价函数
人工智能·笔记·机器学习
大千AI助手3 小时前
DTW模版匹配:弹性对齐的时间序列相似度度量算法
人工智能·算法·机器学习·数据挖掘·模版匹配·dtw模版匹配
AI生存日记3 小时前
百度文心大模型 4.5 系列全面开源 英特尔同步支持端侧部署
人工智能·百度·开源·open ai大模型