VA

vignitin/apstra-mcp-server

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

2 stars 6 forks Качество 52 Тренд 8

Python script to test Model Context Protocol (MCP) server for Juniper's Apstra Fabric manager's APIs.

Обзор

A Model Context Protocol (MCP) server that provides tools for interacting with Juniper Apstra Fabric Manager APIs. Enables Claude and other MCP clients to manage datacenter network infrastructure through natural language commands. - : Create, retrieve, and delete blueprint configurations - : Get rack, routing zone, and system information - : Create virtual networks with advanced configuration options and remote gateways - : Manage connectivity templates and application endpoint assignments - : Apply and remove connectivity template policies from application endpoints - : Check deployment status and deploy configurations - : Monitor BGP and other protocol sessions - : Retrieve and analyze blueprint anomalies - : Real-time updates with Server-Sent Events - Python 3.

README

Показан фрагмент оригинального README. Открыть оригинал.

Apstra MCP Server

A Model Context Protocol (MCP) server that provides tools for interacting with Juniper Apstra Fabric Manager APIs. Enables Claude and other MCP clients to manage datacenter network infrastructure through natural language commands.

Features

  • Blueprint Management: Create, retrieve, and delete blueprint configurations
  • Infrastructure Queries: Get rack, routing zone, and system information
  • Network Provisioning: Create virtual networks with advanced configuration options and remote gateways
  • Connectivity Templates: Manage connectivity templates and application endpoint assignments
  • Policy Management: Apply and remove connectivity template policies from application endpoints
  • Configuration Management: Check deployment status and deploy configurations
  • Protocol Monitoring: Monitor BGP and other protocol sessions
  • Anomaly Detection: Retrieve and analyze blueprint anomalies
  • Native Streaming Support: Real-time updates with Server-Sent Events

Quick Start

Local Usage (stdio)

# Create config file
cp apstra_config_sample.json apstra_config.json
# Edit with your Apstra server details

# Run with stdio transport
python3 apstra_mcp.py -t stdio -f apstra_config.json

Network Deployment (Streamable HTTP)

# Clone and configure
git clone 
cd apstra-mcp-server
cp apstra_config_sample.json apstra_config.json
# Edit config with your Apstra details

# Start HTTP streaming server
docker-compose up -d

Direct Python

# Install dependencies
pip install -r requirements.txt

# Start streamable HTTP server
python3 apstra_mcp.py -t streamable-http -H 0.0.0.0 -p 8080 -f apstra_config.json

Installation

Prerequisites

  • Python 3.7+
  • Access to Juniper Apstra server
  • Valid Apstra credentials

Dependencies

pip install -r requirements.txt

Available Tools (21 total)

Health & Status Tools (2 tools)

  • health() - Server health check and Apstra connectivity status
  • formatting_guidelines() - Get formatting guidelines for network data presentation

Query Tools (12 tools)

  • get_bp() - Get blueprint information
  • get_racks(blueprint_id) - Get rack information
  • get_rz(blueprint_id) - Get routing zones
  • get_vn(blueprint_id) - Get virtual networks
  • get_ct(blueprint_id) - Get connectivity templates
  • get_app_ep(blueprint_id) - Get application endpoints for connectivity templates
  • get_system_info(blueprint_id) - Get system/device information
  • get_protocol_sessions(blueprint_id) - Get protocol sessions
  • get_anomalies(blueprint_id) - Get blueprint anomalies
  • get_remote_gw(blueprint_id) - Get remote gateways
  • get_diff_status(blueprint_id) - Get deployment diff status
  • get_templates() - Get available templates

Management Tools (3 tools)

  • deploy(blueprint_id, description, staging_version) - Deploy configurations
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "apstra": { "command": "uv", "args": [ "run", "--with", "fastmcp,httpx", "python3", "/path/to/apstra_mcp.py", "-f", "/path/to/apstra_config.json" ] } } }