M

MCP微软动态365动力平台服务器

@srikanth-paladugula/mcp-dyamics365-server
0 Stars 12 次浏览 srikanth-paladugula 更新于 2026-08-23

一种模型上下文协议服务器, enables 与 Microsoft Dynamics 365/Power Platform 从 MCP 客户端(例如 Claude Desktop)进行交互,允许用户通过自然语言检索、创建和更新数据。 *注:原文中的“enables”在翻译中应更正为“启用”以符合中文表达习惯。* 修正后: 一种模型上下文协议服务器,启用与 Microsoft Dynamics 365/Power Platform 从 MCP 客户端(例如 Claude Desktop)进行交互,允许用户通过自然语言检索、创建和更新数据。

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 🚀

Node.js
TypeScript
MCP
License

概述

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 包管理器)
  • 一个具有 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 桌面版

  • 安装 Claude 桌面版
  • 导航至 设置 > 开发者 > 编辑配置
  • 编辑 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 桌面版

  • 现在你应该能够在提示窗口中看到服务器工具
     Claude 服务器工具

  • 通过调用工具 - 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);

贡献 🤝

欢迎贡献!请随时提交拉取请求或为任何错误或功能请求打开一个议题。

要贡献:

  • 分叉仓库。
  • 为您要实现的功能或修复的 bug 创建一个新的分支。
  • 提交您的更改并发起一个拉取请求。
  • 我们非常感谢您的贡献!😊

相关 MCP 服务