MCP 架構圖

目前已經有大量服務和應用基于 MCP 實現,例如我們可以使用 GitHub-MCP,用自然語言提交代碼、創建 PR;利用 Figma MCP,讓 AI 直接生成 UI 圖,接入 Browser-tools-MCP 后,甚至還能讓 cursor 根據瀏覽器控制臺中的元素節點和打印的日志進行代碼調試。在 MCP 官方倉庫里,提供了諸如 Google Drive、Slack、Git 以及多種數據庫的 MCP 服務。而且它作為一項開放標準,MCP 獲得了 AI 社區的廣泛認可,眾多第三方開發者紛紛投身其中,開發了各類 MCP 服務,每天都有數百個新的 MCP 服務問世。Anthropic 作為發布者,也一直在積極推動 MCP 的發展,持續優化協議的實現,同時大力開展對開發者的相關教育工作。

關于 APISIX-MCP

MCP 協議的興起為傳統應用提供了新的技術路徑。基于 MCP 的標準化接入能力,我們開發了 APISIX-MCP 服務,并在開源版本 Apache APISIX 上實現了大語言模型與 APISIX Admin-API 的對接,支持通過自然語言交互完成 APISIX 網關資源的查詢與管理,目前 APISIX-MCP 已經實現下列操作:

通用操作

get_resource

: 按類型檢索資源(路由、服務、上游等)

delete_resource

: 按 ID 刪除資源

API 資源操作

create_route

/

update_route

/

delete_route

: 管理路由

create_service

/

update_service

/

delete_service

: 管理服務

create_upstream

/

update_upstream

/

delete_upstream

: 管理上游

create_ssl

/

update_ssl

/

delete_ssl

: 管理SSL證書

create_or_update_proto

: 管理 protobuf 定義

create_or_update_stream_route

: 管理流式路由

插件操作

get_all_plugin_names

: 獲取所有可用插件名稱

get_plugin_info

/

get_plugins_by_type

/

get_plugin_schema

: 獲取插件配置

create_plugin_config

/

update_plugin_config

: 管理插件配置

create_global_rule

/

update_global_rule

: 管理插件全局規則

get_plugin_metadata

/

create_or_update_plugin_metadata

/

delete_plugin_metadata

: 管理插件元數據

安全配置

get_secret_by_id

/

create_secret

/

update_secret

: 管理密鑰

create_or_update_consumer

/

delete_consumer

: 管理消費者

get_credential

/

create_or_update_credential

/

delete_credential

: 管理消費者憑證

create_consumer_group

/

delete_consumer_group

: 管理消費者組

如何使用 APISIX-MCP

APISIX-MCP 目前已經開源并發布到了 npm(apisix-mcp npm[1])及 Github (apisix-mcp GitHub[2]),你可以通過任一支持 MCP 服務的 AI 客戶端進行配置,例如 claude desktop,cursor 或者通過 Vscode 中的 cline 插件。這里以 cursor 為例為大家演示如何配置。

  1. 首先打開 curosr,點擊右上角設置圖標,進入設置頁面。

image

進入 Cursor 設置頁面

  1. 點擊添加 "Add new global MCP server" 按鈕,我們會進入一個
mcp.json

配置文件。

// mcp.json
{"mcpServers": {? ? "apisix-mcp": {? ? ? "command": "npx",? ? ? "args": ["-y", "apisix-mcp"],? ? ? "env": {? ? ? ? "APISIX_SERVER_HOST": "your-apisix-server-host",? ? ? ? "APISIX_ADMIN_API_PORT": "your-apisix-admin-api-port",? ? ? ? "APISIX_ADMIN_API_PREFIX": "your-apisix-admin-api-prefix",? ? ? ? "APISIX_ADMIN_KEY": "your-apisix-api-key"? ? ? }? ? }? }}

在配置文件中的

mcpServers

字段中,新增名為

apisix-mcp

的服務,這個名稱也可以自行更改,然后配置運行 MCP 服務的命令。

command

npx

意為使用 node.js 自帶的命令執行工具運行腳本,

args

-y

apisix-mcp

-y

代表在執行命令的時候需要先安裝依賴,

apisix-mcp

則為 npm 中的包名。在

env

字段中,我們可以填入 APISIX 服務訪問地址,Admin API 的端口、前綴和以及用于認證 key,這些環境變量都有默認值,如果你直接啟動 APISIX 后沒有做任何自定義配置就無需傳入

env

字段,各個環境變量對應的默認值如下:

