Skip to main content
Glama
JackG27

sheridan-lab-jack

by JackG27

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つ)

ツール

説明

get_device_info

ホスト名、ソフトウェアバージョン、シャーシタイプ、稼働時間を返します

get_interfaces

管理/運用状態およびIPアドレスを含むすべてのインターフェースを一覧表示します

get_routes

完全なルーティングテーブルを表示します

get_running_config

実行中の設定(全体またはセクション別)を取得します

get_network_instances

すべてのVRF/ネットワークインスタンスとそのインターフェースを一覧表示します

書き込みツール (1つ)

ツール

説明

configure_interface

インターフェースの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.yml

SR Linuxが完全に起動するまで約60秒待ちます。以下で確認してください:

sudo docker ps  # should show clab-sheridan-lab-jack-srl running

3. Python依存関係のインストール

pip install -r requirements.txt
sudo apt install sshpass -y

4. 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
claude

Claude Codeはプロジェクトディレクトリから自動的に .mcp.json を読み込みます。Claude Code内で以下を実行して確認してください:

> use get_device_info to check the device

環境変数

変数

デフォルト

説明

DEVICE_HOST

clab-sheridan-lab-jack-srl

SR Linuxコンテナのホスト名またはIP

DEVICE_USERNAME

admin

SSHユーザー名

DEVICE_PASSWORD

NokiaSrl1!

SSHパスワード

認証情報はサーバーコード内にハードコードされていません。 実行時に環境変数から読み込まれ、.mcp.json を介して渡されます。

入力バリデーション

すべての書き込みツールは、実行前に入力を検証します:

  • IPアドレス: ドット付き10進数の正規表現による検証

  • プレフィックス長: 範囲チェック (0-32)

  • インターフェース名: SR Linux形式のパターンマッチング (ethernet-X/Y, lo0, mgmt0, system0)

  • ホスト名: RFC準拠の英数字 + ハイフン、1-63文字

  • 説明: 基本的な句読点を含む英数字、最大80文字

  • 設定セクション名: 英数字とハイフンのみ

クリーンアップ

sudo containerlab destroy --topo topology.yml

Claude 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

-
security - not tested
F
license - not found
-
quality - not tested

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