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 格式的更新账户详情。 |
在设置项目之前,请确保安装了以下内容:
按照以下步骤设置并运行本地项目:
git clone https://github.com/your-repo/dynamics365-mcp-server.git
cd dynamics365-mcp-server
npm install
在项目的根目录下创建一个 .env 文件,并添加以下变量:
CLIENT_ID=your-client-id
CLIENT_SECRET=your-client-secret
TENANT_ID=your-tenant-id
D365_URL=https://your-org.crm.dynamics.com
npm run build
node build\index.js
你应该会看到以下输出:
Dynamics365 MCP 服务器正在通过标准 I/O 运行...
{
"mcpServers": {
"Dynamics365": {
"command": "node",
"args": [
"<到你的 MCP 服务器构建文件的路径,例如:rootfolder/build/index.js>"
],
"env": {
"CLIENT_ID": "<D365 客户端ID>",
"CLIENT_SECRET": "<D365 客户端密钥>",
"TENANT_ID": "<D365 租户ID>",
"D365_URL": "Dynamics 365 URL"
}
}
}
}
重启 Claude Desktop
现在你应该能在提示窗口中看到服务器工具

让我们通过调用工具 get-user-info 来测试一下提示

npx @modelcontextprotocol/inspector node build/index.js

转到 🔍 http://localhost:5173 🚀

现在你可以连接到服务器并测试所有工具!!
如果你遇到问题,请确保以下事项:
.env 文件正确配置。console.error("调试:加载环境变量:", process.env);
欢迎贡献!请随意提交拉取请求或针对任何错误或功能请求打开问题。
要贡献: