AI搜索 MCP最佳实践

发布于:2025-07-07 ⋅ 阅读:(15) ⋅ 点赞:(0)

背景

那些 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.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设为 https://dashscope.aliyuncs.com/compatible-mode/v1

      1.4 安装 UV,管理 Python 环境

      curl -LsSf https://astral.sh/uv/install.sh | sh

      或者

      pip install uv

      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>"
      			}
      		}
      	}
      }

      3. 任务演示

      4. 业务价值

      • 降低接入成本:通过阿里云标准化接口快速集成搜索服务。
      • 灵活扩展:支持以AI搜索为核心丰富的模型服务,可满足多样化的业务需求,加速产品迭代

      立即体验阿里云AI搜索开放平台

      场景二:向量检索及排序

      描述:结合OpenSearch向量检索版,支持动态扩展与精准查询,优化成本。

      1. 前置准备

      (新增)开通 Opensearch向量检索版,构建一张向量表。

      (其他)同场景一

      2. Cline 配置 MCP Server

      2.2. 下载 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. 任务演示

      4. 业务价值

      • 精准检索:结合阿里云向量数据库,支持动态扩展和无缝集成。
      • 成本优化:按需付费模式,降低向量检索的计算成本。

      立即体验阿里云OpenSearch向量检索

      场景三:Elasticsearch 智能检索

      描述:集成阿里云ES服务,实现高效实时数据分析与容灾保障。

      1. 前置准备

      (新增)开通 Elasticsearch,创建一份索引并写入测试数据

      (其他)同场景一

      2. Cline 配置 MCP Server

      2.2. 参考 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. 任务演示

      4. 业务价值

      • 实时分析:支持全文搜索、复杂查询及实时数据分析。
      • 高可靠性:阿里云 ElasticSearch 提供多副本容灾,保障数据安全。

      立即体验阿里云Elasticsearch

      为什么选择阿里云 MCP 解决方案?

      选择阿里云 MCP 解决方案的核心原因在于其通过标准化协议与全生命周期服务,显著降低工具链集成复杂度并加速AI应用落地。阿里云 MCP 以协议驱动替代传统硬编码模式,实现跨平台工具调用:

      • AI搜索开放平台:提供丰富的 AI 搜索组件化服务服务,调用多模态数据解析、大语言模型、效果测评等数十个服务,实现智能搜索、检索增强生成(RAG)、多模态搜索等场景的搭建,例如:智能客服、对话式搜索、图谱增强、个性化推荐等。
      • OpenSearch:内置了各行业的查询语义理解、机器学习排序算法等能力,并充分开放了文本向量检索引擎能力,助力开发者快速搭建智能搜索服务。通过 AI 搜索开放平台,用户可以灵活调用多模态数据解析、文档切分、文本向量、大模型文本生成等组件化服务,满足多种搜索场景需求,例如:电商、内容资讯、游戏、金融等多种行业场景。
      • 阿里云 Elasticsearch:可以快速地、近乎于准实时地存储、查询和分析超大数据集,广泛应用于实时日志处理、信息检索、数据的多维查询和统计分析等场景,如:智能客服、企业内部知识库、电商导购、数据服务等。

      通过 MCP 协议,可快速调用阿里云 OpenSearch 、ElasticSearch 等工具,帮助企业快速集成工具链、降低开发复杂度、提升业务效率。

      更多资讯


      网站公告

      今日签到

      点亮在社区的每一天
      去签到