Skip to main content
Glama

mcp-viva-engage

Сервер протокола контекста модели (MCP) с открытым исходным кодом, который подключает Claude AI к Viva Engage (Yammer). Просматривайте сообщества вашей домашней сети, ищите публикации, читайте обсуждения и публикуйте ответы — и все это через естественный диалог с Claude.

Создано Pranav Joshi


Что вы можете делать

После подключения вы можете спрашивать Claude о следующем:

  • «В каких сообществах Viva Engage я состою?»

  • «Найди публикации об ошибках в Business Central»

  • «Какие последние обсуждения были в сообществе разработчиков?»

  • «Ответь на эту ветку обсуждения так...»

  • «Покажи мою ленту Viva Engage»


Related MCP server: linkedin-mcp-server

Важное ограничение — только домашняя сеть

Этот MCP-сервер работает только с вашей домашней сетью (основная организационная сеть, привязанная к вашим учетным данным).

Почему он не может получить доступ к внешним сетям?

Viva Engage поддерживает два типа сетей:

  • Домашняя сеть — ваша основная организация (например, Viva Engage вашей компании)

  • Внешние сети — сообщества, размещенные другими организациями, в которых вы являетесь гостем (например, сообщество Microsoft BC Partners)

REST API Yammer (www.yammer.com/api/v1) возвращает данные только из вашей домашней сети, независимо от того, какие параметры или токены используются. Для внешних сетей требуются файлы cookie сеанса браузера, которые доступны только после полноценного входа через веб-интерфейс — это невозможно воспроизвести только с помощью вызовов API.

Более новый Graph API от Microsoft (graph.microsoft.com) также не поддерживает внешние сети — он работает только с сетями в собственном режиме внутри вашего клиента.

Это ограничение API Microsoft, а не ограничение данного MCP-сервера. Если в будущем Microsoft расширит свой API для поддержки внешних сетей, этот сервер можно будет обновить для их поддержки.


Как это работает

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

Конфиденциальность: Каждый пользователь регистрирует свое собственное приложение Azure и использует свои собственные учетные данные Microsoft. Никакие данные не проходят через инфраструктуру кого-либо еще. Ваш токен входа хранится в зашифрованном виде только на вашем компьютере.


Предварительные требования

  • Node.js версии 18 или выше

  • Claude Desktop

  • Рабочая/учебная учетная запись Microsoft с доступом к Viva Engage


Шаг 1 — Регистрация собственного приложения Azure

Это разовая настройка (около 10 минут). Вы регистрируете свое собственное приложение под своей учетной записью Microsoft. Никто другой не может использовать ваше приложение — оно привязано только к вашим учетным данным.

  1. Перейдите на portal.azure.com и войдите в систему с помощью своей рабочей/учебной учетной записи Microsoft

  2. Найдите «Регистрация приложений» (App registrations) → нажмите «+ Новая регистрация»

  3. Заполните:

    • Имя: mcp-viva-engage (или любое другое на ваш вкус)

    • Поддерживаемые типы учетных записей: Несколько клиентов Entra ID → выберите Разрешить все клиенты

    • URI перенаправления:

      • Платформа = Общедоступный клиент/собственный (мобильный и настольный)

      • URI = http://localhost

  4. Нажмите «Зарегистрировать»

  5. На странице обзора скопируйте и сохраните оба этих значения:

    • Идентификатор приложения (клиента)

    • Идентификатор каталога (клиента)

Добавление разрешений API

  1. На левой боковой панели нажмите «Разрешения API»

  2. Нажмите «+ Добавить разрешение» → перейдите на вкладку «Все API» → найдите «Yammer»

  3. Нажмите «Yammer» → нажмите «Делегированные разрешения»

  4. Отметьте эти четыре разрешения:

    • user_impersonation

    • Community.Read.All

    • EngagementConversation.ReadWrite.All

    • Storyline.ReadWrite.All

  5. Нажмите «Добавить разрешения»

Примечание для рабочих/учебных учетных записей: ИТ-администратору вашей организации может потребоваться предоставить согласие для этого приложения, прежде чем вы сможете войти в систему в первый раз. Это разовый шаг. Вы можете отправить запрос на одобрение прямо с экрана входа при первом запуске сервера.


Шаг 2 — Клонирование и сборка

# 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

Шаг 3 — Настройка учетных данных

Скопируйте пример файла env:

# Windows
copy .env.example .env

# Mac/Linux
cp .env.example .env

Откройте .env и вставьте свои значения с Шага 1:

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

