調用阿里雲OpenAPI時,需要尋找API名稱、拼裝請求參數、處理分頁和跨地區調用。OpenAPI MCP Server Core版(以下簡稱“Core版”)提供15個內建工具,通過自然語言即可完成API調用、多步編排、Terraform資源管理、協助文檔檢索。可用於常見的AI Agent(例如:Qoder、Claude Code、CodeX等)。以下逐一說明每個工具的功能、參數和使用方式。
前提條件
已完成Core版MCP Server的配置和接入。具體操作,參見OpenAPI MCP Server 使用指南。
確認MCP串連。在AI Agent對話中輸入“列出阿里雲有哪些計算相關的產品”,如果返回產品列表則串連正常。
工具總覽
Core版包含15個工具,按功能分為以下五個類別:
類別 | 工具 | 用途 |
API發現與探索 | 列出所有阿里雲產品及元資訊 | |
列出指定產品的所有API | ||
擷取API的完整參數定義 | ||
基於自然語言描述推薦匹配的OpenAPI | ||
列出產品支援的地區 | ||
API執行 | 產生CLI命令(不執行) | |
執行阿里雲CLI命令 | ||
進階編排 | 執行Python指令碼,支援多API編排 | |
輪詢非同步任務狀態 | ||
基礎設施即代碼 | 產生OSS預簽名URL | |
執行Terraform HCL代碼 | ||
文檔檢索 | 搜尋協助文檔 | |
擷取文檔Markdown本文 | ||
瀏覽產品文檔分類樹 | ||
按關鍵詞匹配文檔內容 |
工具詳情
API發現與探索
ListProducts
當需要瞭解阿里雲有哪些產品時,AI Agent通過此工具查詢產品目錄。例如輸入“阿里雲有哪些計算的產品”,AI Agent會提取關鍵詞並篩選出計算相關的產品列表。
使用指導
描述中明確產品關鍵字,例如“阿里雲有哪些計算的產品”優於“阿里雲有哪些產品”。
查詢結果可作為後續對話的上下文,例如先問“有哪些資料庫產品”,再針對具體產品追問操作細節。
ListApis
當使用者的操作意圖涉及某個產品但AI Agent需要確認具體的API操作時,會通過此工具瀏覽該產品的API列表。例如輸入“幫我給ECS執行個體分配公網IP”,AI Agent可能先查詢ECS有哪些相關API,再選擇合適的介面執行。
使用指導
描述操作意圖時盡量明確產品和動作,例如“給ECS執行個體分配公網IP”優於“分配IP”。
GetApiDefinition
當使用者的操作請求涉及API調用時,AI Agent通常先通過SearchApis或ListApis找到目標API,再通過此工具擷取該API的參數定義,最後構造正確的調用。例如輸入“查詢杭州地區的ECS執行個體”,AI Agent會先定位到DescribeInstances介面,再通過此工具確認需要哪些參數後執行。
使用指導
描述操作意圖時盡量具體,AI Agent定位到正確的API後會自動確認參數並執行。
SearchApis
當不確定具體API名稱時,AI Agent通過此工具根據自然語言描述匹配對應的阿里雲OpenAPI。例如輸入“怎麼查看ECS執行個體的監控資料”,AI Agent會搜尋並找到相關的監控類API。
使用指導
描述中包含產品名稱,例如“查詢ECS安全性群組規則”優於“查詢安全性群組”。
複雜需求拆分為多個獨立問題分別提問,每個問題對應一個API操作。
已明確API名稱時直接告知AI Agent(如“用DescribeInstances查詢”),可跳過搜尋步驟。
ListProductRegions
當操作涉及地區選擇時,AI Agent通過此工具確認目標地區是否支援該產品。例如輸入“ECS在烏蘭察布能用嗎”或“幫我在新加坡建立一台ECS”,AI Agent會先確認地區可用性。
使用指導
提問中明確產品名稱和目標地區,例如“ECS在烏蘭察布能用嗎”優於“烏蘭察布能用嗎”。
涉及多個地區時逐一說明,例如“幫我確認ECS在杭州、上海、新加坡是否都能用”。
API執行
GenerateCLICommand
當使用者要求“只產生命令不執行”或AI Agent需要預覽命令時,通過此工具產生CLI命令字串。AI Agent通常先通過GetApiDefinition確認參數,再通過此工具產生命令,最後由CallCLI執行。例如輸入“幫我產生查詢杭州ECS執行個體的命令”,AI Agent會返回可在本地終端執行的完整命令。
使用指導
如果需要在本地終端手動執行命令,可要求AI Agent“只產生命令不執行”,產生的命令可直接複製使用。
CallCLI
當AI Agent明確知道要執行哪個API操作時,通過此工具直接調用。這是Core版中調用API的主要工具(Primary tool)。例如輸入“查詢杭州地區運行中的ECS執行個體”,AI Agent會構造CLI命令並執行查詢。
使用指導
此工具執行的CLI命令在遠程伺服器運行,無法讀取本地檔案。
寫操作(建立、修改、刪除資源)可能產生費用,建議要求AI Agent執行前先確認操作內容。
進階編排
RunScript
當單次API調用無法滿足需求時,AI Agent通過此工具編寫指令碼完成大量操作。例如輸入“統計所有地區的ECS執行個體數量”或“檢查所有安全性群組是否有高風險規則”,AI Agent會編寫並髮腳本同時查詢多個資源。
使用指導
需要匯總、對比或大量操作時,描述清楚範圍和目標,例如“統計所有地區的ECS執行個體數量”“檢查所有安全性群組是否有高風險規則”。
指令碼執行可能需要數秒到數十秒,耐心等待結果返回即可。
GetTask
當RunScript或RunIaC的任務執行時間較長時,AI Agent通過此工具等待任務完成並擷取結果。執行耗時較長的操作(如跨地區巡檢、Terraform部署)時可能觸發此工具。
使用指導
執行耗時較長的操作(如跨地區巡檢、批量查詢)時,耐心等待結果返回即可。
如果涉及人工審批,按提示完成審批次程序後結果會繼續返回。
基礎設施即代碼
GetPresignedUrl
當RunIaC或RunScript工具需要引用外部檔案時,AI Agent通過此工具產生臨時上傳連結。例如Terraform代碼超過64 KB,或指令碼需要處理預上傳的資料檔案時,AI Agent會先通過此工具上傳檔案再執行後續操作。
使用指導
涉及大檔案上傳時,可能需要等待上傳完成後再執行後續操作。
RunIaC
當需要建立、變更或銷毀雲資源時,AI Agent可能通過此工具以Terraform方式管理基礎設施。例如輸入“在杭州建立一個VPC,CIDR為172.16.0.0/16”,AI Agent會先產生資源配置並預覽變更,確認後再執行建立。
使用指導
描述資源需求時明確地區、規格和命名,例如“在杭州建立一個VPC,CIDR為172.16.0.0/16,名稱為mcp-demo-vpc”。
涉及資源變更時可能需要人工審批,按提示完成審批次程序即可。
文檔檢索
SearchDocuments
當使用者提出產品使用、配置方法、報錯排查等知識性問題時,AI Agent通過此工具搜尋阿里雲官方協助文檔。例如輸入“Function Compute冷啟動怎麼最佳化”或“OSS Bucket Policy怎麼配置”,AI Agent會檢索匹配的官方文檔。
使用指導
提問中包含產品名稱可提高搜尋結果的相關性,例如“OSS跨網域設定”優於“跨網域設定”。
需要查看特定產品的文檔時指明產品名,例如“Function Compute的冷啟動最佳化文檔”優於“冷啟動最佳化”。
GetDocument
AI Agent通過SearchDocuments找到相關文檔後,通過此工具讀取完整內容以回答使用者問題。例如輸入“Function Compute冷啟動怎麼最佳化?”,AI Agent會先搜尋定位文檔,再讀取全文後組織答案。
使用指導
AI Agent在搜尋到文檔後會自動讀取內容並整理回答,整個過程對使用者透明。
GetDocumentTree
當使用者想瞭解某個產品的文檔結構時,AI Agent通過此工具瀏覽文檔分類樹。例如輸入“OSS的文檔目錄是怎樣的”或“ECS有哪些使用者指南”。
使用指導
提問時指明產品名稱,例如“OSS有哪些文檔分類”“ECS的使用者指南下有哪些章節”。
GrepDocuments
當使用者的問題涉及特定術語、配置項或錯誤碼時,AI Agent通過此工具在指定產品文檔中精確匹配關鍵詞。例如輸入“ECS文檔裡InstanceChargeType有哪些取值”或“幫我在OSS文檔中查一下CORS相關的內容”。
使用指導
提問時同時指明產品和關鍵詞,例如“在ECS文檔中搜尋DescribeInstanceAttribute”。
關鍵詞越精確匹配結果越相關,多個關鍵詞之間是AND關係。
典型使用情境
以下情境展示多個工具協作完成複雜任務的完整鏈路。
查詢安全性群組規則
使用者輸入:
幫我查一下杭州地區的安全性群組有哪些規則AI Agent可能的工具調用鏈路:
通過
SearchApis工具搜尋“查詢ECS執行個體關聯的安全性群組規則”,定位到DescribeSecurityGroupAttribute介面(信賴度0.98)。通過
GetApiDefinition工具確認該介面需要SecurityGroupId和RegionId兩個必填參數。通過
CallCLI工具執行查詢,返回安全性群組規則列表(包含方向、協議、連接埠範圍、源地址等資訊)。
涉及的工具:SearchApis、GetApiDefinition、CallCLI
跨地區批量巡檢
使用者輸入:
統計杭州、上海、北京三個地區各有多少台ECS執行個體AI Agent可能的工具調用鏈路:
通過
RunScript工具編寫並髮腳本,同時查詢三個地區的執行個體數量。指令碼執行逾時(超過20秒),返回processID。
通過
GetTask工具輪詢任務狀態,等待指令碼執行完成後擷取結果。
涉及的工具:RunScript、GetTask
基於文檔解決問題
使用者輸入:
Function Compute冷啟動延遲很高,有什麼最佳化方案?AI Agent可能的工具調用鏈路:
通過
SearchDocuments工具搜尋“Function Compute冷啟動最佳化”,找到《Function Compute冷啟動最佳化最佳實務》文檔(doc_id: 2513659)。通過
GetDocument工具讀取該文檔全文,擷取冷啟動定義和最佳化方案。通過
GetDocumentTree工具瀏覽Function Compute的文檔目錄,瞭解還有哪些效能相關的文檔章節。
涉及的工具:SearchDocuments、GetDocument、GetDocumentTree