关于 Dynamics 365 MCP Server 🚀
Dynamics 365 MCP Server 是一个面向 Microsoft Dynamics 365 的 MCP 服务,基于 @modelcontextprotocol/sdk 实现。它提供查询与维护客户账户及相关商机的工具,适合希望在 Claude Desktop 中访问 Dynamics 365 数据的用户。
主要功能
- 01获取当前已认证用户的信息
- 02查询全部客户账户
- 03按账户查询关联商机
- 04创建和更新客户账户
适用场景
- 01在 Claude Desktop 中查询 Dynamics 365 客户账户
- 02通过对话创建或更新账户记录
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 get-user-info、fetch-accounts、get-associated-opportunities、create-account 和 update-account 等工具,并通过 stdio 运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Dynamics 365 MCP 服务 🚀
概述
Microsoft Dynamics 365 MCP 服务是一个 MCP 服务,可通过 Anthorpic 的 Model Context Protocol(MCP) 提供与 Microsoft Dynamics 365 交互的工具。用户可以使用它执行各种操作,例如检索用户信息、账户以及与账户关联的商机,还可以通过 Claude Desktop 创建和更新账户。
本项目使用 @modelcontextprotocol/sdk 库实现 MCP 服务和工具,并集成 Dynamics 365 API 来进行数据操作。
工具列表 🛠️
| 工具名称 | 描述 | 输入 | 输出 |
|---|---|---|---|
get-user-info | 获取当前经过身份验证的用户的信息。 | 无 | 包含姓名、用户 ID 和业务部门 ID 的用户详细信息。 |
fetch-accounts | 获取 Dynamics 365 中的所有账户。 | 无 | JSON 格式的账户列表。 |
get-associated-opportunities | 获取与指定账户关联的商机。 | accountId(字符串,必填) | JSON 格式的商机列表。 |
create-account | 在 Dynamics 365 中创建新账户。 | accountData(对象,必填),包含账户详细信息。 | JSON 格式的新建账户详细信息。 |
update-account | 更新 Dynamics 365 中的现有账户。 | accountId(字符串,必填)、accountData(对象,必填),包含更新后的详细信息。 | JSON 格式的已更新账户详细信息。 |
前提条件 📝
设置项目之前,请确保已安装以下内容:
- Node.js(v16 或更高版本)
- NPM(Node Package Manager)
- 具有 API 访问权限的 Dynamics 365 实例
- 已配置用于访问 Dynamics 365 API 的 Azure Active Directory (AAD) 应用程序
配置步骤 ⚙️
按照以下步骤在本地设置并运行项目:
1. 克隆代码库
git clone https://github.com/your-repo/dynamics365-mcp-server.git
cd dynamics365-mcp-server
2. 安装依赖项
npm install
3. 配置环境变量
在项目根目录中创建一个 .env 文件,并添加以下变量:
CLIENT_ID=your-client-id
CLIENT_SECRET=your-client-secret
TENANT_ID=your-tenant-id
D365_URL=https://your-org.crm.dynamics.com
4. 编译 TypeScript 文件
npm run build
4. 运行 MCP 服务
node build\index.js
你应该会看到以下输出:
Dynamics365 MCP server running on stdio...
5.(可选)在 Claude Desktop 中注册 MCP 服务
- 安装 Claude Desktop
- 前往 Settings > Developer > Edit Config
- 编辑 claude_desktop_config.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
-
现在,你应该可以在提示词窗口中看到服务工具

-
通过调用工具 get-user-info 来测试提示词

6. (可选)使用 MCP Interceptor 测试工具
- 在终端中运行以下命令
npx @modelcontextprotocol/inspector node build/index.js

-
前往 🔍 http://localhost:5173 🚀

-
现在,你可以连接到服务并测试所有工具!!
调试 🐛
如果遇到问题,请确认以下事项:
如果遇到问题,请确认以下事项:
- .env 文件已正确配置。
- Azure AD 应用程序拥有 Dynamics 365 API 所需的权限。
- 你的环境可以访问 Dynamics 365 实例。
- 你也可以在代码中添加调试日志来追踪问题。例如:
console.error("Debugging: Loaded environment variables:", process.env);
贡献 🤝
欢迎贡献!欢迎提交拉取请求,或针对任何错误或功能请求提出议题。
贡献方式:
- Fork 此仓库。
- 为你的功能或错误修复创建一个新分支。
- 提交更改并发起拉取请求。
- 感谢你的贡献!😊
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。