VA

vignitin/apstra-mcp-server

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

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
在 GitHub 查看完整 README

安装

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

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

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