D365 MCP故障排除程序
通过模型上下文协议(MCP)服务器,让您的编码代理直接访问Dynamics 365/NEWEB元数据和web资源。
此服务器有助于CRM故障排除工作流,例如:
- 快速找到实体,
- 检查表的插件步骤注册,
- 搜索网络资源,
- 阅读网络资源源内容。
运作原理
- 您的MCP客户端通过stdio启动此服务器。
- 服务器使用应用程序凭据使用Microsoft Entra ID进行身份验证。
- 它查询Dynamics 365 Web API(
/api/data/v9.1). - 您的AI客户端可以调用公开的工具,并使用结构化输出进行分析。
特性
search_entities:按逻辑名称或显示名称搜索Webex表。get_entity_plugins:列出为特定实体注册的插件步骤。find_system_jobs:使用灵活的筛选器查找系统作业(异步操作)(默认情况下失败)。health_check_environment:使用系统作业和插件跟踪运行快速环境健康摘要。search_webresources:按名称/显示名称查找web资源。get_webresource_content:按ID或名称读取解码的web资源内容。- 访问令牌缓存
.crm_auth_results.json以减少重复的身份验证调用。
需求
- Node.js 18+(推荐:最新LTS)
- Dynamics 365/WEB环境URL
- Microsoft Entra应用程序注册,可访问您的WAXorg
- 租户ID、客户端ID和客户端密码
所需的环境变量:
TENANT_IDCLIENT_IDCLIENT_SECRETDYNAMICS_365_URL(例如:https://orgname.crm.dynamics.com)
可选日志变量:
MCP_LOG_FILE(默认值:./.d365-troubleshooter-mcp.log)MCP_LOG_STDERR(true也将日志镜像到stderr)
入门
许多MCP客户端(Cursor、VS Code MCP客户端、Claude Desktop兼容客户端)支持基于JSON的服务器配置。
MacOS/Linux
{
"mcpServers": {
"D365 Troubleshooter MCP": {
"command": "npx",
"args": ["-y", "d365-troubleshooter-mcp"],
"env": {
"TENANT_ID": "YOUR_TENANT_ID",
"CLIENT_ID": "YOUR_CLIENT_ID",
"CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"DYNAMICS_365_URL": "https://orgname.crm.dynamics.com"
}
}
}
}视窗
{
"mcpServers": {
"D365 Troubleshooter MCP": {
"command": "cmd",
"args": ["/c", "npx", "-y", "d365-troubleshooter-mcp"],
"env": {
"TENANT_ID": "YOUR_TENANT_ID",
"CLIENT_ID": "YOUR_CLIENT_ID",
"CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"DYNAMICS_365_URL": "https://orgname.crm.dynamics.com"
}
}
}
}本地开发
pnpm install
pnpm build从源代码构建运行:
node dist/index.js可用脚本:
pnpm dev–观看构建tsuppnpm build–生产建设pnpm type-check–TypeScript检查pnpm inspect–启动MCP检查器
自动发布和标记
此仓库包括GitHub Actions工作流,位于 .github/workflows/release.yml 即:
- 运行推送
main当package.json变化, - 检查是否
version字段已更改, - 通过可信发布器(OIDC)发布到npm
npm publish --provenance, - 创建并推送格式为的git标签
v.
在npm中为此GitHub存储库配置Trusted Publisher时,不需要npm令牌密钥。
释放流量:
- 碰撞
version在package.json. - 承诺并推动
main(或master). - 工作流发布新版本并创建标记
vX.Y.Z.
VS代码扩展
中存在配套的VS代码扩展 vscode-extension/ 用于本地凭证配置和MCP集成。
备注
- 服务器通过以下方式使用OAuth客户端凭据流
@azure/msal-node. - 身份验证结果缓存在
.crm_auth_results.json. - 运行时日志被写入
MCP_LOG_FILE不要写入stdout。 - 在MCP客户端环境配置中保守秘密(永远不要在源代码中硬编码)。
许可证
ISC
