Skip to main content
Glama
Jackie-shi

Looking-Glass-MCP

by Jackie-shi
README.md
# 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.