
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)
Docker (Recommended)
# 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 statusformatting_guidelines()- Get formatting guidelines for network data presentation
Query Tools (12 tools)
get_bp()- Get blueprint informationget_racks(blueprint_id)- Get rack informationget_rz(blueprint_id)- Get routing zonesget_vn(blueprint_id)- Get virtual networksget_ct(blueprint_id)- Get connectivity templatesget_app_ep(blueprint_id)- Get application endpoints for connectivity templatesget_system_info(blueprint_id)- Get system/device informationget_protocol_sessions(blueprint_id)- Get protocol sessionsget_anomalies(blueprint_id)- Get blueprint anomaliesget_remote_gw(blueprint_id)- Get remote gatewaysget_diff_status(blueprint_id)- Get deployment diff statusget_templates()- Get available templates
Management Tools (3 tools)
deploy(blueprint_id, description, staging_version)- Deploy configurations
安装
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"
]
}
}
}