MCP-Dynamics365 服务器 中文名:MCP-Dynamics365 服务器工具
一种模型上下文协议服务器,使 Claude Desktop 能够与 Microsoft Dynamics 365 进行交互,允许用户通过自然语言检索信息、创建和更新帐户以及管理商机。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"Dynamics365": {
"args": [
"\u003cPath to your MCP server build file ex: rootfolder/build/index.js\u003e"
],
"command": "node",
"env": {
"CLIENT_ID": "\u003cD365 Client Id\u003e",
"CLIENT_SECRET": "\u003cD365 Client Secret\u003e",
"D365_URL": "Dynamics 365 url",
"TENANT_ID": "\u003cD365 Tenant ID\u003e"
}
}
}
}
该服务需要配置环境变量:CLIENT_ID、CLIENT_SECRET、D365_URL、TENANT_ID
服务介绍
Dynamics 365 MCP Server 🚀
概述
Microsoft Dynamics 365 MCP 服务器 是一个 MCP 服务器,它通过 Anthorpic 的 模型上下文协议 (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 包管理器)
- 具有 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
5. 运行 MCP 服务器
node build\index.js
你应该看到如下输出:
Dynamics365 MCP server running on stdio...
6. (可选)将你的 MCP 服务器注册到 Claude Desktop
- 安装 Claude Desktop
- 导航至 设置 > 开发者 > 编辑配置
- 编辑
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 来测试一个提示

7. (可选)使用 MCP 拦截器测试工具
- 在终端中运行以下命令
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);
贡献 🤝
欢迎贡献!请随时提交拉取请求或为任何错误或功能请求打开问题。
要进行贡献:
- 分叉仓库。
- 为你的功能或错误修复创建一个新的分支。
- 提交你的更改并提交拉取请求。
- 我们非常感谢您的贡献!😊