mcp-viva-engage
mcp-viva-engage
Ein Open-Source Model Context Protocol (MCP) Server, der Claude AI mit Viva Engage (Yammer) verbindet. Durchsuchen Sie Ihre Home-Network-Communities, suchen Sie nach Beiträgen, lesen Sie Unterhaltungen und posten Sie Antworten – alles durch natürliche Konversation mit Claude.
Erstellt von Pranav Joshi
Was Sie tun können
Sobald die Verbindung hergestellt ist, können Sie Claude Dinge fragen wie:
"Welchen Viva Engage Communities gehöre ich an?"
"Suche nach Beiträgen über Business Central Fehler"
"Was sind die neuesten Unterhaltungen in der Entwickler-Community?"
"Antworte auf diesen Thread mit..."
"Zeige mir meinen Viva Engage Feed"
Related MCP server: linkedin-mcp-server
Wichtige Einschränkung — Nur Home Network
Dieser MCP-Server funktioniert nur mit Ihrem Home Network (dem primären Organisationsnetzwerk, das mit Ihren Anmeldedaten verknüpft ist).
Warum kann nicht auf externe Netzwerke zugegriffen werden?
Viva Engage unterstützt zwei Arten von Netzwerken:
Home Network — Ihre primäre Organisation (z. B. das Viva Engage Ihres Unternehmens)
Externe Netzwerke — Communities, die von anderen Organisationen gehostet werden, bei denen Sie Gastmitglied sind (z. B. die Microsoft BC Partners Community)
Die Yammer REST API (www.yammer.com/api/v1) gibt unabhängig von den verwendeten Parametern oder Token nur Daten aus Ihrem Home Network zurück. Externe Netzwerke erfordern Browser-Sitzungscookies, die erst nach einer vollständigen webbasierten Anmeldung verfügbar sind – etwas, das nicht allein durch API-Aufrufe repliziert werden kann.
Microsofts neuere Graph API (graph.microsoft.com) unterstützt ebenfalls keine externen Netzwerke – sie funktioniert nur mit Netzwerken im nativen Modus innerhalb Ihres eigenen Tenants.
Dies ist eine Einschränkung der Microsoft API, keine Einschränkung dieses MCP-Servers. Sollte Microsoft seine API in Zukunft um die Unterstützung externer Netzwerke erweitern, kann dieser Server aktualisiert werden, um diese zu unterstützen.
Funktionsweise
You ask Claude a question
↓
Claude calls this MCP server
↓
Server calls Viva Engage API using YOUR login
↓
Returns data only YOU can already see
↓
Claude answers your questionDatenschutz: Jeder Benutzer registriert seine eigene Azure-App und verwendet seine eigenen Microsoft-Anmeldedaten. Es fließen niemals Daten über die Infrastruktur Dritter. Ihr Anmeldetoken wird nur verschlüsselt auf Ihrem Computer gespeichert.
Voraussetzungen
Node.js v18 oder höher
Ein Microsoft Arbeits-/Schulkonto mit Viva Engage Zugriff
Schritt 1 — Registrieren Sie Ihre eigene Azure-App
Dies ist eine einmalige Einrichtung (~10 Minuten). Sie registrieren Ihre eigene App unter Ihrem eigenen Microsoft-Konto. Niemand sonst kann Ihre App verwenden – sie ist nur an Ihre Anmeldedaten gebunden.
Gehen Sie zu portal.azure.com und melden Sie sich mit Ihrem Microsoft Arbeits-/Schulkonto an
Suchen Sie nach "App-Registrierungen" → klicken Sie auf "+ Neue Registrierung"
Füllen Sie Folgendes aus:
Name:
mcp-viva-engage(oder ein beliebiger Name)Unterstützte Kontotypen:
Mehrere Entra ID-Tenants→ wählen SieAlle Tenants zulassenUmleitungs-URI:
Plattform =
Öffentlicher Client/nativ (mobil & Desktop)URI =
http://localhost
Klicken Sie auf "Registrieren"
Kopieren und speichern Sie auf der Übersichtsseite beide dieser Werte:
Anwendungs-ID (Client-ID)
Verzeichnis-ID (Tenant-ID)
API-Berechtigungen hinzufügen
Klicken Sie in der linken Seitenleiste auf "API-Berechtigungen"
Klicken Sie auf "+ Berechtigung hinzufügen" → klicken Sie auf den Tab "Alle APIs" → suchen Sie nach "Yammer"
Klicken Sie auf "Yammer" → klicken Sie auf "Delegierte Berechtigungen"
Aktivieren Sie diese vier Berechtigungen:
✅
user_impersonation✅
Community.Read.All✅
EngagementConversation.ReadWrite.All✅
Storyline.ReadWrite.All
Klicken Sie auf "Berechtigungen hinzufügen"
Hinweis für Arbeits-/Schulkonten: Der IT-Administrator Ihrer Organisation muss möglicherweise die Zustimmung für diese App erteilen, bevor Sie sich zum ersten Mal anmelden können. Dies ist ein einmaliger Schritt. Sie können direkt vom Anmeldebildschirm aus eine Genehmigungsanfrage senden, wenn Sie den Server zum ersten Mal ausführen.
Schritt 2 — Klonen und Erstellen
# Clone the repo
git clone https://github.com/pranav4186/mcp-viva-engage.git
cd mcp-viva-engage
# Install dependencies
npm install
# Build
npm run buildSchritt 3 — Konfigurieren Sie Ihre Anmeldedaten
Kopieren Sie die Beispiel-Env-Datei:
# Windows
copy .env.example .env
# Mac/Linux
cp .env.example .envÖffnen Sie .env und tragen Sie Ihre Werte aus Schritt 1 ein:
AZURE_CLIENT_ID=your-application-client-id-here
AZURE_TENANT_ID=your-directory-tenant-id-hereWichtig: Committen Sie niemals Ihre
.env-Datei auf GitHub. Sie ist bereits in der.gitignoreenthalten, um dies zu verhindern.
Schritt 4 — Verbindung mit Claude Desktop herstellen
Öffnen Sie Ihre Claude Desktop Konfigurationsdatei:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonMac:
~/Library/Application Support/Claude/claude_desktop_config.json
Fügen Sie den viva-engage Server zum Abschnitt mcpServers hinzu:
{
"mcpServers": {
"viva-engage-mcp": {
"command": "node",
"args": ["C:/path/to/mcp-viva-engage/dist/server.js"],
"env": {
"AZURE_CLIENT_ID": "your-application-client-id-here",
"AZURE_TENANT_ID": "your-directory-tenant-id-here"
}
}
}
}Ersetzen Sie
C:/path/to/mcp-viva-engagedurch den tatsächlichen Pfad, unter dem Sie das Repo geklont haben. Windows-Pfade können Schrägstriche/oder doppelte Backslashes\verwenden.
Beenden Sie Claude Desktop vollständig und starten Sie es neu, nachdem Sie gespeichert haben.
Schritt 5 — Erste Anmeldung
Wenn Sie Claude das erste Mal etwas über Viva Engage fragen:
Ein Browserfenster öffnet sich automatisch mit der Microsoft-Anmeldeseite
Melden Sie sich mit Ihrem Microsoft Arbeits-/Schulkonto an
Genehmigen Sie die Berechtigungen
Der Browser zeigt "Anmeldung erfolgreich!"
Claude führt Ihre Anfrage aus
Ihre Sitzung wird verschlüsselt auf Ihrem Computer gespeichert. Wenn Sie Claude Desktop neu starten, müssen Sie sich möglicherweise erneut anmelden.
Verfügbare Tools
Tool | Beschreibung |
| Ruft alle Viva Engage Netzwerke ab, denen Sie angehören |
| Listet alle Communities in Ihrem Home Network auf |
| Ruft Details einer bestimmten Community nach ID ab |
| Ruft alle Beiträge in einer bestimmten Community ab |
| Ruft alle Nachrichten in einem Unterhaltungs-Thread ab |
| Durchsucht Beiträge in Ihrem gesamten Home Network |
| Postet eine neue Nachricht in einer Community |
| Antwortet auf einen bestehenden Unterhaltungs-Thread |
| Ruft Ihren persönlichen Viva Engage Storyline-Feed ab |
Sicherheit & Datenschutz
🔐 Ihre eigene Azure-App | Jeder Benutzer registriert seine eigene App — keine geteilte Infrastruktur |
🔐 Ihre eigenen Anmeldedaten | Sie melden sich mit Ihrem eigenen Microsoft-Konto an |
🔐 Verschlüsselte Token-Speicherung | Token wird mit Windows DPAPI (oder als einfache Datei auf Mac/Linux) verschlüsselt |
🔐 Keine Geheimnisse im Code | Client-ID und Tenant-ID bleiben nur in Ihrer lokalen |
🔐 Delegierte Berechtigungen | Der Server kann nur sehen, was Sie bereits in Viva Engage sehen können |
🔐 Passwort wird nie berührt | Microsoft übernimmt die Authentifizierung vollständig |
Projektstruktur
mcp-viva-engage/
├── src/
│ ├── auth/
│ │ └── auth.ts # Microsoft OAuth login with DPAPI encrypted cache
│ ├── yammerClient.ts # Viva Engage / Yammer API client
│ └── server.ts # MCP server and tool definitions
├── .env.example # Template — copy to .env and fill in your values
├── .gitignore # Prevents .env from being committed
├── package.json
├── tsconfig.json
└── README.mdFehlerbehebung
"Genehmigung erforderlich" bei der ersten Anmeldung
Ihre Organisation erfordert eine Administratorzustimmung für neue Apps. Bitten Sie Ihren IT-Administrator, die App im Azure-Portal zu genehmigen → Unternehmensanwendungen →
mcp-viva-engagesuchen → Administratorzustimmung erteilen. Dies ist eine einmalige Aktion.
Server wird nicht in Claude Desktop angezeigt
Beenden Sie Claude Desktop vollständig und starten Sie es neu, nachdem Sie die Konfigurationsdatei bearbeitet haben. Überprüfen Sie, ob der Pfad zu
dist/server.jskorrekt ist.
Anmeldung nach Neustart erneut erforderlich
Das verschlüsselte Token ist möglicherweise abgelaufen. Melden Sie sich einfach erneut an — die Sitzung wird nach der Anmeldung zwischengespeichert.
Nur Communities des Home Networks sichtbar
Dies ist zu erwarten — siehe den Abschnitt Wichtige Einschränkung oben. Die Yammer REST API unterstützt nur den Zugriff auf das Home Network.
Pfadprobleme unter Windows
Verwenden Sie entweder Schrägstriche
C:/path/to/dist/server.jsoder doppelte BackslashesC:\\path\\to\\dist\\server.jsin der Konfigurationsdatei.
Bekannte Einschränkungen
Nur Home Network — Externe Netzwerke (z. B. Microsoft BC Partners Community) sind über keine öffentliche Microsoft API zugänglich. Siehe Erklärung oben.
Ratenbegrenzung — Die Yammer API erlaubt 10 Anfragen pro Benutzer pro App alle 30 Sekunden.
Nur-Lese-Suche — Suchergebnisse sind auf das beschränkt, was Viva Engage indiziert.
Roadmap
[ ] Umwandlung in einen Remote-Connector, damit Benutzer keine lokale Einrichtung benötigen
[ ] Unterstützung für Paginierung bei großen Community-Feeds hinzufügen
[ ] Unterstützung für Windows Credential Manager für noch sicherere Token-Speicherung
[ ] Unterstützung für externe Netzwerke, falls Microsoft in Zukunft API-Unterstützung hinzufügt
Lizenz
MIT — siehe LICENSE für Details.
Haftungsausschluss
Dies ist ein unabhängiges Open-Source-Projekt und ist nicht mit Microsoft oder Viva Engage verbunden, wird von diesen nicht unterstützt oder gefördert. Nutzung auf eigene Gefahr.
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
- AlicenseNot gradedqualityNot gradedmaintenanceEnables sending and receiving Instagram Direct Messages, managing conversations, downloading media, viewing user profiles and stories, and interacting with posts through natural language in Claude.
- AlicenseAqualityDmaintenanceEnables Claude Desktop to manage your LinkedIn profile and company pages, including posting, reading posts, and fetching profile information.71774MIT
- AlicenseAqualityDmaintenanceEnables Claude to interact with LinkedIn for posting, commenting, sharing media, and viewing feed and profile.91773MIT
- AlicenseNot gradedqualityBmaintenanceConnects Claude with Microsoft 365 services such as Email, Calendar, Teams, OneDrive, and more through the Microsoft Graph API.4616MIT
Related MCP Connectors
Connect Claude to Fathom meeting recordings, transcripts, and summaries
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Drive your real WhatsApp inbox from Claude — send, reply, label, assign, and triage via TimelinesAI.
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/pranav4186/mcp-viva-engage'
If you have feedback or need assistance with the MCP directory API, please join our Discord server