Skip to main content
Glama
JackG27

sheridan-lab-jack

by JackG27

sheridan-lab-jack — 네트워크 MCP 서버

ContainerLab에서 실행 중인 Nokia SR Linux 장치를 위한 6가지 네트워크 관리 도구를 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. Claude Code를 AI 에이전트로 사용하도록 설계되었습니다.

아키텍처

┌──────────────┐      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 주소: 점-십진수 정규식 검증

  • 접두사 길이: 범위 확인 (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