Важно: Никогда не добавляйте файл .env в репозиторий GitHub. Он уже добавлен в .gitignore, чтобы предотвратить это.


Шаг 4 — Подключение к Claude Desktop

Откройте файл конфигурации Claude Desktop:

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

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

Добавьте сервер viva-engage в раздел 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"
      }
    }
  }
}

Замените C:/path/to/mcp-viva-engage на фактический путь, по которому вы клонировали репозиторий. В путях Windows можно использовать прямые слэши / или двойные обратные слэши \\.

Полностью закройте и перезапустите Claude Desktop после сохранения.


Шаг 5 — Первый вход

Когда вы впервые спросите Claude что-то о Viva Engage:

  1. Автоматически откроется окно браузера со страницей входа Microsoft

  2. Войдите в систему с помощью своей рабочей/учебной учетной записи Microsoft

  3. Одобрите разрешения

  4. В браузере появится сообщение «Вход выполнен успешно!»

  5. Claude выполнит ваш запрос

Ваш сеанс хранится в зашифрованном виде на вашем компьютере. При перезапуске Claude Desktop может потребоваться войти снова.


Доступные инструменты

Инструмент

Описание

get_networks

Получить все сети Viva Engage, в которых вы состоите

get_communities

Список всех сообществ в вашей домашней сети

get_community_by_id

Получить подробную информацию о конкретном сообществе по ID

get_community_messages

Получить все публикации в конкретном сообществе

get_thread

Получить все сообщения в ветке обсуждения

search_messages

Поиск публикаций по всей домашней сети

post_message

Опубликовать новое сообщение в сообществе

reply_to_message

Ответить на существующую ветку обсуждения

get_storyline_feed

Получить вашу личную ленту Viva Engage


Безопасность и конфиденциальность

🔐 Ваше собственное приложение Azure

Каждый пользователь регистрирует свое приложение — никакой общей инфраструктуры

🔐 Ваши собственные учетные данные

Вы входите в систему со своей учетной записью Microsoft

🔐 Зашифрованное хранилище токенов

Токен зашифрован с помощью Windows DPAPI (или обычного файла на Mac/Linux)

🔐 Никаких секретов в коде

ID клиента и ID арендатора остаются только в вашем локальном файле .env

🔐 Делегированные разрешения

Сервер видит только то, что вы уже можете видеть в Viva Engage

🔐 Пароль не затрагивается

Microsoft полностью берет на себя аутентификацию


Структура проекта

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

Устранение неполадок

«Требуется одобрение» при первом входе

Ваша организация требует согласия администратора для новых приложений. Попросите ИТ-администратора одобрить приложение на портале Azure → Корпоративные приложения → найдите mcp-viva-engage → Предоставить согласие администратора. Это разовое действие.

Сервер не отображается в Claude Desktop

Полностью закройте и перезапустите Claude Desktop после редактирования файла конфигурации. Убедитесь, что путь к dist/server.js указан верно.

После перезапуска снова требуется вход

Зашифрованный токен мог истечь. Просто войдите снова — сеанс будет кэширован после входа.

Видны только сообщества домашней сети

Это ожидаемое поведение — см. раздел Важное ограничение выше. REST API Yammer поддерживает доступ только к домашней сети.

Проблемы с путями в Windows

Используйте прямые слэши C:/path/to/dist/server.js или двойные обратные слэши C:\\path\\to\\dist\\server.js в файле конфигурации.


Известные ограничения

  • Только домашняя сеть — Внешние сети (например, сообщество Microsoft BC Partners) недоступны через какой-либо публичный API Microsoft. См. объяснение выше.

  • Ограничение частоты запросов — API Yammer разрешает 10 запросов на пользователя на приложение каждые 30 секунд.

  • Поиск только для чтения — Результаты поиска ограничены тем, что индексирует Viva Engage.


Дорожная карта

  • [ ] Преобразовать в удаленный коннектор, чтобы пользователям не требовалась локальная настройка

  • [ ] Добавить поддержку пагинации для больших лент сообществ

  • [ ] Поддержка Диспетчера учетных данных Windows для еще более безопасного хранения токенов

  • [ ] Поддержка внешних сетей, если Microsoft добавит поддержку API в будущем


Лицензия

MIT — подробности см. в LICENSE.


Отказ от ответственности

Это независимый проект с открытым исходным кодом, который не связан, не одобрен и не поддерживается Microsoft или Viva Engage. Используйте на свой страх и риск.

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