博客 / 詳情

返回

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

  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​​(免費試用)

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.