返回市场
动态365服务器

动态365服务器

作者:srikanth-paladugula16 星标更新:2025-04-20

项目介绍

Dynamics 365 MCP 服务器 🚀

Node.js TypeScript MCP License

概述

Microsoft Dynamics 365 MCP 服务器 是一个 MCP 服务器,它提供了使用 Anthropic 的 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 服务器正在通过标准 I/O 运行...

6. (可选)将你的 MCP 服务器注册到 Claude Desktop

  • 安装 Claude Desktop
  • 导航至 设置 > 开发者 > 编辑配置
  • 编辑 claude_desktop_config.json
{
    "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

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

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

7. (可选)使用 MCP 拦截器测试工具

  • 在终端运行以下命令
npx @modelcontextprotocol/inspector node build/index.js

 拦截器命令

调试 🐛

如果你遇到问题,请确保以下事项:

  • .env 文件正确配置。
  • Azure AD 应用程序具有访问 Dynamics 365 API 所需的权限。
  • 你的环境中可以访问 Dynamics 365 实例。
  • 你也可以在代码中添加调试日志以追踪问题。例如:
console.error("调试:加载环境变量:", process.env);

贡献 🤝

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

要贡献:

  • 分叉仓库。
  • 为你的功能或错误修复创建一个新的分支。
  • 提交更改并提交拉取请求。
  • 我们感谢您的贡献!😊