MCP 架構圖

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

關于 APISIX-MCP

MCP 協(xié)議的興起為傳統(tǒng)應用提供了新的技術路徑?;?MCP 的標準化接入能力,我們開發(fā)了 APISIX-MCP 服務,并在開源版本 Apache APISIX 上實現(xiàn)了大語言模型與 APISIX Admin-API 的對接,支持通過自然語言交互完成 APISIX 網(wǎng)關資源的查詢與管理,目前 APISIX-MCP 已經(jīng)實現(xiàn)下列操作:

通用操作

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

: 管理插件全局規(guī)則

get_plugin_metadata

/

create_or_update_plugin_metadata

/

delete_plugin_metadata

: 管理插件元數(shù)據(jù)

安全配置

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 目前已經(jīng)開源并發(fā)布到了 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 自帶的命令執(zhí)行工具運行腳本,

args

-y

apisix-mcp

-y

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

apisix-mcp

則為 npm 中的包名。在

env

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

env

字段,各個環(huán)境變量對應的默認值如下:

變量描述 默認值
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 服務已經(jīng)啟用的綠色小燈,且可以順利讀取到 MCP 服務中提供的所有工具。

image

Cursor 配置成功示例

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

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

image

選擇 AI Agent 模型

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

"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"

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

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

獲取所有插件的名稱

get_plugin_schema

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

create_rotue

創(chuàng)建路由調用

update_route

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

get_route

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

  1. 最終我們通過一句話創(chuàng)建出了如下配置的路由:
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 進行操作的優(yōu)勢

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

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

總結

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

參考資料

[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 協(xié)議?

下一篇:

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

我們有何不同?

API服務商零注冊

多API并行試用

數(shù)據(jù)驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉化潛力

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

#AI深度推理大模型API

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

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