mcp-internet-speed-test
The MCP Internet Speed Test is an experimental MCP server that allows AI models to conduct comprehensive internet speed tests. It provides tools for measuring download and upload speeds, latency, and jitter, with output in detailed JSON format.
MCP Internet Speed Test
⚠️ Experimental Version
This is an experimental implementation of a Model Context Protocol (MCP) server for internet speed testing. It allows AI models and agents to measure, analyze, and report network performance metrics through a standardized interface.
What is MCP?
The Model Context Protocol (MCP) provides a standardized way for Large Language Models (LLMs) to interact with external tools and data sources. Think of it as the "USB-C for AI applications" - a common interface that allows AI systems to access real-world capabilities and information.
Features
- Download Speed Testing: Measure download bandwidth
- Upload Speed Testing: Measure upload bandwidth with configurable file sizes
- Latency Testing: Measure network latency to various servers
- Jitter Analysis: Calculate network jitter by analyzing latency variations
- Comprehensive Reporting: Provide detailed JSON-formatted reports
Installation
Prerequisites
- Python 3.12 or higher
- uv package manager (recommended)
Option 1: Using uvx (Recommended)
The uvx
command is a convenient way to run Python packages directly without explicit installation:
# Run the MCP server directly
uvx /path/to/mcp-internet-speed-test
Option 2: Using docker
# Build the Docker image
docker build -t mcp-internet-speed-test .
# Run the MCP server in a Docker container
docker run -it --rm -v $(pwd):/app -w /app mcp-internet-speed-test
Configuration
To use this MCP server with Claude Desktop or other MCP clients, add it to your MCP configuration file.
Claude Desktop Configuration
Edit your Claude Desktop MCP configuration file:
{
"mcpServers": {
"mcp-internet-speed-test": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/mcp-internet-speed-test",
"run",
"main.py"
]
}
}
}
API Tools
The MCP Internet Speed Test provides the following tools:
measure_download_speed
: Measures download bandwidth (in Mbps)measure_upload_speed
: Measures upload bandwidth (in Mbps)measure_latency
: Measures network latency (in ms)measure_jitter
: Measures network jitter by analyzing latency variationsrun_complete_test
: Runs all tests and provides a comprehensive report
Troubleshooting
If you're having issues connecting to the MCP server:
- Make sure the path in your MCP configuration is correct
- Check that you have the required permissions for the directory
- Verify Python 3.12+ is installed and in your PATH
- Ensure the
mcp[cli]
andhttpx
packages are installed
Development
This is an experimental project and contributions are welcome. To contribute:
- Open an issue or submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- MCP Framework maintainers for standardizing AI tool interactions
- The Model Context Protocol community for documentation and examples