README.md•6.34 kB
# Looking-Glass-MCP
The first Looking Glass Model Context Protocol (MCP) server! 🎉
## Overview
Looking-Glass-MCP is a revolutionary MCP server that provides network probing capabilities through Looking Glass (LG) vantage points. This tool allows you to perform network diagnostics and measurements from multiple global locations using a simple, standardized interface.
## Features
- **Multi-VP Probing**: Execute network commands from multiple Looking Glass vantage points simultaneously
- **Auto VP Selection**: Automatically select the optimal number of vantage points for your measurements
- **Comprehensive Commands**: Support for ping, BGP route lookups, and traceroute operations
- **Global Coverage**: Access to Looking Glass servers worldwide
- **Async Operations**: Built with async/await for efficient concurrent operations
- **Error Handling**: Robust error handling and timeout management
## Available Tools
### `lg_probing_user_defined`
Send probing commands to a target IP using a specific list of LG vantage points.
**Parameters:**
- `vp_id_list`: List of Looking Glass VP identifiers
- `cmd`: Command type (`ping`, `show ip bgp`, `traceroute`)
- `target_ip`: Destination IP address for probing
### `lg_probing_auto_select`
Send probing commands using automatically selected vantage points.
**Parameters:**
- `vp_num`: Number of vantage points to use
- `cmd`: Command type (`ping`, `bgp`, `traceroute`)
- `target_ip`: Destination IP address for probing
### `list_all_lgs`
Retrieve information about all available Looking Glass vantage points.
## Requirements
- Python 3.13+
- httpx >= 0.28.1
- mcp[cli] >= 1.9.4
## Installation
```bash
pip install -r requirements.txt
```
## Usage Example: CDN Performance Analysis
This example demonstrates how to use Looking-Glass-MCP for CDN performance optimization by analyzing network performance to Google's DNS service (8.8.8.8) from multiple global locations.
### Step 1: List Available Vantage Points
```python
# Get all available Looking Glass vantage points
result = await list_all_lgs()
```
### Step 2: Select Global Vantage Points
We selected 5 diverse global locations for comprehensive analysis:
- **US (Seattle)**: VP ID 71 - North America
- **Switzerland**: VP ID 164 - Europe
- **Singapore**: VP ID 62 - Asia-Pacific
- **Australia (Sydney)**: VP ID 125 - Oceania
- **Brazil (Campo Grande)**: VP ID 108 - South America
### Step 3: Execute Network Probing
```python
# Run ping tests from 5 global locations
ping_results = await lg_probing_user_defined(
vp_id_list=["71", "164", "62", "125", "108"],
cmd="ping",
target_ip="8.8.8.8"
)
# Run traceroute analysis
traceroute_results = await lg_probing_user_defined(
vp_id_list=["71", "164", "62", "125", "108"],
cmd="traceroute",
target_ip="8.8.8.8"
)
# Analyze BGP routing information
bgp_results = await lg_probing_user_defined(
vp_id_list=["71", "164", "62", "125", "108"],
cmd="bgp",
target_ip="8.8.8.8"
)
```
### Step 4: LLM-Generated Analysis Results
> **📊 Example Output**: The following analysis was automatically generated by an LLM using the Looking-Glass-MCP tool results. This demonstrates how AI can transform raw network data into actionable business insights.
<details>
<summary><strong>🤖 LLM Analysis Output</strong> (Click to expand)</summary>
#### 🌍 Global Network Performance Summary
| Location | Country | Latency (avg) | Packet Loss | Performance Rating |
|----------|---------|---------------|-------------|-------------------|
| **Seattle, US** | US | ~1-4ms | 0% | ⭐⭐⭐⭐⭐ Excellent |
| **Switzerland** | CH | ~1ms | 0% | ⭐⭐⭐⭐⭐ Excellent |
| **Singapore** | SG | ~2.1ms | 0% | ⭐⭐⭐⭐⭐ Excellent |
| **Sydney, Australia** | AU | ~0.54ms | 0% | ⭐⭐⭐⭐⭐ Outstanding |
| **Campo Grande, Brazil** | BR | ~19.8ms | 0% | ⭐⭐⭐ Good |
#### 🔍 Key Findings
**Best Performance:**
- **Australia (Sydney)**: Exceptionally low latency (~0.54ms) - direct Google peering
- **Switzerland & US**: Sub-millisecond to low single-digit latency
**Routing Analysis:**
- **Australia**: 6 hops, direct peering with Google infrastructure
- **Singapore**: 4 hops, excellent Google edge presence
- **Switzerland**: 4 hops, optimal European routing
- **Brazil**: 15+ hops, complex ISP routing causing higher latency
**BGP Intelligence:**
- All locations show AS15169 (Google) as origin
- Multiple path redundancy visible
- Local peering arrangements in major markets
#### 🎯 CDN Optimization Recommendations
**Immediate Actions:**
1. **Prioritize APAC**: Australia and Singapore show excellent performance
2. **European Expansion**: Switzerland performance suggests good connectivity
3. **Brazil Improvement**: Higher latency indicates need for local presence
**Strategic Recommendations:**
1. **Multi-CDN Strategy**: Deploy edge servers in Sydney, Singapore, and Europe
2. **Peering Optimization**: Establish direct peering with major ISPs in Brazil
3. **Performance Monitoring**: Use these 5 locations as baseline monitoring points
**Expected Impact:**
- **Australia/Singapore**: Maintain sub-2ms response times
- **Europe**: Target sub-5ms response times
- **Brazil**: Improve from 20ms to <10ms with local presence
</details>
> **💡 Key Insight**: This example shows how Looking-Glass-MCP enables AI assistants to automatically analyze complex network data and provide actionable business recommendations - transforming raw technical metrics into strategic insights.
### Real-World Applications
This Looking Glass MCP tool is perfect for:
- **CDN Performance Optimization**: Analyze global performance patterns
- **Network Troubleshooting**: Identify routing issues from multiple perspectives
- **DDoS Detection**: Monitor traffic patterns across vantage points
- **Competitive Analysis**: Benchmark against competitor infrastructure
- **SLA Monitoring**: Validate service level agreements globally
- **Research**: Academic studies on internet topology and performance
## Getting Started
1. Install dependencies
2. Configure your MCP client to use Looking-Glass-MCP
3. Start analyzing global network performance!
The power of Looking Glass combined with MCP's standardized interface makes network analysis accessible and actionable for any application requiring global network intelligence.