變量描述 默認值
APISIX_SERVER_HOST Host that have access to your APISIX server http://127.0.0.1
APISIX_ADMIN_API_PORT Admin API port 9180
APISIX_ADMIN_API_PREFIX Admin API prefix /apisix/admin
APISIX_ADMIN_KEY Admin API authentication key edd1c9f034335f136f87ad84b625c8f1
  1. 配置添加完成后,我們回到 cursor 的 MCP 配置頁面中,如果配置成功,MCP Servers 中會展示 apisix-mcp 服務已經啟用的綠色小燈,且可以順利讀取到 MCP 服務中提供的所有工具。

image

Cursor 配置成功示例

由于目前不同的 MCP 客戶端的實現有所不同,如果發現配置失敗,我們也可以參考 APISIX-MCP GitHub 倉庫中的文檔,利用源碼構建項目后再重新修改配置文件。

  1. 此時我們打開右側對話欄,選擇 agent 類型,模型選擇 claude-sonnet-3.5/3.7 或 gpt 4o:

image

選擇 AI Agent 模型

  1. 然后我們可以輸入相關的操作指令看看 MCP 服務是否能正常工作,這里我們根據 APISIX 文檔中的 Getting Started 中的流程進行操作,在對話框中輸入以下內容,并發送對話。

"Help me create a route with path /api for accessing https://httpbin.org upstream, need to configure cors and rate limit plugin appropriately. Print the route information to me after configuring"

中文翻譯:“幫我創建一條路徑為 /api 的路由,用于訪問上游 https://http-bin.org,需要配置 CORS 和 限流限速插件。配置完成后把路由信息打印給我”

  1. 接下來我們會在 cursor 中看到類似下面視頻中 MCP 工具調用過程流程,由于 AI 大模型本身響應具有隨機性,所以每次執行的操作不一定與示例中相同。這里開啟了自動執行模式(YOLO Mode)允許 cursor 自動調用 mcp 服務中的所有工具,從視頻中我們可以看到 AI 根據我們的需求:
get_plugins_list

獲取所有插件的名稱

get_plugin_schema

去查看不同插件的詳細配置信息調用

create_rotue

創建路由調用

update_route

為路由添加前面查詢到的插件配置調用

get_route

查看路由是否配置成功,路由配置是否正確

  1. 最終我們通過一句話創建出了如下配置的路由:
httpbin
/api/*
GET

,

POST

,

PUT

,

DELETE

,

PATCH

,

HEAD

,

OPTIONS
allow_origins: *
allow_methods: *
allow_headers: *
expose_headers: X-Custom-Header
max_age: 3600
allow_credential:?false
count: 100
time_window: 60
key: remote_addr
rejected_code: 429
policy:?local
type: roundrobin (負載均衡策略采用輪詢)
upstream ndoe: httpbin.org:443 (指向的后端服務地址)

通過 AI 進行操作的優勢

上述過程中,我們僅通過一輪對話,就通過自然語言的方式讓 AI 幫我創建一個配置了跨域和限流限速的路由,相較于自己創建路由,借助 AI 來操作具有諸多優勢:

而這些實現都得益于 MCP 協議將我們的需求進行語意解析,再根據我們的需求調用不同的工具,最終通過 Admin API 完成操作。需要注意的是,目前 APISIX-MCP 并非追求完全替代人工配置,而是著眼于優化高頻操作場景的效率。其價值在配置調試和快速驗證環節尤為突出,這種定位使其能夠與傳統管理方式形成有效互補。隨著 MCP 生態的持續發展,此類工具在 API 管理領域的深度集成值得期待。

總結

MCP 的出現為復雜 API 系統的智能化操作開辟了新的可能性,我們希望 APISIX-MCP 能夠幫助你快速上手 Apache APISIX。后續 APISIX 將會推出更多處理 AI 流量相關的插件,也會在 API 管理方面探索更多與 AI 結合的可能性。我們相信,AI 與 API 管理的融合將持續推動運維效率的革新,為開發者帶來更智能、更高效的基礎設施管理體驗。

參考資料

[1]?apisix-mcp npm:?https://www.npmjs.com/package/apisix-mcp

[2]?apisix-mcp GitHub:?https://github.com/api7/apisix-mcp

原文轉載自:https://mp.weixin.qq.com/s/9A68sGOLa93O5QyT613lAA

上一篇:

如何0代碼將存量 API 適配 MCP 協議?

下一篇:

DeepSeek推薦AI生圖API,用Windsurf接入API,完善AI生圖功能
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費