背景
那些 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 等工具,幫助企業快速集成工具鏈、降低開發復雜度、提升業務效率。
更多資訊
- 探索更多案例:點擊查看阿里云 AI Searach 指南
- 免費試用:
-
- AI搜索開放平臺(免費開通)
- Elasticsearch?(免費試用)
- OpenSearch(免費試用)