perfsonar-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@perfsonar-mcpCheck the packet loss between host-a and host-b over the last 24 hours"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
perfsonar-mcp
MCP (Model Context Protocol) server for perfSONAR - Query measurements, discover testpoints, and schedule network tests.
🚀 Features
Measurement Archive Queries
Query historical measurements with filters
Get throughput, latency, and packet loss data
Access raw time-series data with summaries
Discover available measurement types
Lookup Service Integration
Find perfSONAR testpoints globally
Search by location (city, country)
Locate pScheduler services for testing
Test Scheduling (pScheduler)
Schedule throughput tests (iperf3)
Schedule latency tests (owping)
Schedule RTT tests (ping)
Monitor test status and retrieve results
Related MCP server: ProbeOps MCP Server
📦 Installation
pip install -e .For development with additional tools:
pip install -e '.[dev]'⚙️ Configuration
Required environment variable:
export PERFSONAR_HOST=perfsonar.example.comOptional:
export LOOKUP_SERVICE_URL=https://lookup.perfsonar.net/lookup
export PSCHEDULER_URL=https://perfsonar.example.com/pscheduler🏃 Usage
Local (stdio transport)
Standard MCP stdio transport for local AI clients:
python -m perfsonar_mcp
# or
perfsonar-mcpWeb Access (SSE/HTTP transport)
FastMCP enables web-accessible MCP server via SSE (Server-Sent Events) or HTTP:
# SSE transport (recommended for web)
export PERFSONAR_HOST=perfsonar.example.com
fastmcp run src/perfsonar_mcp/fastmcp_server.py --transport sse --host 0.0.0.0 --port 8000
# HTTP transport (alternative)
fastmcp run src/perfsonar_mcp/fastmcp_server.py --transport http --host 0.0.0.0 --port 8000
# Or use the convenience command
perfsonar-mcp-webThe server will be accessible at:
SSE:
http://your-host:8000/sseHTTP:
http://your-host:8000/mcp/
Docker
docker-compose up -dKubernetes
helm install perfsonar-mcp ./helm/perfsonar-mcp \
--set config.perfsonarHost=perfsonar.example.com🤖 Claude Desktop Integration
Add to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"perfsonar": {
"command": "python",
"args": ["-m", "perfsonar_mcp"],
"env": {
"PERFSONAR_HOST": "your-perfsonar-host.example.com"
}
}
}
}For web-based access, use the SSE endpoint:
{
"mcpServers": {
"perfsonar-web": {
"url": "http://your-server:8000/sse",
"transport": "sse"
}
}
}🔧 Available Tools (13)
Measurement Archive (6)
query_measurements- Search measurementsget_throughput- Throughput dataget_latency- Latency dataget_packet_loss- Packet loss dataget_measurement_data- Raw time-seriesget_available_event_types- List types
Lookup Service (2)
lookup_testpoints- Find testpointsfind_pscheduler_services- Find pScheduler
pScheduler (5)
schedule_throughput_test- Run throughput testschedule_latency_test- Run latency testschedule_rtt_test- Run RTT testget_test_status- Check statusget_test_result- Get results
💡 Example Queries
Ask Claude:
"Find perfSONAR testpoints in Europe"
"Schedule a 30-second throughput test to host.example.com"
"Get hourly throughput averages between host1 and host2 for the last week"
🏗️ Architecture
Standard MCP (stdio)
AI Agent (Claude)
↓ MCP Protocol (stdio)
perfSONAR MCP Server (Python)
├── Measurement Archive Client
├── Lookup Service Client
└── pScheduler Client
↓
perfSONAR ServicesWeb-Accessible MCP (SSE/HTTP)
Web Clients / AI Agents
↓ HTTP/SSE
FastMCP Web Server (uvicorn)
↓ MCP Protocol
perfSONAR MCP Server (Python)
├── Measurement Archive Client
├── Lookup Service Client
└── pScheduler Client
↓
perfSONAR ServicesBoth transports expose the same tools and capabilities. The web transport enables:
Remote access from any HTTP client
Multiple concurrent connections
Integration with web-based AI applications
RESTful API-like access patterns
🛠️ Development
Logging
The server includes comprehensive logging for development and debugging. By default, logs are written to stderr at INFO level.
To enable DEBUG logging for more detailed output:
import logging
logging.basicConfig(level=logging.DEBUG)Or set the log level via environment variable:
export PYTHONLOGLEVEL=DEBUG
python -m perfsonar_mcpLog output includes:
Server initialization and configuration
API requests and responses
Tool invocations with arguments
Error details with stack traces
DevContainer
Open in VS Code → Reopen in Container
Local Development
# Install with dev dependencies
pip install -e '.[dev]'
# Format code
black src/perfsonar_mcp/
# Lint code
ruff check src/perfsonar_mcp/
# Type check
mypy src/perfsonar_mcp/
# Run tests
pytest tests/📚 Documentation
🌐 Resources
📄 License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server designed for interacting with the Model Context Protocol Registry API to discover and retrieve information about available MCP servers. It provides tools to search, list, and view detailed configurations and version history for servers within the registry.4MIT
- Alicense-qualityFmaintenanceMCP server for running infrastructure diagnostics from 6 global regions. It provides tools like SSL checks, DNS lookups, ping, whois, port checks, traceroute, latency tests, and more, with a free demo mode (10 calls/day) and no API key required.53MIT
- FlicenseBqualityCmaintenanceMCP server for network-troubleshooting PCAP analysis via tshark, enabling users to analyze PCAP files, detect anomalies, and troubleshoot network issues.22
- Flicense-qualityCmaintenanceProvides network monitoring capabilities including real-time latency measurement, ping sweeps, and subnet scanning via MCP tools, with a companion web dashboard for live visualization.
Related MCP Connectors
An MCP server giving access to Grafana dashboards, data and more.
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
Conformance checker for MCP servers. Free, no key, verdicts recomputable and re-measured daily.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ajragusa/perfsonar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server