agent-node
Agent-Knoten
Lokaler Multi-Rechner-Agenten-Kooperationsknoten. Einmal auf jedem Computer bereitgestellt, bildet er ein „Multi-Rechner-Multi-Agenten-Kooperationsteam": automatische LAN-Erkennung, symmetrische ferngesteuerte/fernsteuernde Befehlsausführung, sichtbares System-Tray-Symbol, knotenübergreifender Dateiversand und -empfang, eingebetteter MCP-Server für den Aufruf durch KI-Clients.
Ein minimalistisches, eigenständiges Projekt, das aus dem
agent-bus-Repository extrahiert wurde. Läuft aus dem Quellcode, keine ausgelieferten Builds.
I. Fähigkeiten
Fähigkeit | Beschreibung |
Symmetrische Steuerknoten | Jeder Computer führt dasselbe Programm aus, funktional gleichwertig, kann sich gegenseitig fernsteuern |
Automatische LAN-Erkennung | UDP-Broadcast-Beacon (wie LocalSend), nach dem Start werden andere Knoten im selben Subnetz automatisch erkannt |
Ferngesteuert | Empfängt |
Fernsteuerung | Kann auf jedem erkannten Knoten „Befehl auf diesem Computer ausführen" auslösen und das Ergebnis abrufen |
Statusanzeige | Tray-Symbol wechselt die Farbe (Knoten online = grün, keine = grau), Titel zeigt die Anzahl erkannter Knoten in Echtzeit an |
Knotenbenennung | Standardmäßig wird der Hostname verwendet, kann im Web-Panel jederzeit umbenannt werden, für bessere Lesbarkeit |
Knotenübergreifender Dateiversand |
|
Integrierter MCP-Server | 10 Standard-MCP-Tools für KI-Clients wie Claude Desktop / Cursor |
Zentrale Rolle (Hub) | Startet zusätzlich MQTT-Broker + Web-Panel + Dateidienst, wird zum Team-Zentrum |
Port-Fallback | Pool von Ersatzports für MQTT / HTTP / Discovery, automatischer Fallback bei Belegung |
II. Anwendungsfälle
Multi-Rechner-Multi-Agenten-Kooperation: Ein KI-Client kapselt die Fähigkeiten mehrerer Computer über MCP als Tools und orchestriert sie maschinenübergreifend.
LAN-Fernwartung / -Debugging: Befehle von einem beliebigen Knoten an andere Knoten senden und Ergebnisse abrufen.
Maschinenübergreifender Dateitransfer: Senden und Empfangen von Einzeldateien / Verzeichnissen (automatisch als ZIP gepackt) in beide Richtungen.
KI-Client-Anbindung: Kapselt „Aufgaben senden / Posteingang prüfen / Befehle ausführen / Dateien lesen/schreiben / Hoch- und Herunterladen" als Standard-Tools für Claude / Cursor.
III. Technische Architektur
┌──────────── 中心节点 (一台, --role hub) ────────────┐
│ mosquitto (MQTT broker) │
│ bus_server (FastAPI + SQLite, Web 面板 + 文件服务) │
│ 自身控制节点 (带全部功能) │
└────────────────────────────────────────────────────┘
▲ MQTT / HTTP ▲ UDP beacon 发现
│ │
┌─────────┴─────────┐ ┌─────────┴─────────┐
│ worker (对称控制节点) │ ... │ worker (对称控制节点) │
│ 连总线 + 受控/遥控 │ │ 连总线 + 受控/遥控 │
└───────────────────┘ └───────────────────┘Kommunikationsebene: MQTT (mosquitto), Nachrichten werden über Topics geroutet (
agent/<id>/inbox,bus/register,bus/heartbeat/), QoS 1, retain-Registrierung + Last-Will für Offline-Status.Discovery-Ebene: UDP-Broadcast-Beacon (
255.255.255.255:41830), symmetrisch ohne Master/Slave; Worker scannt beim Start automatisch nachis_master-Knoten, um die echte Broker-Adresse zu erhalten (keine manuelle Konfiguration erforderlich).Dateiebene: HTTP (bus_server, FastAPI), Claim-Check-Upload/-Download, automatisches ZIP für Verzeichnisse / sicheres Entpacken (Schutz vor Pfadmanipulation + Zip-Slip).
Zentrale: Die Hub-Rolle startet mosquitto (falls lokal installiert, wird es wiederverwendet, andernfalls wird es beim ersten Start aus
build/mosquitto.zipentpackt) + bus_server + Web-Panel.MCP: FastMCP über stdio-Transport, entkoppelt vom GUI-Modus, separat startbar.
MCP-Tools (10 Stück): list_online_agents · send_task · check_inbox · run_command · read_file · upload_file · download_file · fetch_file · post_file · reply_task
IV. Installation
4.1 Voraussetzungen
Python 3.10+ (auf allen Rechnern)
LAN-Konnektivität + Firewall-Freigabe (eingehend auf der Hub-Seite):
TCP
1883(MQTT, Port-Pool-Fallback möglich:1884/1885/8883/18830)TCP
8000(HTTP-Panel/Dateien, Pool-Fallback:8001/8002/8010/8088)UDP
41830(Discovery-Broadcast)
4.2 Hub-Hauptrechner (einer)
Benötigt vollständiges Projektverzeichnis + mosquitto.
# 1. 获取代码(git clone 或拷贝整个 agent-node 文件夹)
git clone <本仓库地址>
# 2. 安装依赖
cd agent-node
pip install -r requirements.txt
# 3. 启动中心节点(起 broker + Web 面板 + 自身控制节点 + 托盘)
python executor/control_app.py --role hubmosquitto: Wenn lokal installiert, wird es automatisch verwendet (
shutil.which("mosquitto")oderC:\Program Files\mosquitto); wenn nicht installiert, wird es beim ersten Start automatisch ausbuild/mosquitto.zipnachdata/runtime/mosquittoentpackt.build/muss daher erhalten bleiben.Web-Panel: Nach dem Start im Browser
http://127.0.0.1:8000/öffnen (bei Port-Pool-Fallback die tatsächliche Portnummer im Startprotokoll beachten).Beim ersten Start des Hubs wird
data/erstellt (bus.db, files, broker.log, node_config.json), keine Vorkonfiguration nötig.
4.3 Worker (andere Rechner, beliebig viele)
Nur eine reduzierte Teilmenge wird benötigt: agent_bus/-Paket + executor/control_app.py + requirements.txt (server/, build/, scripts/ werden nicht benötigt).
# 1. 拷贝精简子集到目标机器(或 git clone 后仅运行,多余的目录会被自动忽略)
# agent_bus/ executor/control_app.py requirements.txt
# 2. 安装依赖
pip install -r requirements.txt
# 3. 启动 worker(无参数,自动扫描局域网中心)
python executor/control_app.pyKeine Broker-Adresse konfigurieren: Ohne
--broker-hostscannt der Worker automatisch das LAN nachis_master-Knoten und übernimmt die echte Adresse (Host / MQTT-Port / HTTP-Port).Manuelle Angabe des Zentrums (bei gerouteten Netzen / fehlgeschlagener automatischer Erkennung):
python executor/control_app.py --broker-host 192.168.1.10Der Posteingang wird automatisch unter
Downloads/agent-node/inboxabgelegt, das Konfigurationsverzeichnisdata/wird automatisch erstellt. Keine Vorkonfiguration nötig.
4.4 Reduzierte Dateiliste
Datei/Verzeichnis | Hub | Worker | Beschreibung |
| ✅ | ✅ | Kommunikations-SDK |
| ✅ | ✅ | Einziger Einstiegspunkt |
| ✅ | ✅ | Abhängigkeiten installieren |
| ✅ | ❌ | Web-Panel, nur für Hub |
| ✅ | ❌ | Portables Broker-Paket, nur für Hub |
| Optional | ❌ | Build-Tools, zur Laufzeit nicht benötigt |
| Automatisch erstellt | Automatisch erstellt | Laufzeitartefakte |
V. Befehlszeilenargumente
Argument | Beschreibung | Standard |
| Rollen des Knotens | worker |
| Knoten-ID (Adressierungsidentität) |
|
| Anzeigename | Wie Agent-ID |
| Adresse des externen zentralen Brokers (für Worker; Standard: automatische Erkennung) | Leer |
| MQTT-Port | Automatisch aus Pool |
| HTTP-Port | Automatisch aus Pool |
| Discovery-Port | Automatisch aus Pool |
| Deaktiviert die Fernsteuerungsfähigkeit beim Start | false |
| Kein Tray-Symbol (Hintergrund/Test) | false |
| MCP-Server-Modus (stdio) | false |
Port-Pools
MQTT:
1883 → 1884 → 1885 → 8883 → 18830HTTP:
8000 → 8001 → 8002 → 8010 → 8088Discovery:
41830 → 41831 → 41832 → 41840 → 41850
VI. MCP-Konfiguration (für KI-Clients)
--mcp läuft über stdin/stdout und kann von Claude Desktop / Cursor usw. als MCP-Client per JSON-Konfiguration gestartet werden.
{
"mcpServers": {
"agent-node": {
"command": "python",
"args": [
"C:/path/to/agent-node/executor/control_app.py",
"--mcp", "--role", "worker", "--agent-id", "my-agent"
],
"env": { "BUS_BROKER_HOST": "192.168.1.10" }
}
}
}
BUS_BROKER_HOSTkann weggelassen werden – der Worker erkennt das Zentrum automatisch; bei gerouteten Netzen oder fehlgeschlagener Erkennung explizit angeben.
VII. Verzeichnisstruktur
agent-node/
├── executor/
│ └── control_app.py # 节点主入口(对称 + 托盘 + MCP + 中心角色)
├── agent_bus/ # 通信 SDK(client/config/discovery/provision/files/schema...)
├── server/
│ ├── bus_server.py # 中心 HTTP + 消息服务(可编程 serve_bus_server 内联启动)
│ └── static/index.html # Web 面板
├── scripts/
│ └── build_mosquitto_zip.py # 重建 mosquitto 便携包
├── build/
│ └── mosquitto.zip # 便携 mosquitto(hub 首启自解压)
├── docs/
│ ├── 需求与设计.md
│ └── BUGFIX_LOG_20260819.md
└── requirements.txtVIII. Sicherheitsmodell
Dieses Projekt ist für vertrauenswürdige lokale Netzwerke ausgelegt: Der Broker erlaubt anonyme Verbindungen (allow_anonymous), Steuernachrichten werden im Klartext über MQTT gesendet, es gibt nur eine Whitelist für das sender_id-Präfix (die Steuerebene akzeptiert nur hub-*-Identitäten). Keine HMAC-Signaturprüfung / Verschlüsselung / Knoten-Whitelist – für den Einsatz über nicht vertrauenswürdige Netzwerke hinweg sind eigene Sicherheitsmaßnahmen erforderlich.
This server cannot be installed
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 Connectors
Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Remote MCP server for The Colony — a social network for AI agents (posts, DMs, search, marketplace).
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/weifeng-work/agent-node'
If you have feedback or need assistance with the MCP directory API, please join our Discord server