はじめに
この記事は Cisco Systems Japan の有志による Advent Calendar 2025 のシリーズ 2 の 1 日目として投稿しています。
< 過去の記事 >
2017年: https://qiita.com/advent-calendar/2017/cisco
2018年: https://qiita.com/advent-calendar/2018/cisco
2019年: https://qiita.com/advent-calendar/2019/cisco
2020年(1枚目): https://qiita.com/advent-calendar/2020/cisco
2020年(2枚目): https://qiita.com/advent-calendar/2020/cisco2
2021年(1枚目):https://qiita.com/advent-calendar/2021/cisco
2021年(2枚目)https://qiita.com/advent-calendar/2021/cisco2
2022年: https://qiita.com/advent-calendar/2022/cisco
2023年: https://qiita.com/advent-calendar/2023/cisco
2024年:https://qiita.com/advent-calendar/2024/cisco
2025年:https://qiita.com/advent-calendar/2025/cisco (シリーズ1と2)--> 今ここ
1. この記事で実現すること
本記事では、生成AI搭載のIDE(統合開発環境)と MCP(Model Context Protocol)を活用して、ネットワーク機器(Cisco Meraki)と会話できるAIエージェントを短時間で構築します。
- AI IDEを利用してMCP サーバをローカルの Mac PC上で構築
- AI IDEにMCPサーバを登録する
- AI IDEに搭載のAIエージェントで「自然言語 → Meraki API操作」を体感
生成AI搭載のIDE(統合開発環境)とは?
生成AI搭載のIDEとは、従来のIDEに LLM(大規模言語モデル) を統合した次世代の開発環境で、下記のような特徴があります
- コード自動生成・補完:関数やクラスの作成、リファクタリングを支援
- 自然言語指示対応:コメントやチャットでコード修正や生成が可能
- プロジェクト理解:複数ファイルの依存関係や構造を把握して提案
- 外部ツール連携:APIやローカルツールを呼び出して処理を自動化
代表的なAI IDEツール群
| ツール名 | 特徴 |
|---|---|
| GitHub Copilot | 従来型IDEに統合するAIプラグイン。コード補完・自動生成が中心。 |
| Cursor | VS Codeに近い操作感のAI IDE。ローカルのコード編集が高速で、プロジェクト全体の理解が正確。 |
| Windsurf | エージェント実行が得意なAI IDE。MCP連携が簡単で、外部サービスと対話するAIエージェント構築に強い。 |
| Claude Code | Anthropic製のAI IDE。自然言語処理が強く、長文コード解析やリファクタリングが得意。 |
MCP (Model Context Protocol) とは?
Model Context Protocol(MCP) は、 エージェント型AIシステムにおける新しい「DNS」のような役割を果たすプロトコルです。エージェントは、ユーザーの目標を理解し、複数のツールやAPIを連携してタスクを実行するシステムであり、MCPはこれらのエージェントとツール間の通信を標準化します。従来、複数のLLMと複数のツール間でN×Mの統合が必要でしたが、MCPを使うことでLLMがMCPをサポートし、ツール側もMCPサーバーを提供する形でN+Mの統合に簡素化されます。これにより、エージェントが多様なツールをシームレスに利用できるようになり、開発者の負担が軽減されます。
MCPは、LLM(大規模言語モデル)とツールの間のゲートウェイ機能を提供し、クライアント(MCPクライアント)とサーバー(MCPサーバー)というクライアント・サーバーアーキテクチャで動作します。MCPクライアントは、LLMと統合されたソフトウェアエージェントで、会話の流れを管理し、MCPサーバーへの接続を開始し、ユーザーのリクエストとレスポンスを処理します。MCPサーバーは、ツールや機能に接続し、クライアントとツール間の「翻訳者」として機能し、セキュリティゲートウェイの役割も果たします。
2. 実装環境
本記事で実現する AI エージェントの実装環境は以下の通りです。
| 種類 | 製品 / 説明 |
|---|---|
| AI IDE | Windsurf |
| AIエージェント / UI (MCP Client) | Windsurf Cascade(AIエージェント操作とMCPクライアント機能) |
| LLMモデル | SWE-1 (Windsurf自社開発モデル。契約プランによって選べるモデルが変わる) |
| MCPサーバ | Mac PC 上にローカルで構築(Docker環境) |
| ネットワーク機器 | Cisco Meraki |
AI IDEについて、今回は下記の理由から、 Windsurf (無料プラン)を使うことにしました。
- MCPにネイティブ対応しており、MCPサーバの登録・接続がGUIだけで完了する
- CascadeでAIエージェントをそのまま実行でき、外部APIとの対話が容易
- ローカル環境だけで完結し、Mac上でMCPサーバ+エージェント構成を最小労力で構築できる
WindsurfはこちらからMac PCにダウンロード、インストールします。
3. 構築ステップ
前置きが長くなりましたが、ここからは、実際に MCP サーバを構築し、Windsurf から Meraki と会話するまでを爆速に実現していきます!!!
Step 1. MCP サーバ構築
任意の MCP サーバのテンプレートを GitHubのリポジトリ から clone します。
MCPサーバのコードサンプルはGitHub上にたくさん上がってますが、今回はこちらのサンプルコードを使っていきます。Cisco社内のエンジニアが作成したコードサンプルでDevNet CodeExchandeでも公開しています。AIを活用したネットワーク運用(AIOps)を目的とするDocker Suiteとなっていて、なんと以下の7つの主要な運用管理製品のMCPサーバをコンテナ化して提供してくれます。これらのMCPサーバーにより、自然言語クエリやAIアシスタント機能を通じて、インテリジェントなネットワーク分析と自動トラブルシューティングを実現し、AIOpsワークフローがサポートされます。
- Meraki (8000): クラウドネットワーク管理
- NetBox (8001): DCIM/IPAMインフラ管理
- Catalyst Center (8002): エンタープライズネットワーク管理
- IOS XE (8003): デバイス直接管理
- ThousandEyes (8004): ネットワークパフォーマンス監視
- ISE (8005): アイデンティティ/アクセス制御
- Splunk (8006): ログ分析
今回はこのうちのMeraki用MCPサーバを構築します!!
Windsurf を起動し、対象ディレクトリを開きます。Cascade を開きCodeモードを選択します。Cascadeには Code と Chat の2つのモードがあります。Codeモードでは、Cascade がコードベースの作成や変更を行えます。Chat モードは、コードベースに関する質問や一般的なコーディング原則の問い合わせに最適化されています。
Cascadeに下記を入力してEnterを押します。
git clone https://github.com/pamosima/network-mcp-docker-suite.git
すると、このコマンドを実行するか聞かれ、"Run"を押すとCascade上でgit cloneが実行されrepositoryをダウンロードします。その後はCascadeが自動的にファイルの中身を読み解いてくれます。どの様なrepositoryなのか、何を実現できるのかを解説し、構築するためのステップを提案してくれます。Meraki 用のMCPサーバを構築したいと伝えると、必要なステップを提案してくれました。
指示通り、network-mcp-docker-suite directory配下の.envファイルを編集し、自分の保有するMeraki OrganizationのAPI Keyを設定します。API Keyの取得方法はこちらを参考ください。
# Network MCP Docker Suite - Environment Configuration
# =====================================================
# MCP SERVERS - ENABLE/DISABLE CONTROL
# ====================================
ENABLE_MERAKI_MCP=true # Meraki Dashboard API (Port 8000)
ENABLE_NETBOX_MCP=false # Disable other servers by default
ENABLE_CATC_MCP=false
ENABLE_IOS_XE_MCP=false
ENABLE_THOUSANDEYES_MCP=false
ENABLE_ISE_MCP=false
ENABLE_SPLUNK_MCP=false
# MERAKI MCP SERVER (Port 8000)
# =============================
# Meraki Dashboard API Configuration
MERAKI_KEY=<Meraki API Key> # Replace with your Meraki API key
MCP_ROLE=noc # Options: noc, sysadmin, all (default: noc)
MERAKI_BASE_URL=https://api.meraki.com/api/v1 # Meraki API base URL
# MCP SERVER COMMON CONFIGURATION
# ===============================
MCP_HOST=0.0.0.0 # Server bind address (0.0.0.0 for Docker)
LOG_LEVEL=INFO # Logging level: DEBUG, INFO, WARNING, ERROR
API Key 追加したよと伝えると、勝手にファイルを探して、docker-composeを実行し、あっという間にMeraki MCPサーバ構築完了です。ここまでものの数分、なんと簡単なことでしょうか!?
Let me check the available services in the docker-compose file to find the correct service name for the Meraki MCP server.
I see the correct service name is meraki-mcp-servers. Let's start the service:
network-mcp-docker-suite$ docker-compose up -d meraki-mcp-servers
Network network-mcp-docker-suite_default Creating
Network network-mcp-docker-suite_default Created
Container meraki-mcp-server Creating
Container meraki-mcp-server Created
Container meraki-mcp-server Starting
Container meraki-mcp-server Started
Exit Code 0
Great news! The Meraki MCP server is now up and running. Here's a quick rundown of the details:
Service Name: meraki-mcp-servers
Container Name:
meraki-mcp-server
Port: 8000 (http://localhost:8000)
Status: Running in detached mode
Mac PCのターミナルからMCPサーバのDocerイメージの起動を確認できます。
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7a765cf17d77 network-mcp-docker-suite-meraki-mcp-servers "uv run python merak…" 30 seconds ago Up 30 seconds 0.0.0.0:8000->8000/tcp, [::]:8000->8000/tcp meraki-mcp-server
対話言語は日本語でお願いしたら、もちろん日本語で返してくれます。
Step 2. Windsurf に MCP サーバを登録
MCP サーバは、右上の⚙️マークから、Windsurf Settingsを開き、MCP Server セクションの”Open MCP Marketplace”をクリックして開きます。ここには様々なMCP プラグインが用意されていて簡単に追加することができます。
⚙️ ボタンをクリックし、mcp_config.json を編集して構築したMCPサーバを手動で追加していきます。
{
"mcpServers": {
"meraki": {
"serverUrl": "http://localhost:8000/mcp",
"headers": {
"Authorization": "Bearer <Meraki API Key>",
"Content-Type": "application/json"
}
}
}
}
Step 3. Windsurf Cascadeで Meraki と会話を楽しみましょう!
今回のMeraki MCPサーバのサンプルでは、ロールベースアクセスの実装がされており、デフォルトのロールがnocになっています。
MCP_ROLE=noc # Options: noc, sysadmin, all (default: noc)
nocのモードでは、利用できるAPIに制限がかけられています。
- noc(デフォルト): 監視中心。基本的に GET 一部の PUT(FW upgrade)程度。
- sysadmin : 読み取りのみ。変更不可。
- all : 制限なし(全 API アクセス可)
制限なしにする場合は、.envのMCP_ROLEをallに変更します。
# ========================================
# MERAKI MCP SERVER (Port 8000)
# ========================================
# Meraki Dashboard API Configuration
MERAKI_KEY=<Meraki API Key>
MCP_ROLE=all # Options: noc, sysadmin, all (default: noc)
MERAKI_BASE_URL=https://api.meraki.com/api/v1
4. 終わりに
今回、AI IDE × MCP × Cisco Meraki の組み合わせで「ネットワークと会話するAIエージェント」 を簡単に構築できることを紹介しました。生成AIの登場でアイデアさえあれば、たった一人でも起業できる時代とも言われますが、本当にプログラミング初心者でもアイデアさえあれば可能性無限大、夢が広がります。生成AI時代、ネットワークとAIの連携はより身近なものになっています。今回の記事で取り上げた、MCPやAIとCisco製品を活用した連携については、先日開催されたCisco主催のハッカソンイベント、 Cisco D-1グランプリでも様々な企業のエンジニア、学生の皆様から非常にユニークで面白いアイデアを実現した作品がたくさん紹介されました。こちらも合わせて読んでいただけると幸いです!
最後まで読んでいただきありがとうございました!
免責事項
本サイトおよび対応するコメントにおいて表明される意見は、投稿者本人の個人的意見であり、シスコの意見ではありません。本サイトの内容は、情報の提供のみを目的として掲載されており、シスコや他の関係者による推奨や表明を目的としたものではありません。各利用者は、本Webサイトへの掲載により、投稿、リンクその他の方法でアップロードした全ての情報の内容に対して全責任を負い、本Web サイトの利用に関するあらゆる責任からシスコを免責することに同意したものとします。







