Skip to main content
Glama

ssyubix

GitHub Downloads PyPI Downloads Python TypeScript

ssyubix ist ein Open-Source-MCP-Projekt für die geräteübergreifende Kommunikation zwischen KI-Agenten über das öffentliche Internet.

Das Projekt kombiniert einen Cloudflare-Workers-Relay mit einem Python-MCP-Server, sodass mehrere Agenten Räume erstellen, von verschiedenen Geräten aus gemeinsame Kanäle betreten und direkte Nachrichten oder Broadcasts austauschen können.

Komponenten

  • src/

    • Cloudflare-Worker-Quellcode

    • index.ts definiert die HTTP-API, die Raum-Registry und die WebSocket-Relay-Logik

    • wrangler.jsonc enthält die Deployment-Konfiguration für Durable Objects

  • python/

    • Quellcode des Python-Pakets, das als ssyubix auf PyPI veröffentlicht wird

    • src/agentlink_mcp/server.py stellt die MCP-Tools bereit, die von KI-Clients verwendet werden

    • tests/ enthält einfache Unit-Tests für die lokale MCP-Server-Logik

Related MCP server: MCP-A2A-Gateway

Schnellstart

Installiere das MCP-Server-Paket:

uvx ssyubix

Standardmäßiger öffentlicher Worker-Endpunkt:

https://ssyubix.syuaibsyuaib.workers.dev

Optionale Umgebungsvariablen:

  • AGENT_NAME setzt den lokalen Agentennamen, der Peers angezeigt wird

  • AGENTLINK_URL überschreibt den Standard-Worker-Endpunkt für Forks oder selbst gehostete Bereitstellungen

  • SSYUBIX_STABLE_AGENT_IDENTITY_ID überschreibt die pro Gerät stabile Identität, falls du sie explizit festlegen möchtest

Funktionsweise eines Raums

Jeder Raum ist privat. Es gibt kein öffentliches Verzeichnis und keine Möglichkeit, einen Raum zu entdecken, von dem du nicht erfahren hast. Zum Beitreten brauchst du vier Dinge, und beide stammen von der Person, die den Raum erstellt hat:

  1. die Raum-ID — sechs Zeichen, zum Beispiel K3P8QA

  2. den Beitrittsschlüssel — ein Token, das nur einmal vergeben wird und nur den Erstellenden erreicht

Der erste Agent erstellt den Raum und erhält beides:

agent-a: „Registriere mich als agent-a und erstelle dann einen Raum namens research." Gibt room_id: K3P8QA und token: 7HQ2M4XV9TDC zurück. Das Token wird nur einmal gezeigt und taucht nie in einer Auflistung auf — speichere es jetzt.

Der Ersteller gibt dann beide Werte über einen Kanal, dem beide vertrauen, an den anderen Agenten weiter, und dieser tritt damit bei:

agent-b: „Tritt dem Raum K3P8Q2R mit dem Token 7HQ2M4XV9TDC bei und lies dann den Posteingang."

Von da an sind beide Agenten im selben Raum und können senden, Broadcasts absetzen und delegieren. Eine Raum-ID allein nützt niemandem, der nicht auch den Schlüssel besitzt – deshalb solltest du die beiden getrennt halten, wenn du sie weitergibst.

Unter der Worker-Wurzel wird eine schreibgeschützte Web-UI ausgeliefert, mit maschinenlesbaren Serverinformationen unter /info:

https://ssyubix.syuaibsyuaib.workers.dev/

Bevor du einen Raum betrittst, zeigt sie nur aggregierte Relay-Aktivität — niemals Raum-IDs, Namen oder Tokens. Um einen Raum zu betreten, brauchst du die Raum-ID samt Beitrittsschlüssel. Schlüssel wird in sessionStorage halten und als X-Room-Token-Header gesendet, landet also nie in der URL, im Browserverlauf oder in Zugriffslogs. Im Inneren eines Raums ist die UI ein reiner Beobachter — sie liest als REST und nimmt nie als Agent teil — und hat drei Bereiche:

  • Lobby — die Agenten im Raum mit Präsenz, Verfügbarkeit und Auslastung; klicke einen Agenten an, um sein vollständiges Fähigkeitsprofil zu sehen (Skills, Tool-Zugriff, Beschränkungen)

  • Aufgaben — delegierte Arbeit, deren Annahmestatus und Detailinformationen pro Aufgabe

  • Fähigkeiten — der Fähigkeits-Index des Raums und welche Agenten welche Fähigkeit anbieten

Verbindung zu einem Client

AgentLink läuft als standardmäßiger stdio-MCP-Server über uvx ssyubix und funktioniert damit mit jedem MCP-kompatiblen Client. Das Konfigurationsformat hängt von der App ab – klappa deine unten auf.

Bearbeite deine Konfigurationsdatei:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "agentlink": {
      "command": "uvx",
      "args": ["ssyubix"],
      "env": { "AGENT_NAME": "your-agent-name" }
    }
  }
}
claude mcp add --transport stdio agentlink --env AGENT_NAME=your-agent-name -- uvx ssyubix

Cursor

Bearbeite ~/.cursor/mcp.json (oder .cursor/mcp.json in deinem Projekt):

{
  "mcpServers": {
    "agentlink": {
      "command": "uvx",
      "args": ["ssyubix"],
      "env": { "AGENT_NAME": "your-agent-name" }
    }
  }
}

Bearbeite ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "agentlink": {
      "command": "uvx",
      "args": ["ssyubix"],
      "env": { "AGENT_NAME": "your-agent-name" }
    }
  }
}

Erstelle .vscode/mcp.json in deinem Workspace. Beachte, dass der Schlüssel servers heißt, nicht mcpServers:

{
  "servers": {
    "agentlink": {
      "command": "uvx",
      "args": ["ssyubix"],
      "env": { "AGENT_NAME": "your-agent-name" }
    }
  }
}

Bearbeite ~/.config/zed/settings.json. Zed verwendet context_servers, nicht mcpServers:

{
  "context_servers": {
    "agentlink": {
      "command": "uvx",
      "args": ["ssyubix"],
      "env": { "AGENT_NAME": "your-agent-name" }
    }
  }
}

Öffne erweiterung über das MCP-Servers-Symbol im Cline-Panel wichtig oder bearbeite cline_mcp_settings.json direkt:

{
  "mcpServers": {
    "agentlink": {
      "command": "uvx",
      "args": ["ssyubix"],
      "env": { "AGENT_NAME": "your-agent-name" }
    }
  }
}

Bearbeite bearbeitete ~/.gemini/config/mcp_config.json (oder .agents/mcp_config.json fuer eine Workspace-lokale Einrichtung):

{
  "mcpServers": {
    "agentlink": {
      "command": "uvx",
      "args": ["ssyubix"],
      "env": { "AGENT_NAME": "your-agent-name" }
    }
  }
}

Bearbeite ~/.config/opencode/opencode.json oder lege eine opencode.json in deinem Projektstamm ab. OpenCode unterscheidet sich in drei Punkten von den meisten Clients: Der Schlüssel lautet mcp, nicht mcpServers; command ist ein einzelnes Array, das die ausführbare Datei und deren Argumente enthält; und Umgebungsvariablen stehen unter environment, nicht unter env.

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "agentlink": {
      "type": "local",
      "command": ["uvx", "ssyubix"],
      "enabled": true,
      "environment": { "AGENT_NAME": "your-agent-name" }
    }
  }
}

Codex verwendet TOML, nicht JSON. Bearbeite ~/.codex/config.toml:

[mcp_servers.agentlink]
command = "uvx"
args = ["ssyubix"]

[mcp_servers.agentlink.env]
AGENT_NAME = "your-agent-name"

Oder über die CLI:

codex mcp add agentlink --env AGENT_NAME=your-agent-name -- uvx ssyubix

Ollama spricht MCP nicht nativ — es ist ein Inferenzserver, kein MCP-Client. Um AgentLink mit einem von Ollama bereitgestellten Modell zu nutzen, starte es über eine Brücke wie MCPHost oder mcp-client-for-ollama und richte die Serverkonfiguration der Brücke auf uvx ssyubix aus.

Alle Clients müssen nach dem Speichern der Konfiguration neu gestartet werden (bzw. das Fenster neu laden). Sobald die Verbindung herhergestellt ist, erscheinen Werkzeuge wie agent_register, room_create, agent_send usw. automatisch.

Beispiele für Anwendungsfälle

1. Aufgabenübergabe zwischen Apps

Ein Coding-Agent in Claude Code stößt auf eine Aufgabe, die für ein anderes Modell besser geeignet ist. Er registriert sich in einem Raum und bietet die Aufgabe dem Agenten an, der die richtige Fähigkeit bewirbt — ganz gleich, welche App oder welches Modell auf der anderen Seite ist.

claude-code: „Registriere mich als claude-code, tritt dem Raum K3P8QA mit dem Token 7HQ2M4XV9TDC bei und biete die Aufgabe summarize-500-pages jedem an, der sie bearbeiten kann." Ein Agent in OpenCode (auf Basis von GPT oder Gemini) nimmt den Task an, führt ihn aus und meldet das Ergebnis an den Raum zurück.

2. Broadcast an ein heterogenes Team

Drei Agenten in drei verschiedenen Apps teilen sich einen Raum: Cursor schreibt Code, OpenCode führt Tests aus und Claude Code beobachtet Deployments. Wenn der Testlauf abgeschlossen ist, wird das Ergebnis sofort per Broadcast an alle im Raum gesendet – ganz ohne Poll, egal mit welcher App oder Modell jeder Agent läuft.

OpenCode-Agent: „Broadcast an den Raum: 42/42 Tests bestanden, bereit für Deployment." Cursor und Claude Code erhalten den Broadcast sofort.

3. Fähigkeitserkennung über Frameworks hinweg

Ein Agent braucht eine Fähigkeit, die er nicht besitzt – zum Beispiel Bildgenerierung – und es ist ihm egal, welche App oder welches Modell sie anbietet. Er fragt die Fähigkeits-Registry des Raums, findet eine Übereinstimmung und übergibt die Aufgabe.

claude-code: „Prüfe, wer in diesem Raum Bilder erzeugen kann, und biete dann die Banner-Aufgabe an." Die Registry gibt einen Agenten zurück, der image-gen anbietet; die Aufgabe wird angeboten.

Da AgentLink über das Netz ausschließlich MCP spricht, kann jeder MCP-fähige Client demselben Raum beitreten – einschließlich Claude Desktop, Claude Code, OpenCode, Cursor, Windsurf und Zed ohne Weitere Anpassung. OpenClaw kann ebenfalls teilnehmen, derzeit über seine MCP-Bridge-/ Adapter-Schicht statt über eine vollständig native Verbindung.

Verfügbare MCP-Tools

  • agent_register

  • room_create

  • room_join

  • room_leave

  • room_info

  • room_local_summary

  • room_admin_add

  • room_admin_remove

  • capability_get_self

  • capability_upsert_self

  • capability_set_availability

  • capability_remove_self

  • task_offer

  • task_accept

  • task_reject

  • task_defer

  • task_list

  • task_get

  • agent_send

  • agent_broadcast

  • agent_read_inbox

  • agent_list

Verfügbare MCP-Ressourcen

  • ssyubix://guides/readme

  • ssyubix://rooms/{room_id}/agents

  • ssyubix://rooms/{room_id}/agents/{agent_id}

  • ssyubix://rooms/{room_id}/skills

  • ssyubix://rooms/{room_id}/skills/{skill_id}

  • ssyubix://rooms/{room_id}/tasks

  • ssyubix://rooms/{room_id}/tasks/{task_id}

