AI工具有那些? @ 香港AI工具平台
OpenAPI MCP Server專案:mcp-openapi-server 是一個極具開創性的模型內容協定 (Model Context Protocol, MCP) 伺服器。它的核心目標是充當一個通用轉接器 (Universal Adapter),能夠自動將任何遵循 OpenAPI 規範(前身為 Swagger)的 REST API,轉換成 AI 助理(如 Claude)可以理解和呼叫的工具集。
MCP工具

OpenAPI MCP Server專案

mcp-openapi-server 是一個極具開創性的模型內容協定 (Model Context Protocol, MCP) 伺服器。它的核心目標是充當一個通用轉接器 (Universal Adapter),能夠自動將任何遵循 OpenAPI 規範(前身為 Swagger)的 REST API,轉換成 AI 助理(如 Claude)可以理解和呼叫的工具集。

核心價值:為 AI 助理打開通往整個 API 世界的大門

在網路上,有成千上萬個公開或私有的 API 服務(例如天氣查詢、股票資訊、專案管理、音樂平台等),它們絕大多數都使用 OpenAPI 規範來描述自己的功能。

在沒有 mcp-openapi-server 之前,如果想讓 AI 助理使用某個 API,開發者需要為這個 API 手動編寫一個專屬的 MCP 伺服器。而 mcp-openapi-server 的出現徹底改變了這一點:你不再需要為每個 API 編寫客製化程式碼。只需將這個伺服器指向目標 API 的 OpenAPI 規範檔案(一個 JSON 或 YAML 檔案),它就能自動解析該 API 的所有端點 (endpoints),並將它們動態生成為 AI 助理可以使用的 MCP 工具。

這是一個巨大的「力量倍增器」,它讓 AI 助理能夠輕易地與現存的、龐大的 Web 服務生態系進行互動。

主要功能與特色

這個專案的功能設計非常全面且強大,考慮了各種現實世界中的複雜情況:

  1. 自動化工具生成: 這是最核心的功能。它讀取 OpenAPI 規範,並為其中的每一個 API 端點(如 GET /users, POST /products)創建一個對應的 MCP 工具。

  2. 靈活的規範載入方式:
    為了適應不同場景,它支援從多種來源載入 OpenAPI 規範檔案:

    • URL: 從一個公開的網址載入。
    • 本地檔案: 載入本機上的檔案。
    • 標準輸入 (Stdin): 透過管道 (pipe) 傳入,非常適合在容器化環境中使用。
    • 內聯字串 (Inline): 直接在命令列或環境變數中提供規範內容。
  3. 強大的工具篩選與載入模式:
    對於擁有數百個端點的大型 API,一次性載入所有工具會讓 AI 混淆。因此,專案提供了精細的控制選項:

    • 篩選: 可以根據標籤 (tag)資源路徑 (resource)HTTP 方法 (operation) 來篩選要載入的工具。
    • 載入模式 (toolsMode):
      • all (預設): 載入所有(經過篩選的)工具。
      • explicit: 只載入透過 --tool 參數明確指定的工具。
      • dynamic: 不載入任何具體工具,而是提供三個「元工具」(meta-tools),讓 AI 可以在執行時動態地查詢 API 有哪些端點、獲取某個端點的結構,然後再呼叫它。這對於非常龐大或經常變動的 API 特別有用。
  4. 先進的動態驗證 (AuthProvider):
    這是此專案最關鍵的進階功能之一。許多 API 的驗證機制(如 OAuth 2.0)比靜態的 API 金鑰要複雜,通常包含會過期的存取權杖 (access token) 和用於更新的刷新權杖 (refresh token)。AuthProvider 是一個介面,允許開發者實現自訂的驗證邏輯,例如:

    • 在每次 API 請求前自動檢查權杖是否過期,如果過期則先刷新。
    • 在收到 API 回傳的 401 Unauthorized 錯誤時,自動嘗試刷新權杖並重試請求。
  5. 雙傳輸協定支援:

    • stdio (預設): 用於與本地桌面應用(如 Claude Desktop)直接整合。
    • http: 讓伺服器可以透過 HTTP 被存取,方便網頁應用或其他雲端服務整合。

使用方式

  • 作為命令列工具 (CLI): 對於終端使用者或快速測試,可以直接在 AI 助理的設定檔中透過 npx 執行,並透過環境變數或命令列參數傳入 API 的 URL、規範路徑和驗證標頭。
  • 作為函式庫 (Library): 這是更強大和推薦的用法。開發者可以將 mcp-openapi-server 作為一個函式庫匯入到自己的 Node.js 專案中,為某個特定的 API(例如 Spotify API)建立一個專屬的、打包好的 MCP 伺服器。在這個過程中,可以實作複雜的 AuthProvider 驗證邏輯,然後將其發佈為一個獨立的 npm 套件,方便社群其他人安裝使用。

總結來說,mcp-openapi-server 是一個基礎設施級別的 MCP 工具。它不是一個提供單一功能的應用,而是一個建立橋樑的工廠,能夠大規模地將現有的 API 世界與新興的 AI 助理生態連接起來,是 MCP 生態中不可或缺的關鍵元件。

  • MCP平台來源: github
  • 連結: https://github.com/ivo-toby/mcp-openapi-server

立即試用MCP工具