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 社区)

无论使用什么参数或令牌,Yammer REST API (www.yammer.com/api/v1) 都仅返回来自您家庭网络的数据。外部网络需要仅在完整的基于 Web 的登录后才能获得的浏览器会话 Cookie,而这无法仅通过 API 调用来复制。

Microsoft 较新的 Graph API (graph.microsoft.com) 也不支持外部网络 — 它仅适用于您自己租户内处于原生模式的网络。

这是 Microsoft API 的限制,而非此 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 v18 或更高版本

  • Claude Desktop

  • 具有 Viva Engage 访问权限的 Microsoft 工作/学校账户


第 1 步 — 注册您自己的 Azure 应用

这是一个一次性设置(约 10 分钟)。您可以在自己的 Microsoft 账户下注册自己的应用。其他人无法使用您的应用 — 它仅与您的凭据绑定。

  1. 前往 portal.azure.com 并使用您的 Microsoft 工作/学校账户登录

  2. 搜索 “应用注册” (App registrations) → 点击 “+ 新注册” (+ New registration)

  3. 填写:

    • 名称: mcp-viva-engage(或任何您喜欢的名称)

    • 支持的账户类型: 多个 Entra ID 租户 → 选择 允许所有租户

    • 重定向 URI:

      • 平台 = 公共客户端/原生 (移动和桌面)

      • URI = http://localhost

  4. 点击 “注册” (Register)

  5. 在概览页面上,复制并保存以下两项:

    • 应用程序 (客户端) ID

    • 目录 (租户) ID

添加 API 权限

  1. 在左侧边栏中点击 “API 权限” (API permissions)

  2. 点击 “+ 添加权限” (+ Add a permission) → 点击 “所有 API” (All APIs) 选项卡 → 搜索 “Yammer”

  3. 点击 “Yammer” → 点击 “委托的权限” (Delegated permissions)

  4. 勾选以下四项权限:

    • user_impersonation

    • Community.Read.All

    • EngagementConversation.ReadWrite.All

    • Storyline.ReadWrite.All

  5. 点击 “添加权限” (Add permissions)

工作/学校账户注意事项: 在您首次登录之前,您组织的 IT 管理员可能需要为此应用授予许可。这是一个一次性步骤。您在首次运行服务器时,可以直接从登录屏幕提交批准请求。


第 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. 浏览器显示 “登录成功!” (Login successful!)

  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

故障排除

首次登录时显示“需要批准”

您的组织要求对新应用进行管理员许可。请要求您的 IT 管理员在 Azure 门户 → 企业应用程序 → 找到 mcp-viva-engage → 授予管理员许可。这是一次性操作。

Claude Desktop 中未显示服务器

编辑配置文件后,请完全退出并重启 Claude Desktop。验证 dist/server.js 的路径是否正确。

重启后需要再次登录

加密令牌可能已过期。只需再次登录即可 — 登录后会话将被缓存。

仅看到家庭网络社区

这是预期的 — 请参阅上方的 重要限制 部分。Yammer REST API 仅支持家庭网络访问。

Windows 上的路径问题

在配置文件中使用正斜杠 C:/path/to/dist/server.js 或双反斜杠 C:\\path\\to\\dist\\server.js


已知限制

  • 仅限家庭网络 — 无法通过任何公共 Microsoft API 访问外部网络(例如 Microsoft BC Partners 社区)。请参阅上方的解释。

  • 速率限制 — Yammer API 允许每个用户每个应用每 30 秒 10 次请求。

  • 只读搜索 — 搜索结果仅限于 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