Skip to main content
Glama

mcp-viva-engage

Un servidor de código abierto del Protocolo de Contexto de Modelo (MCP) que conecta a Claude AI con Viva Engage (Yammer). Explora las comunidades de tu red doméstica, busca publicaciones, lee conversaciones y publica respuestas, todo a través de una conversación natural con Claude.

Creado por Pranav Joshi


Qué puedes hacer

Una vez conectado, puedes pedirle a Claude cosas como:

  • "¿A qué comunidades de Viva Engage pertenezco?"

  • "Busca publicaciones sobre errores de Business Central"

  • "¿Cuáles son las últimas conversaciones en la comunidad de desarrolladores?"

  • "Responde a ese hilo con..."

  • "Muéstrame mi feed de Viva Engage"


Related MCP server: linkedin-mcp-server

Limitación importante: Solo red doméstica

Este servidor MCP funciona solo con tu red doméstica (la red principal de la organización vinculada a tus credenciales de inicio de sesión).

¿Por qué no puede acceder a redes externas?

Viva Engage admite dos tipos de redes:

  • Red doméstica: tu organización principal (por ejemplo, el Viva Engage de tu empresa)

  • Redes externas: comunidades alojadas por otras organizaciones de las que eres miembro invitado (por ejemplo, la comunidad de socios de BC de Microsoft)

La API REST de Yammer (www.yammer.com/api/v1) solo devuelve datos de tu red doméstica, independientemente de los parámetros o tokens que se utilicen. Las redes externas requieren cookies de sesión del navegador que solo están disponibles después de un inicio de sesión web completo, algo que no se puede replicar solo mediante llamadas a la API.

La API Graph más reciente de Microsoft (graph.microsoft.com) tampoco admite redes externas; solo funciona con redes en modo nativo dentro de tu propio inquilino.

Esta es una limitación de la API de Microsoft, no una limitación de este servidor MCP. Si Microsoft amplía su API para admitir redes externas en el futuro, este servidor se podrá actualizar para admitirlas.


Cómo funciona

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 question

Privacidad: Cada usuario registra su propia aplicación de Azure y utiliza sus propias credenciales de Microsoft. Ningún dato pasa nunca por la infraestructura de nadie más. Tu token de inicio de sesión se almacena cifrado solo en tu máquina.


Requisitos previos

  • Node.js v18 o superior

  • Claude Desktop

  • Una cuenta de trabajo/educativa de Microsoft con acceso a Viva Engage


Paso 1: Registra tu propia aplicación de Azure

Esta es una configuración única (~10 minutos). Registras tu propia aplicación bajo tu propia cuenta de Microsoft. Nadie más puede usar tu aplicación; está vinculada solo a tus credenciales.

  1. Ve a portal.azure.com e inicia sesión con tu cuenta de trabajo/educativa de Microsoft

  2. Busca "App registrations" (Registros de aplicaciones) → haz clic en "+ New registration" (Nuevo registro)

  3. Rellena:

    • Nombre: mcp-viva-engage (o lo que prefieras)

    • Tipos de cuenta admitidos: Multiple Entra ID tenants (Múltiples inquilinos de Entra ID) → selecciona Allow all tenants (Permitir todos los inquilinos)

    • URI de redirección:

      • Plataforma = Public client/native (mobile & desktop) (Cliente público/nativo)

      • URI = http://localhost

  4. Haz clic en "Register" (Registrar)

  5. En la página de información general, copia y guarda ambos:

    • Application (client) ID (ID de aplicación)

    • Directory (tenant) ID (ID de directorio)

Añadir permisos de API

  1. En la barra lateral izquierda, haz clic en "API permissions" (Permisos de API)

  2. Haz clic en "+ Add a permission" (Añadir un permiso) → haz clic en la pestaña "All APIs" (Todas las API) → busca "Yammer"

  3. Haz clic en "Yammer" → haz clic en "Delegated permissions" (Permisos delegados)

  4. Marca estos cuatro permisos:

    • user_impersonation

    • Community.Read.All

    • EngagementConversation.ReadWrite.All

    • Storyline.ReadWrite.All

  5. Haz clic en "Add permissions" (Añadir permisos)

Nota para cuentas de trabajo/educativas: Es posible que el administrador de TI de tu organización deba otorgar consentimiento para esta aplicación antes de que puedas iniciar sesión por primera vez. Este es un paso único. Puedes enviar una solicitud de aprobación directamente desde la pantalla de inicio de sesión cuando ejecutes el servidor por primera vez.


Paso 2: Clonar y compilar

# Clone the repo
git clone https://github.com/pranav4186/mcp-viva-engage.git
cd mcp-viva-engage

# Install dependencies
npm install

# Build
npm run build

Paso 3: Configura tus credenciales

Copia el archivo env de ejemplo:

# Windows
copy .env.example .env

# Mac/Linux
cp .env.example .env

Abre .env y rellena tus valores del Paso 1:

AZURE_CLIENT_ID=your-application-client-id-here
AZURE_TENANT_ID=your-directory-tenant-id-here

Importante: Nunca subas tu archivo .env a GitHub. Ya está en .gitignore para evitar esto.