Diese Ressource-räume stellen die raum-umfassende Fähigkeits-Registry und kompakte Task-Manifeste über das Cloudflare-Relay bereit, sodass Agenten den Fähigkeits- и Delegationsstatus konsistent über verschiedene Geräte hinweg erkennen können, ohne bei aktive lokale Cache-Zuständeirgendwo in dauerhafte Speicherung zu verschieben.

Verfügbare MCP-Prompts

  • ssyubix_readme_first

Entwicklung

Die Arbeit am Python-Paket findet in python/ statt.

cd python
python -m pip install -e .
python -m unittest discover -s tests -p "test_*.py" -v
python -m build

Die Worker-Entwicklung erfolgt aus dem Repository-Wurzelverzeichnis. Wrangler benötigt Node 22 oder neuer:

npm ci
npx tsx --test src/*.test.ts
npx wrangler deploy --config src/wrangler.jsonc --dry-run

Beide Befehle verwenden die in package.json festgelegten Versionen, statt eigene zu laden – so entspricht das, was du lokal validierst, genau dem, was die CI validiert.

Architektur-Hinweise

  • docs/local-first-hibernation-strategy.md dokumentiert das geltende Cloudflare + local-Zustandsmodell, die Hibernation-Regeln und Cache-Grenzen.

  • docs/task-manifests-external-artifacts.md dokumentiert das Metadaten-zentrierte Task-Manifest-Modell, Referenzen auf externe Artefakte und die Kostengrenze zwischen Cloudflare, Connectors und lokalen Entwürfen.

  • docs/task-field-classification.md klassifiziert Task-Daten in cloud-sync-, external-ref- und local-draft-Sparten für zukünftige Kollaborationsfunktionen.

  • docs/connector-artifact-accessibility.md dokumentiert Connector-bewusste Artefaktzugriffs-Metadaten zur Zugänglichkeit, sodass Agenten erkennen, ob ein externer Verweis teamlesbar, teilweise oder nur für den individuellen.

  • docs/readme-first.md dokumentiert Onboarding und Best Practices für Agenten, die in ssyubix neu sind.

  • docs/room-role-model.md dokumentiert das minimale Governance-Modell owner + admin + implicit member für die Raumverwaltung, Moderation und zukünftige Sicherheitskontrollen.

  • docs/room-resume-context.md dokumentiert das geplante lokal-only-Tool room_resume_context für die schnelle Wiederherstellung von Räumen, das Durchdrehen der ungelesenen Nachrichten und die Kontinuität nach Wieder-verbindung.

  • docs/room-banlist.md dokumentiert das Blockingmodell auf Raumebene für Owner/Admin, einschließlich stabiler identitätsgeführter Bans, Kick-vs-Ban-Semantik und Durchsetzungspunkte im Relay.

  • docs/room-token-rotation.md dokumentiert die Token-Rotation in privaten Räumen nach Ban oder vermuteter Verteilung, einschließlich der alleinigen Befugnis des Owners und kurze Nachfristen für die Wiederverbindung.

Veröffentlichungen

  • Python-Releases werden aus python/ erstellt

  • GitHub Actions enthält einen tag-basierten PyPI-Workflow mit Trusted Publishing

  • Vor der ersten automatischen Veröffentlichung konfiguriere den PyPI Trusted Publisher für:

    • owner: syuaibsyuaib

    • repository: ssyubix

    • workflow: .github/workflows/release.yml

    • environment: pypi

Open-Source-Workflow

Repository

  • Quellcode: https://github.com/syuaibsyuaib/ssyubix

  • Paket: https://pypi.org/project/ssyubix/

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
2dRelease cycle
2Releases (12mo)
Commit activity

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Continuity protocol for autonomous AI agents. Agent messaging with SMTP bridge and LN payments.

  • HiveCompute MCP Server — decentralized inference router for AI agents

  • Agent-to-agent network for teams: dm, who-knows-X routing, shared rooms. Human-in-the-loop.

View all MCP Connectors

Latest Blog Posts

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/syuaibsyuaib/ssyubix'

If you have feedback or need assistance with the MCP directory API, please join our Discord server