Zum Hauptinhalt springen

Sally MCP mit OpenHands (OpenDevin)

OpenHands (ehemals OpenDevin) ist eine Open-Source-Plattform für autonome Software-Agents. Das Model Context Protocol (MCP) ist ein offener Standard, über den KI-Tools auf externe Datenquellen zugreifen können. OpenHands unterstützt MCP-Server sowohl in OpenHands Cloud als auch im Agent SDK nativ. Nach der Verbindung können Agents deine Sally-Meetings, Zusammenfassungen und Transkripte im Rahmen automatisierter Workflows abfragen, zum Beispiel um Kontext aus vergangenen Besprechungen zu sammeln, offene Aufgaben zusammenzustellen oder Transkriptdaten in nachgelagerte Aufgaben einzuspeisen.

Hintergrundinformationen zum Sally MCP Connector, den verfügbaren Tools und Best Practices zur Sicherheit findest du im Allgemeinen Setup-Guide.

Voraussetzungen
  • Ein OpenHands Cloud-Konto unter app.all-hands.dev oder das OpenHands SDK lokal installiert (pip install openhands-ai).
  • Einen aktiven Sally-Account mit Zugriff auf mindestens ein Unternehmenskonto.
  • Sally MCP aktiviert in deinem Unternehmenskonto (Admin-Einstellung).

Schnellnavigation

  1. Personal Access Token in Sally erstellen
  2. MCP-Verbindung in OpenHands einrichten
  3. Alternative: OpenHands SDK verwenden
  4. Troubleshooting

1. Personal Access Token in Sally erstellen

Ein Personal Access Token (PAT) ist der Schlüssel, mit dem sich der OpenHands-Agent am Sally MCP-Endpoint authentifiziert. Du erstellst ihn einmal.

  1. Melde dich in Sally an unter app.sally.io.
  2. Öffne unten links in der Sidebar die Einstellungen.
Sally-Sidebar mit hervorgehobenem Menüpunkt Einstellungen unten links
Einstellungen öffnen
  1. Wähle in den Einstellungen den Punkt "Integrationen". Klicke unter "Deine persönlichen Integrationen" auf "+ Integration hinzufügen".
Sally-Sidebar mit ausgewähltem Menüpunkt Integrationen und hervorgehobenem Button Integration hinzufügen
Integrationen öffnen und neue Integration hinzufügen
  1. Im Integrations-Dialog findest du den Eintrag "Sally MCP". Klicke dort auf "Token erstellen".
Integrations-Dialog mit dem Eintrag Sally MCP und hervorgehobenem Button Token erstellen
Sally MCP auswählen
  1. Fülle den Dialog "Neuen Sally MCP Token erstellen" aus:

    • Bezeichnung: ein sprechender Name, an dem du den Token später erkennst (z. B. "OpenHands").
    • Läuft ab: wähle eine Laufzeit: 30 Tage, 90 Tage, 1 Jahr, 2 Jahre oder Nie.

    Klicke dann auf "Token erstellen".

Dialog Neuen Sally MCP Token erstellen mit Bezeichnung OpenHands und Laufzeit
Bezeichnung und Laufzeit festlegen
  1. Sally zeigt dir den kompletten Token genau einmal an. Kopiere ihn sofort und lege ihn in einem Passwort-Manager oder einem sicheren Secret-Store ab. Sobald du den Dialog schließt, ist der Klartext-Wert weg. Du kannst ihn nicht noch einmal einsehen, sondern nur neu generieren.
Behandle den Token wie ein Passwort

Der Token gibt Lese-Zugriff auf alle Termine, Aufzeichnungen und Zusammenfassungen, die dein Sally-User in diesem Unternehmenskonto sieht. Teile ihn nicht in Slack, Mail oder Tickets. Lege ihn in einem Passwort-Manager ab.

Dialog mit dem neu erzeugten Sally MCP Token, Copy-Button und Hinweis, dass der Token nur einmal angezeigt wird
Token kopieren, bevor du den Dialog schließt
  1. Klicke auf "Fertig".

Du kannst jederzeit unter Einstellungen → Integrationen → Sally MCP → "Tokens verwalten" zurückkehren, um Tokens neu zu generieren, zu widerrufen oder zusätzliche anzulegen. Beim Neugenerieren wird der alte Token sofort ungültig, tausche ihn also in jedem Client aus, der ihn noch verwendet.

Sally MCP Dialog zum Verwalten der Tokens mit aktivem Token, Prefix, Ablaufdatum sowie Regenerieren- und Löschen-Icon
Aktive Tokens verwalten, einzeln neu generieren oder widerrufen

2. MCP-Verbindung in OpenHands einrichten

  1. Klicke in OpenHands Cloud links unten auf das Profil-Symbol.
  2. Wähle im aufpoppenden Menü den Punkt MCP.
OpenHands Cloud Startseite mit geöffnetem Account-Menü und hervorgehobenem MCP-Eintrag
Account-Menü öffnen und MCP auswählen
  1. Klicke oben rechts auf Add Server. Fülle im Konfigurationsformular die folgenden Felder aus.
  2. Wähle bei Server Type den Wert SHTTP.
Server Type: SHTTP, nicht SSE

Im Dropdown ist standardmäßig SSE vorausgewählt. Sally nutzt aber das modernere Streamable-HTTP-Protokoll, daher unbedingt auf SHTTP umstellen. Bei SSE schlägt die Verbindung fehl.

  1. Trage bei URL ein:
    https://app.sally.io/api/v1/McpExternal
  2. Füge bei API Key den kompletten Sally-Token ein, also sally_pat_... mit Präfix. Schreibe kein Bearer davor.
  3. Belasse Timeout (seconds) beim Default-Wert 60.
Warum 60 Sekunden?

Sally-Anfragen sind normalerweise in 1-3 Sekunden durch, der Default ist also mehr als ausreichend. Bei sehr großen Abfragen (z. B. lange Transkripte mehrerer Meetings) kannst du den Wert nachträglich über das Stift-Symbol am Server-Eintrag erhöhen.

  1. Klicke auf Add Server.
OpenHands MCP-Konfigurationsformular mit Server Type SHTTP, eingetragener Sally-URL, ausgefülltem API Key und Timeout 60
SHTTP auswählen, Sally-URL eintragen, Token einfügen und auf Add Server klicken

OpenHands zeigt nach dem Speichern des Servers keine Erfolgsmeldung an. Der Eintrag erscheint einfach in der Server-Liste, das bestätigt nur, dass die Konfiguration gespeichert wurde, nicht dass die Verbindung tatsächlich funktioniert. Die Verbindung muss in einer echten Konversation geprüft werden:

  1. Kehre über das OpenHands-Logo oben links zur Startseite zurück.
  2. Klicke unter Start from Scratch auf New Conversation.
  3. Stelle eine echte Sally-Anfrage, zum Beispiel:

"Was wurde in meinem letzten Termin besprochen?"

OpenHands-Konversation mit der Anfrage 'What was discussed at the last meeting?' und mehreren laufenden Tool-Aufrufen 'Find the most recent meeting'
Verbindung mit einer echten Meeting-Frage testen

Wenn der Agent die Sally-Tools (search_appointments, get_recordings, get_summary, search_summaries, get_transcription) aufruft und tatsächliche Meeting-Inhalte zurückliefert, ist die Anbindung erfolgreich.

Sprachmodell

Damit der Agent die Sally-Tools überhaupt aufrufen kann, muss unter Settings → Language Model (LLM) ein Modell konfiguriert sein. OpenHands Cloud bringt standardmäßig das Modell openhands/minimax-m2.5 mit, das sofort funktioniert. Stärkere Modelle (Claude, GPT) lassen sich über eigene API-Keys einbinden, sind für Sally-Anfragen aber nicht nötig.


3. Alternative: OpenHands SDK verwenden

Wenn du das OpenHands Agent SDK statt der Cloud-UI nutzt, kannst du die Sally MCP-Config programmatisch übergeben.

mcp_config = {
"mcpServers": {
"sally": {
"url": "https://app.sally.io/api/v1/McpExternal",
"headers": {
"Authorization": "Bearer sally_pat_HIER_DEINEN_TOKEN_EINSETZEN"
}
}
}
}

Ersetze HIER_DEINEN_TOKEN_EINSETZEN durch den Token aus Schritt 1.

Umgebungsvariablen verwenden

Für Produktiv-Workflows empfiehlt es sich, den Token in einer Umgebungsvariable zu speichern, statt ihn fest einzutragen:

import os

sally_token = os.environ["SALLY_MCP_TOKEN"]

mcp_config = {
"mcpServers": {
"sally": {
"url": "https://app.sally.io/api/v1/McpExternal",
"headers": {
"Authorization": f"Bearer {sally_token}"
}
}
}
}

Variable vorher setzen: export SALLY_MCP_TOKEN=sally_pat_abc123...

Übergib die Config an den Agent und führe ihn aus:

from openhands.sdk import Agent, LLM

llm = LLM(model="anthropic/claude-sonnet-4-20250514")

agent = Agent(
llm=llm,
tools=[],
mcp_config=mcp_config,
)

result = agent.run(
"Suche meine Sally-Meetings der letzten 14 Tage zum Thema Produkt-Roadmap "
"und fasse die wichtigsten Entscheidungen zusammen."
)
print(result)

Der Agent ruft search_appointments oder search_summaries auf, um relevante Meetings zu finden, und nutzt dann get_summary oder get_transcription, um Details zu extrahieren.


4. Troubleshooting

ProblemLösung
Agent erwähnt nur seine internen Tools (Bash, Browser etc.), keine Sally-ToolsServer Type prüfen (muss SHTTP sein, nicht SSE). Token-Format prüfen: nur der nackte sally_pat_...-Wert, ohne Bearer-Präfix.
Agent ruft Sally-Tool auf, bekommt aber "401 Unauthorized"Token in Sally widerrufen und neu erstellen, dann den Server-Eintrag in OpenHands über das Stift-Symbol bearbeiten und den neuen Token einsetzen.
Anfragen brechen mit Timeout abServer-Eintrag bearbeiten und Timeout-Wert von 60 auf 120 oder höher setzen.
Sally-Tools tauchen auf, werden aber nicht aufgerufenSprachmodell prüfen. Schwächere Modelle ignorieren manchmal verfügbare Tools. Auf ein stärkeres Modell wechseln.

Weitere Tipps findest du im Allgemeinen Setup-Guide → Troubleshooting.