
Dynamics 365 MCP Server 🚀

2025.03.29
2
JavaScript企业资源管理数据操作用户信息查询开发效率数据库
Microsoft Dynamics 365 MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,用于与 Microsoft Dynamics 365 进行交互。它提供了一系列工具,允许用户从 Claude Desktop 中执行各种操作,如获取用户信息、账户信息、与账户关联的机会,以及创建和更新账户。该项目使用 `@modelcontextprotocol/sdk` 库实现 MCP 服务器和工具,并与 Dynamics 365 API 集成以进行数据操作。
View on GitHub
Overview
基本能力
产品定位
Microsoft Dynamics 365 MCP Server 是一个用于与 Microsoft Dynamics 365 交互的 MCP 服务器,提供了一系列工具来执行数据操作。
核心功能
- 获取用户信息:获取当前认证用户的详细信息。
- 获取账户信息:从 Dynamics 365 获取所有账户信息。
- 获取关联机会:获取与特定账户关联的机会。
- 创建账户:在 Dynamics 365 中创建新账户。
- 更新账户:更新 Dynamics 365 中的现有账户。
适用场景
- 企业资源管理:通过 Claude Desktop 管理 Dynamics 365 中的账户和机会。
- 数据操作:自动化创建和更新账户信息。
- 用户信息查询:快速获取当前认证用户的详细信息。
工具列表
工具名称 | 描述 | 输入 | 输出 |
---|---|---|---|
get-user-info |
获取当前认证用户的信息 | 无 | 用户详细信息 |
fetch-accounts |
获取所有账户信息 | 无 | 账户列表(JSON格式) |
get-associated-opportunities |
获取与账户关联的机会 | accountId (字符串,必需) |
机会列表(JSON格式) |
create-account |
创建新账户 | accountData (对象,必需) |
创建的账户详情(JSON格式) |
update-account |
更新现有账户 | accountId (字符串,必需),accountData (对象,必需) |
更新的账户详情(JSON格式) |
常见问题解答
- 如何配置环境变量?
- 确保
.env
文件正确配置了CLIENT_ID
、CLIENT_SECRET
、TENANT_ID
和D365_URL
。 - 如何调试问题?
- 检查
.env
文件是否正确配置。 - 确保 Azure AD 应用程序具有 Dynamics 365 API 的必要权限。
- 确保 Dynamics 365 实例可从环境中访问。
- 在代码中添加调试日志以跟踪问题。
使用教程
使用依赖
- Node.js(v16 或更高版本)
- NPM(Node Package Manager)
- Dynamics 365 实例(具有 API 访问权限)
- Azure Active Directory (AAD) 应用程序(配置为 Dynamics 365 API 访问)
安装教程
- 克隆仓库
sh git clone https://github.com/your-repo/dynamics365-mcp-server.git cd dynamics365-mcp-server
- 安装依赖
sh npm install
- 配置环境变量
- 在项目根目录创建
.env
文件,并添加以下变量:sh CLIENT_ID=your-client-id CLIENT_SECRET=your-client-secret TENANT_ID=your-tenant-id D365_URL=https://your-org.crm.dynamics.com
- 编译 TypeScript 文件
sh npm run build
- 运行 MCP 服务器
sh node build\index.js
- 输出应显示:
plaintext Dynamics365 MCP server running on stdio...
- (可选)在 Claude Desktop 中注册 MCP 服务器
- 安装 Claude Desktop
- 导航到 Settings > Developer > Edit Config
- 编辑
claude_desktop_config.json
文件:json { "mcpServers": { "Dynamics365": { "command": "node", "args": [ "<Path to your MCP server build file ex: rootfolder/build/index.js>" ], "env": { "CLIENT_ID": "<D365 Client Id>", "CLIENT_SECRET": "<D365 Client Secret>", "TENANT_ID": "<D365 Tenant ID>", "D365_URL": "Dynamics 365 url" } } } }
- 重启 Claude Desktop
- 现在可以在提示窗口中看到服务器工具
调试方式
- 检查环境变量
- 确保
.env
文件正确配置。 - 检查权限
- 确保 Azure AD 应用程序具有 Dynamics 365 API 的必要权限。
- 检查访问性
- 确保 Dynamics 365 实例可从环境中访问。
- 添加调试日志
- 在代码中添加以下日志以跟踪问题:
sh console.error("Debugging: Loaded environment variables:", process.env);