Paso 4: Conectar a Claude Desktop

Abre tu archivo de configuración de Claude Desktop:

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

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

Añade el servidor viva-engage a la sección mcpServers:

{
  "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"
      }
    }
  }
}

Reemplaza C:/path/to/mcp-viva-engage con la ruta real donde clonaste el repositorio. Las rutas de Windows pueden usar barras diagonales / o barras diagonales inversas dobles \\.

Cierra y reinicia completamente Claude Desktop después de guardar.


Paso 5: Primer inicio de sesión

La primera vez que le preguntes a Claude algo sobre Viva Engage:

  1. Se abre automáticamente una ventana del navegador con la página de inicio de sesión de Microsoft

  2. Inicia sesión con tu cuenta de trabajo/educativa de Microsoft

  3. Aprueba los permisos

  4. El navegador mostrará "Login successful!" (¡Inicio de sesión correcto!)

  5. Claude completa tu solicitud

Tu sesión se mantiene cifrada en tu máquina. Cuando reinicies Claude Desktop, es posible que debas iniciar sesión de nuevo.


Herramientas disponibles

Herramienta

Descripción

get_networks

Obtener todas las redes de Viva Engage a las que perteneces

get_communities

Listar todas las comunidades en tu red doméstica

get_community_by_id

Obtener detalles de una comunidad específica por ID

get_community_messages

Obtener todas las publicaciones en una comunidad específica

get_thread

Obtener todos los mensajes en un hilo de conversación

search_messages

Buscar publicaciones en tu red doméstica

post_message

Publicar un nuevo mensaje en una comunidad

reply_to_message

Responder a un hilo de conversación existente

get_storyline_feed

Obtener tu feed personal de storyline de Viva Engage


Seguridad y privacidad

🔐 Tu propia aplicación de Azure

Cada usuario registra su propia aplicación: sin infraestructura compartida

🔐 Tus propias credenciales

Inicias sesión con tu propia cuenta de Microsoft

🔐 Almacenamiento de tokens cifrado

El token se cifra usando Windows DPAPI (o archivo plano en Mac/Linux)

🔐 Sin secretos en el código

El ID de cliente y el ID de inquilino permanecen solo en tu archivo .env local

🔐 Permisos delegados

El servidor solo puede ver lo que ya puedes ver en Viva Engage

🔐 Contraseña nunca tocada

Microsoft gestiona la autenticación por completo


Estructura del proyecto

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.md

Solución de problemas

"Aprobación requerida" en el primer inicio de sesión

Tu organización requiere el consentimiento del administrador para nuevas aplicaciones. Pide a tu administrador de TI que apruebe la aplicación en el portal de Azure → Aplicaciones empresariales → busca mcp-viva-engage → Conceder consentimiento de administrador. Esta es una acción única.

El servidor no aparece en Claude Desktop

Cierra y reinicia completamente Claude Desktop después de editar el archivo de configuración. Verifica que la ruta a dist/server.js sea correcta.

Se requiere inicio de sesión de nuevo después de reiniciar

El token cifrado puede haber caducado. Simplemente inicia sesión de nuevo; la sesión se almacenará en caché después de iniciar sesión.

Solo veo comunidades de la red doméstica

Esto es lo esperado; consulta la sección Limitación importante anterior. La API REST de Yammer solo admite el acceso a la red doméstica.

Problemas de ruta en Windows

Usa barras diagonales C:/path/to/dist/server.js o barras diagonales inversas dobles C:\\path\\to\\dist\\server.js en el archivo de configuración.


Limitaciones conocidas

  • Solo red doméstica: las redes externas (por ejemplo, la comunidad de socios de Microsoft BC) no son accesibles a través de ninguna API pública de Microsoft. Consulta la explicación anterior.

  • Limitación de velocidad: la API de Yammer permite 10 solicitudes por usuario por aplicación cada 30 segundos.

  • Búsqueda de solo lectura: los resultados de búsqueda se limitan a lo que indexa Viva Engage.


Hoja de ruta

  • [ ] Convertir en un conector remoto para que los usuarios no necesiten una configuración local

  • [ ] Añadir soporte de paginación para feeds de comunidades grandes

  • [ ] Soporte para el Administrador de credenciales de Windows para un almacenamiento de tokens aún más seguro

  • [ ] Admitir redes externas si Microsoft añade soporte de API en el futuro


Licencia

MIT: consulta LICENSE para obtener más detalles.


Descargo de responsabilidad

Este es un proyecto de código abierto independiente y no está afiliado, respaldado ni apoyado por Microsoft o Viva Engage. Úsalo bajo tu propio riesgo.

Install Server
A
license - permissive license
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables sending and receiving Instagram Direct Messages, managing conversations, downloading media, viewing user profiles and stories, and interacting with posts through natural language in Claude.
  • A
    license
    A
    quality
    D
    maintenance
    Enables Claude Desktop to manage your LinkedIn profile and company pages, including posting, reading posts, and fetching profile information.
    7
    177
    4
    MIT

View all related MCP servers

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.

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/pranav4186/mcp-viva-engage'

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