使用说明
商务中心MCP代理
⚠️ 实验工具-不用于生产
此工具用于 仅限于实验 并且是 不用于生产用途它允许您将Claude Desktop或VS Code连接到业务中心模型上下文协议(MCP)服务器。
概述
BC MCP Proxy充当MCP兼容客户端(如Claude Desktop)和Business Central之间的桥梁,实现与Business Central数据和操作的自然语言交互。
先决条件
- Microsoft Dynamics 365商务中心环境
- 具有适当权限的Azure租户
- Claude桌面应用程序(用于Claude集成)
安装说明
1.设置Azure AD应用程序注册
-
创建应用程序注册
- 打开 portal.azure.com
- 导航到 Azure Active Directory → 应用程序注册
- 点击 +新注册
- 姓名:
BcMCPProxy(或您喜欢的任何名称) - 支持的帐户类型: 仅此组织目录中的帐户(单租户)
- 重定向URI:暂时留空
- 点击 注册
- 复制应用程序(客户端)ID -您需要这个进行配置
-
配置身份验证
- 在左侧菜单中,单击 认证
- 点击 +添加平台 → 选择 移动和桌面应用程序
- 检查此重定向URI:
- ☑
https://login.microsoftonline.com/common/oauth2/nativeclient
- ☑
- 点击 配置
- 向下滚动至 高级设置 → 允许公共客户端流
- 设置为: 是 (切换应启用/蓝色)
- 点击 保存
备注:设备代码流用于所有平台上的身份验证,只需要本地客户端重定向URI。
-
配置API权限
- 在左侧菜单中,单击 API权限
- 点击 +添加权限
- 选择 我的组织使用的API 标签
- 搜索:
Dynamics 365 Business Central - 点击它,然后选择 委托权限
- 检查这些权限:
- ☑
Financials.ReadWrite.All - ☑
user_impersonation
- ☑
- 点击 添加权限
- 点击 授予[您的租户]管理员同意 (如果您有管理员权限)
所需权限:
- Dynamics 365商务中心
Financials.ReadWrite.All(委托)user_impersonation(委托)
2.使用Business Central MCP服务器设置Claude桌面
-
下载并安装Claude Desktop
- 从官方网站下载桌面版Claude
- 安装并登录您的Claude帐户
-
配置Claude桌面版
- 打开克劳德桌面
- 导航到 设置 → 开发者
- 点击 “编辑配置” 创建/编辑
claude_desktop_config.json
-
编辑配置文件
将BC MCP服务器配置添加到您的
claude_desktop_config.json:对于Windows:
{ "mcpServers": { "BC_MCP": { "command": "C:\\Path\\To\\BcMCPProxy.exe", "args": [ "--TenantId", "<Your-Tenant-ID>", "--ClientId", "<Your-Client-ID>", "--Environment", "<BC-Environment-Name>", "--Company", "<Company-Name>", "--ConfigurationName", "<Configuration-Name>" ] } } }对于macOS:
{ "mcpServers": { "BC_MCP": { "command": "/usr/local/share/dotnet/dotnet", "args": [ "/Users/<username>/path/to/BcMCPProxy.dll", "--TenantId", "<Your-Tenant-ID>", "--ClientId", "<Your-Client-ID>", "--Environment", "<BC-Environment-Name>", "--Company", "<Company-Name>", "--ConfigurationName", "<Configuration-Name>" ] } } }参数详细信息:
<Your-Tenant-ID>:您的Azure租户ID(GUID格式)<Your-Client-ID>:Azure应用注册中的应用程序(客户端)ID<BC-Environment-Name>:您的Business Central环境的名称(例如。,Production,SandboxUS)<Company-Name>:Business Central公司名称(区分大小写)<Configuration-Name>:Business Central配置的名称(可选)
-
首次身份验证
所有平台(Windows、macOS、Linux):
- 重新启动克劳德桌面
- 您的浏览器将自动打开设备登录页面(
https://microsoft.com/devicelogin) - 设备代码会自动复制到剪贴板
- 在浏览器中粘贴代码(Ctrl+V或Cmd+V)
- 使用您的Microsoft帐户登录
- 批准权限
- 您的令牌将被安全缓存以备将来使用
平台具体细节:
- 视窗:通过剪贴板复制代码,浏览器自动打开
- macOS:通过剪贴板复制代码,浏览器自动打开,显示通知
- Linux:如果剪贴板/浏览器助手不可用,则手动输入代码
身份验证使用 设备代码流 在所有平台上提供一致、可靠的体验。
-
验证设置
成功验证后,您应该看到Claude中提供的BC MCP工具:
用法
配置后,您可以通过Claude Desktop中的自然语言与Business Central进行交互。MCP服务器将处理对Business Central环境的身份验证和API调用。
交互示例:
- “显示最新的销售订单”
- “创建新客户记录”
- “目前的库存水平是多少?”
身份验证方法
代理使用 设备代码流 适用于所有平台(Windows、macOS和Linux)上的身份验证,提供一致可靠的身份验证体验:
- 浏览器自动打开
https://microsoft.com/devicelogin - 设备代码会自动复制到剪贴板
- 将代码粘贴到浏览器中,然后使用您的Microsoft帐户登录
- 令牌被安全缓存以备将来使用
平台特定功能:
- 视窗:剪贴板复制+浏览器自动打开
- macOS:剪贴板复制+浏览器自动打开+通知
- Linux:如果剪贴板/浏览器助手不可用,则手动输入代码
令牌使用特定于平台的安全存储(由SST管理)安全缓存:
- 视窗:Windows凭据管理器(DPAPI)
- macOS:macOS钥匙扣(
~/Library/Caches/BcMCPProxy/) - Linux:特勤局API/钥匙圈
首次身份验证成功后,令牌会自动重复使用,直到过期。
配置参数
| 参数 | 说明 | 必填 |
|---|---|---|
TenantId |
Azure租户标识符 | 是 |
ClientId |
Azure应用程序注册客户端ID | 是 |
Environment |
Business Central环境名称 | 是 |
Company |
Business Central公司名称 | 是 |
ConfigurationName |
Business Central配置的名称 | 否 |
故障排除
常见问题
-
身份验证失败
- “允许公共客户端流”错误(AADST7000218):
- 转到Azure门户→ 您的应用程序注册→ 认证→ 设置标签
- 滚动到 高级设置 → 允许公共客户端流
- 设置为 是 然后单击 保存
- 等待5-10分钟,让Azure AD传播更改
- 重定向URI不匹配:
- 确保配置了本机客户端重定向URI:
https://login.microsoftonline.com/common/oauth2/nativeclient - 所有平台上的设备代码流都需要此URI
- 确保配置了本机客户端重定向URI:
- API权限:
- 确保授予所有必需的API权限
- 检查是否已提供管理员同意(如果需要)
- 验证权限是否适用于“Dynamics 365 Business Central”
- “允许公共客户端流”错误(AADST7000218):
-
设备代码流问题
- 浏览器不会自动打开:
- 手动导航到https://microsoft.com/devicelogin
- 设备代码已复制到剪贴板-将其粘贴到浏览器中
- 如果剪贴板复制失败,请检查Claude Desktop Developer日志中的设备代码
- 设备代码不可见(macOS):
- 检查macOS通知(右上角)以获取代码
- 代码会自动复制到剪贴板
- 令牌缓存问题:
- Windows:令牌缓存在凭据管理器(DPAPI)中
- macOS:令牌缓存在Keychain中
~/Library/Caches/BcMCPProxy/ - Linux:通过Secret Service API缓存的令牌
- 要强制重新身份验证,请删除令牌缓存并重新启动Claude Desktop
- 浏览器不会自动打开:
-
连接问题
- 验证Business Central环境名称是否正确
- 确保公司名称完全匹配(区分大小写)
- 检查与Business Central的网络连接
- 确认环境支持MCP预览功能
-
Claude Desktop未检测到MCP服务器
- 视窗:验证路径
BcMCPProxy.exe是正确的 - macOS:
- 验证.NET路径:
/usr/local/share/dotnet/dotnet(使用which dotnet在终端) - 验证路径
BcMCPProxy.dll正确(使用完整的绝对路径)
- 验证.NET路径:
- 检查是否提供了所有必需的参数
- 配置更改后重新启动Claude Desktop
- 检查Claude Desktop Developer日志中的错误
- 视窗:验证路径
-
Claude中的JSON解析错误
- 如果您看到“意外令牌”错误,请检查服务器日志
- 确保没有特殊字符破坏JSON-RPC通信
- 重新启动Claude Desktop以清除任何缓存状态
安全注意事项
- 此工具使用委托权限,需要用户身份验证
- 凭据通过Azure的身份验证流程进行处理
- 配置文件中没有存储密码或机密
- 设置集成时,始终遵循组织的安全策略
支持
这是一个实验工具,按原样提供,用于开发和测试目的。有关Business Central的特定问题,请参阅Microsoft Dynamics 365 Business Central官方文档。
许可证
此项目受Microsoft示例代码许可条款的约束。
