Dynamics 365 MCP服务器

Dynamics 365 MCP服务器是一个基于模型上下文协议(MCP)的工具,用于与Microsoft Dynamics 365进行交互,支持用户信息获取、账户管理、机会关联等操作。

  • by ramu051001
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 ramu051001/d365FO-mcp

使用说明

Dynamics 365 MCP 服务器 🚀

概述

这个(或“该”) Microsoft Dynamics 365 MCP 服务器 是一个MCP服务器,提供工具以使用(某种方式或接口)与Microsoft Dynamics 365进行交互 模型上下文协议(MCP) 由Anthorpic开发。它允许用户执行各种操作,如检索用户信息、账户信息、与账户相关的商机,以及创建和更新账户 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,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

4. 运行MCP服务器

node build\index.js

你应该看到以下输出:

Dynamics365 MCP server running on stdio...

5. (可选)在Claude Desktop上注册您的MCP服务器

{
    "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桌面版

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

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

6. (可选)使用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);

贡献力量🤝

欢迎贡献!请随时提交拉取请求或报告任何错误或功能需求。

贡献:

  • 为该仓库创建一个分支(或译为“克隆该仓库”)。
  • 为你的功能或错误修复创建一个新分支。
  • 提交您的更改并发出拉取请求。
  • 我们非常感激您的贡献! 😊