APISIX Mcp について
APISIX MCP サーバーは、LLM と APISIX Admin API を橋渡しする MCP サーバーです。MCP 対応のAIクライアントから自然言語で APISIX のリソースを参照・管理したいユーザーに向いています。
主な機能
- 01APISIX リソースの取得と削除
- 02ルート、サービス、アップストリームの管理
- 03プラグイン設定とグローバルルールの管理
- 04SSL 証明書とコンシューマー認証情報の管理
- 05ゲートウェイへのリクエスト送信
活用シーン
- 01自然言語による APISIX ルートとサービスの確認
- 02AIクライアントからのルートとアップストリームの作成・更新
- 03プラグイン、コンシューマー、その認証情報の管理
MCP 対応
MCP サーバーとして、get_resource や create_route などの APISIX Admin API 操作ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
32掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| id | string | いいえ | リソース ID |
| type | enum | はい | リソースタイプroutes | services | upstreams | consumers | ssls | consumer_groups | plugin_configs | global_rules | stream_routes | protos | plugin_configs |
| page | number | いいえ | ページ番号 |
| page_size | number | いいえ | ページサイズ |
| name | string | いいえ | 名前で絞り込みます |
| labels | object | いいえ | ラベルで絞り込みます |
| uri | string | いいえ | URI で絞り込みます |
詳細
APISIX Model Context Protocol(MCP)サーバー
APISIX Model Context Protocol(MCP)サーバーは、LLM と APISIX Admin API を接続するために使用されます。MCP 互換の AI クライアントを通じて、自然言語で APISIX のリソースを表示・管理できるようにすることを目的としています。
https://github.com/user-attachments/assets/081e878c-225e-4ff8-a9c5-5813f4784cfe
対応操作
一般的な操作
get_resource:タイプ(routes、services、upstreams など)ごとにリソースを取得しますdelete_resource:ID でリソースを削除しますsend_request_to_gateway:APISIX ゲートウェイに 1 つまたは複数のリクエストを送信します
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:コンシューマーグループを管理します
AI クライアントでの設定
前提条件
APISIX をセットアップして実行するには、APISIX のはじめにガイドに従ってください。
Smithery 経由でインストールする
Smithery 経由で Claude Desktop 用の APISIX Model Context Protocol Server を自動インストールするには、次のようにします。
npx -y @smithery/cli install @api7/apisix-mcp --client claude
npm を使用する
AI クライアント(Cursor、Claude、Copilot など)を次の設定で構成します。
{
"mcpServers": {
"apisix-mcp": {
"command": "npx",
"args": [
"-y",
"apisix-mcp"
],
"env": {
"APISIX_SERVER_HOST": "your-apisix-server-host",
"APISIX_SERVER_PORT": "your-apisix-server-port",
"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"
}
}
}
}
ソースコードを使用する
まず、apisix-mcp リポジトリをクローンします。
git clone https://github.com/api7/apisix-mcp.git
cd apisix-mcp
依存関係をインストールし、プロジェクトをビルドします。
pnpm install
pnpm build
AI クライアント(Cursor、Claude、Copilot など)を次の設定で構成します。
{
"mcpServers": {
"apisix-mcp": {
"command": "node",
"args": [
"your-apisix-mcp-path/dist/index.js"
],
"env": {
"APISIX_SERVER_HOST": "your-apisix-server-host",
"APISIX_SERVER_PORT": "your-apisix-server-port",
"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"
}
}
}
}
環境変数
| 変数 | 説明 | デフォルト値 |
|---|---|---|
APISIX_SERVER_HOST | APISIX サーバーにアクセスできるホスト | http://127.0.0.1 |
APISIX_SERVER_PORT | APISIX サーバーのポート | 9080 |
APISIX_ADMIN_API_PORT | Admin API のポート | 9180 |
APISIX_ADMIN_API_PREFIX | Admin API のプレフィックス | /apisix/admin |
APISIX_ADMIN_KEY | Admin API の認証キー | edd1c9f034335f136f87ad84b625c8f1 |
APISIX の Admin API 設定を表示または変更するには、Admin API のドキュメントを参照してください。
リソース
オープン MCP マーケットプレイス API に対応
- AI アプリ/エージェント/LLM が、共通の Python/TypeScript API を通じてこの MCP サーバーを見つけ、関連するサーバーやツールを検索・探索できるようにします
例:サーバーとツールの検索
import anthropic
import mcp_marketplace as mcpm
result_q = mcpm.search(query="apisix mcp", mode="list", page_id=0, count_per_page=100, config_name="deepnlp") # search server by category choose various endpoint
result_id = mcpm.search(id="api7/apisix-mcp", mode="list", page_id=0, count_per_page=100, config_name="deepnlp") # search server by id choose various endpoint
tools = mcpm.list_tools(id="api7/apisix-mcp", config_name="deepnlp_tool")
# Call Claude to Choose Tools Function Calls
client = anthropic.Anthropic()
response = client.messages.create(model="claude-3-7-sonnet-20250219", max_tokens=1024, tools=tools, messages=[])
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
