NetMCP
БесплатноНе проверенEnables AI-powered optimization of Linux network performance through natural language commands, with tools for discovery, planning, validation, and safe executi
Описание
Enables AI-powered optimization of Linux network performance through natural language commands, with tools for discovery, planning, validation, and safe execution.
README
🌐 NetMCP
AI-Powered Linux Network Optimization via Model Context Protocol
Python 3.10+ MCP Linux License: MIT Live on FastMCP
Transform natural language into optimized network configurations
🔴 Live Server · Getting Started · Features · Profiles · Architecture · Tools
🔴 Live Server
NetMCP is live in production on FastMCP Cloud! Connect your MCP client to:
https://netmcp.fastmcp.app/mcp
No installation required—just point your AI assistant to the hosted server and start optimizing.
🎯 Overview
NetMCP is an MCP server that enables AI assistants like Claude to intelligently optimize Linux network performance. It bridges the gap between high-level optimization goals ("optimize my network for gaming") and low-level Linux commands (sysctl, tc, nft).
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ AI Assistant │ MCP │ NetMCP │ │ Linux Kernel │
│ (Claude, etc) │◄────►│ Server │─────►│ Network Stack │
└──────────────────┘ └──────────────────┘ └──────────────────┘
▲ │
│ ▼
Natural Language 29 Config Cards
"Reduce my latency" 5 Profiles
40+ Tools
✨ Why NetMCP?
| Traditional Approach | With NetMCP |
|---|---|
Manual sysctl tuning |
Declarative optimization plans |
| Copy-paste commands from forums | Research-backed profiles |
| No rollback on failure | Automatic checkpoints & rollback |
| Trial and error | Validated against safety policies |
| Root access chaos | Controlled privileged execution |
🚀 Getting Started
Prerequisites
- Linux (Ubuntu 20.04+, Debian 11+, or similar)
- Python 3.10+
- Network tools:
ip,sysctl,tc,nft
Installation
git clone https://github.com/SurriyaGokul/mcp-net-optimizer.git
cd mcp-net-optimizer
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# Enable privileged commands (one-time setup)
./setup_sudo.sh
Configure with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"netmcp": {
"command": "python",
"args": ["-m", "server.main"],
"cwd": "/path/to/mcp-net-optimizer"
}
}
}
Run Standalone
python -m server.main
⚡ Features
🎴 29 Configuration CardsFull coverage of the Linux networking stack:
|
🛡️ Enterprise SafetyProduction-ready security features:
|
🔧 40+ MCP ToolsComprehensive network management:
|
🔐 Sudo ManagementFlexible privilege escalation:
|
🎮 Optimization Profiles
Five research-backed profiles optimized for specific workloads:
| Profile | Focus | Key Optimizations | Target Metrics |
|---|---|---|---|
| 🎮 Gaming | Ultra-low latency | BBR, tcp_low_latency, fq qdisc | <20ms p95, <5ms jitter |
| 📺 Streaming | Max throughput | Large buffers, BBR, HTB shaping | 90%+ link utilization |
| 📞 Video Calls | Balanced | DSCP marking, moderate buffers | <150ms latency (ITU-T) |
| 📦 Bulk Transfer | Maximum bandwidth | 128MB buffers, aggressive BBR | >1Gbps sustained |
| 🖥️ Server | High concurrency | SYN cookies, conntrack, rate limits | 10K+ connections |
Example: Gaming Optimization
plan = {
"iface": "eth0",
"profile": "gaming",
"changes": {
"sysctl": {
"net.ipv4.tcp_congestion_control": "bbr",
"net.ipv4.tcp_low_latency": "1",
"net.core.default_qdisc": "fq"
},
"qdisc": {"type": "fq"}
}
}
🏗️ Architecture
Pipeline Flow
DISCOVER PLAN VALIDATE RENDER APPLY
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Inspect │───►│ Declare │─────►│ Check │────►│Generate │────►│ Execute │
│ System │ │ Intent │ │ Policies│ │Commands │ │ Safely │
└─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘
│ │ │ │ │
30+ tools Pydantic Policy YAML sysctl/tc/ Checkpoint
No side schemas validation nft scripts + Rollback
effects
Project Structure
mcp-net-optimizer/
├── server/
│ ├── main.py # MCP server entry point
│ ├── registry.py # Tool & resource registration
│ ├── schema/models.py # Pydantic data models
│ └── tools/
│ ├── discovery.py # 30+ system inspection tools
│ ├── planner.py # Plan → Commands renderer
│ ├── validator.py # Policy validation
│ ├── validation_engine.py # Before/after comparison
│ ├── validation_metrics.py # Network benchmarks
│ ├── audit_log.py # Execution logging
│ ├── apply/ # Command executors
│ │ ├── apply.py # Orchestration + rollback
│ │ ├── checkpoints.py
│ │ ├── sysctl.py
│ │ ├── tc.py
│ │ └── nft.py
│ └── util/
│ ├── shell.py # Safe command execution
│ └── policy_loader.py
├── policy/
│ ├── config_cards/ # 29 YAML card definitions
│ ├── profiles.yaml # 5 optimization profiles
│ └── validation_limits.yaml
└── setup_sudo.sh # Passwordless sudo setup
🔧 MCP Tools
Discovery (No Side Effects)
| Tool | Description |
|---|---|
ip_info |
Network interfaces and addresses |
ip_route |
Routing table |
ping_host |
ICMP latency test |
traceroute |
Network path analysis |
tc_qdisc_show |
Traffic control status |
nft_list_ruleset |
Firewall rules |
ss_summary |
Socket statistics |
Planning & Validation
| Tool | Description |
|---|---|
validate_change_plan_tool |
Validate plan against policies |
render_change_plan_tool |
Convert plan to executable commands |
test_network_performance_tool |
Run comprehensive benchmarks |
validate_configuration_changes_tool |
Compare before/after results |
Execution & Safety
| Tool | Description |
|---|---|
apply_rendered_plan_tool |
Execute with checkpoint + rollback |
snapshot_checkpoint_tool |
Manual checkpoint creation |
rollback_to_checkpoint_tool |
Restore previous state |
list_checkpoints_tool |
View available checkpoints |
Privilege Management
| Tool | Description |
|---|---|
check_sudo_access_tool |
Check if sudo is available |
request_sudo_access_tool |
Authenticate for temporary access |
get_sudo_setup_instructions_tool |
Setup help |
📊 Benchmarking & Validation
NetMCP includes a complete validation pipeline to measure optimization impact:
# 1. Run baseline benchmark
before = test_network_performance_tool(profile="gaming")
# 2. Apply optimizations
apply_rendered_plan_tool(rendered_plan)
# 3. Run post-optimization benchmark
after = test_network_performance_tool(profile="gaming")
# 4. Compare and validate
result = validate_configuration_changes_tool(before, after, "gaming")
# → {"decision": "KEEP", "score": 75, "summary": "Latency improved 15%"}
Validation Decisions
| Score | Decision | Action |
|---|---|---|
| ≥60 | KEEP | Changes improved performance |
| 20-59 | UNCERTAIN | Mixed results, review recommended |
| <20 | ROLLBACK | Performance degraded, auto-rollback available |
🔒 Security Model
Command Allowlisting
Only explicitly approved binaries can execute:
# server/config/allowlist.yaml
binaries:
- /usr/sbin/sysctl
- /usr/sbin/tc
- /usr/sbin/nft
- /usr/bin/ping
- /usr/bin/iperf3
# ... etc
Privilege Escalation
Three options for sudo access:
- Permanent (Recommended): Run
./setup_sudo.sh— configures passwordless sudo for network commands only - Session-based: Use
request_sudo_access_tool(password="...")— caches for 15 minutes - Manual: Run
sudo -vin terminal before using MCP
📈 Performance Results
Real-world improvements measured across profiles:
| Profile | Metric | Improvement |
|---|---|---|
| Gaming | Latency | 10-30% reduction |
| Gaming | Jitter | 20-40% reduction |
| Streaming | Throughput | 2-4× on congested links |
| Video Calls | Connection time | 15-25% faster |
| Server | Connection capacity | 10× increase |
🤝 Contributing
Contributions are welcome! Areas of interest:
- Additional configuration cards
- New optimization profiles
- Cross-platform support
- Performance benchmarks
- Documentation improvements
📄 License
MIT License — see LICENSE for details.
Built with ❤️ for the AI-native networking future
Установка NetMCP
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/SurriyaGokul/NetMCPFAQ
NetMCP MCP бесплатный?
Да, NetMCP MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для NetMCP?
Нет, NetMCP работает без API-ключей и переменных окружения.
NetMCP — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить NetMCP в Claude Desktop, Claude Code или Cursor?
Открой NetMCP на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare NetMCP with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
