sheridan-lab-jack
sheridan-lab-jack — ネットワークMCPサーバー
ContainerLabで実行されているNokia SR Linuxデバイス用の6つのネットワーク管理ツールを公開するModel Context Protocol (MCP) サーバーです。AIエージェントとしてClaude Codeで使用するように設計されています。
アーキテクチャ
┌──────────────┐ MCP (stdio) ┌──────────────────┐ SSH ┌──────────────┐
│ Claude Code │ ◄──────────────────► │ sheridan-lab-jack │ ◄──────────► │ Nokia SR │
│ (AI Agent) │ │ (MCP Server) │ │ Linux │
└──────────────┘ └──────────────────┘ │ (ContainerLab)│
└──────────────┘ツール (合計6つ)
読み取りツール (5つ)
ツール | 説明 |
| ホスト名、ソフトウェアバージョン、シャーシタイプ、稼働時間を返します |
| 管理/運用状態およびIPアドレスを含むすべてのインターフェースを一覧表示します |
| 完全なルーティングテーブルを表示します |
| 実行中の設定(全体またはセクション別)を取得します |
| すべてのVRF/ネットワークインスタンスとそのインターフェースを一覧表示します |
書き込みツール (1つ)
ツール | 説明 |
| インターフェースのIPアドレス、管理状態、説明を設定します |
前提条件
Linux (Ubuntu 20.04以上を推奨)
Docker (20.10以上)
ContainerLab (0.44以上)
Python 3.10以上
Claude Code CLI (Anthropic Proサブスクリプションが必要)
sshpass (
sudo apt install sshpass)
クイックスタート
1. ContainerLabのインストール
sudo bash -c "$(curl -sL https://get.containerlab.dev)"2. ラボの起動
cd sheridan-lab-jack
sudo containerlab deploy --topo topology.ymlSR Linuxが完全に起動するまで約60秒待ちます。以下で確認してください:
sudo docker ps # should show clab-sheridan-lab-jack-srl running3. Python依存関係のインストール
pip install -r requirements.txt
sudo apt install sshpass -y4. SSH接続のテスト
sshpass -p 'NokiaSrl1!' ssh -o StrictHostKeyChecking=no admin@clab-sheridan-lab-jack-srl -- "info from state /system information"5. Claude Codeへの接続
cd sheridan-lab-jack
claudeClaude Codeはプロジェクトディレクトリから自動的に .mcp.json を読み込みます。Claude Code内で以下を実行して確認してください:
> use get_device_info to check the device環境変数
変数 | デフォルト | 説明 |
|
| SR Linuxコンテナのホスト名またはIP |
|
| SSHユーザー名 |
|
| SSHパスワード |
認証情報はサーバーコード内にハードコードされていません。 実行時に環境変数から読み込まれ、.mcp.json を介して渡されます。
入力バリデーション
すべての書き込みツールは、実行前に入力を検証します:
IPアドレス: ドット付き10進数の正規表現による検証
プレフィックス長: 範囲チェック (0-32)
インターフェース名: SR Linux形式のパターンマッチング (
ethernet-X/Y,lo0,mgmt0,system0)ホスト名: RFC準拠の英数字 + ハイフン、1-63文字
説明: 基本的な句読点を含む英数字、最大80文字
設定セクション名: 英数字とハイフンのみ
クリーンアップ
sudo containerlab destroy --topo topology.ymlClaude Codeセッションの例
You: get device info
Claude: [calls get_device_info] The device is a Nokia SR Linux running version...
You: show me all interfaces
Claude: [calls get_interfaces] Here are the interfaces...
You: configure ethernet-1/1 with IP 192.168.50.1/24 and description "uplink"
Claude: [calls configure_interface] Successfully configured ethernet-1/1...
You: verify the change by showing interfaces again
Claude: [calls get_interfaces] Confirmed — ethernet-1/1 now has IP 192.168.50.1/24...ライセンス
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JackG27/sheridan-lab-jack'
If you have feedback or need assistance with the MCP directory API, please join our Discord server