You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS/Linux下Microsoft.PowerPlatform.Dataverse.MCP的MSAL认证参数缺失异常

解决Microsoft.PowerPlatform.Dataverse.MCP在macOS/Linux上的MSAL认证参数缺失问题

问题概述

按照官方指南使用Microsoft.PowerPlatform.Dataverse.MCP本地代理连接Dataverse时,在macOS或Linux系统运行会触发MSAL认证失败,抛出System.ArgumentNullException,提示keyChainServiceName(macOS)或attributeKey1(Linux)参数为空。

错误详情

macOS错误日志

Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'keyChainServiceName')
   at Microsoft.Identity.Client.Extensions.Msal.MacKeychainAccessor..ctor(...)
   at Microsoft.Identity.Client.Extensions.Msal.Storage.Create(...)
   at Microsoft.Identity.Client.Extensions.Msal.MsalCacheHelper.CreateAsync(...)
   at PowerPlatformMCPProxy.Auth.AuthenticationService.GetMsalClient() ...

Linux错误日志

Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'attributeKey1')
   at Microsoft.Identity.Client.Extensions.Msal.LinuxKeyringAccessor..ctor(...)
   at Microsoft.Identity.Client.Extensions.Msal.Storage.Create(...)
   at Microsoft.Identity.Client.Extensions.Msal.MsalCacheHelper.CreateAsync(...)
   at PowerPlatformMCPProxy.Auth.AuthenticationService.GetMsalClient() ...
Aborted (core dumped)

已尝试操作

  • 使用NuGet上的最新Microsoft.PowerPlatform.Dataverse.MCP版本
  • 严格遵循官方指南的前置要求
  • 在.NET 8环境下测试
  • 在VS Code终端、独立终端等不同环境运行
  • 在macOS、Redhat Linux系统上验证

解决方案

1. 设置MSAL专用环境变量

MSAL在非Windows平台依赖环境变量填充缺失参数,运行代理前先设置对应变量:

  • macOS:
    export MSAL_KEYCHAIN_SERVICE_NAME="com.microsoft.powerplatform.datverse.mcp"
    
  • Linux:
    export MSAL_ATTRIBUTE_KEY1="PowerPlatformMCPProxy"
    

设置完成后启动MCP代理工具即可。若需永久生效,可将命令添加到shell配置文件(如~/.bashrc、~/.zshrc)中。

2. 验证MSAL依赖兼容性

确认.NET 8环境中Microsoft.Identity.Client.Extensions.Msal包版本与MCP代理依赖版本匹配,版本不兼容可能导致参数传递异常。可手动更新该包到最新稳定版:

dotnet add package Microsoft.Identity.Client.Extensions.Msal --version latest

3. 检查工具自定义参数

运行MCP代理的帮助命令,查看是否支持通过命令行参数或配置文件指定MSAL缓存参数:

# 若通过dotnet run启动
dotnet run --help
# 若为独立可执行文件
./Microsoft.PowerPlatform.Dataverse.MCP --help

若存在--key-chain-service或--attribute-key1这类参数,直接通过命令行传递即可。

4. 提交官方反馈

若上述方法均无效,说明工具存在非Windows平台兼容性bug,建议向Power Apps官方提交问题,附带完整错误日志、环境信息及已尝试操作,推动官方修复。

内容的提问来源于stack exchange,提问作者faris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 17:28:29