项目简介

本项目 'Dynamics 365 MCP Server' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在桥接大型语言模型 (LLM) 应用与 Microsoft Dynamics 365 平台。它允许LLM客户端通过标准化的MCP协议,安全地访问和操作Dynamics 365中的数据,例如用户信息、客户账户、销售机会等。

主要功能点

  • 用户信息获取: 获取当前Dynamics 365用户的详细信息。
  • 客户账户管理:
    • 检索Dynamics 365中的客户账户列表。
    • 获取指定客户账户关联的销售机会。
    • 创建新的客户账户。
    • 更新已有的客户账户信息。
  • 工具化数据访问: 通过预定义的工具 (Tools) 暴露Dynamics 365 API功能,方便LLM按需调用。
  • 标准MCP协议: 采用JSON-RPC over Stdio通信,易于集成到支持MCP协议的LLM客户端,如 Claude Desktop。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/srikanth-paladugula/mcp-dynamics365-server.git
    cd mcp-dynamics365-server
  2. 安装依赖: 确保已安装 Node.js (v16+) 和 npm。运行以下命令安装项目依赖:

    npm install
  3. 配置环境变量: 在项目根目录下创建 '.env' 文件,并填入以下 Dynamics 365 API 访问所需的凭据信息:

    CLIENT_ID=your-client-id  # Azure AD 应用程序客户端ID
    CLIENT_SECRET=your-client-secret # Azure AD 应用程序客户端密钥
    TENANT_ID=your-tenant-id    # Azure AD 租户ID
    D365_URL=https://your-org.crm.dynamics.com  # 你的 Dynamics 365 实例 URL

    请替换 'your-client-id', 'your-client-secret', 'your-tenant-id', 'https://your-org.crm.dynamics.com' 为你实际的配置信息。

  4. 编译 TypeScript 代码: 运行以下命令编译 TypeScript 代码到 JavaScript:

    npm run build
  5. 运行 MCP 服务器: 运行以下命令启动 MCP 服务器:

    node build/index.js

    成功启动后,你会在终端看到 'Dynamics365 MCP server running on stdio...' 的提示信息。

服务器配置

要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),你需要提供服务器的启动命令和参数。以下是 Claude Desktop 'claude_desktop_config.json' 文件的配置示例:

{
    "mcpServers": {
        "Dynamics365": {  // 服务器名称,可自定义
            "command": "node", // 启动命令,这里使用 node
            "args": [
                "<项目根目录>/build/index.js" //  MCP 服务器入口文件路径,请替换为你的实际路径
            ],
            "env": { //  环境变量,与 .env 文件中的配置一致
                "CLIENT_ID": "<你的 Dynamics 365 客户端 ID>", //  Azure AD 应用程序客户端ID
                "CLIENT_SECRET": "<你的 Dynamics 365 客户端密钥>", // Azure AD 应用程序客户端密钥
                "TENANT_ID": "<你的 Azure AD 租户 ID>", // Azure AD 租户ID
                "D365_URL": "<你的 Dynamics 365 实例 URL>" // 你的 Dynamics 365 实例 URL
            }
        }
    }
}

注意:

  • 请将 '<项目根目录>/build/index.js' 替换为 'build/index.js' 文件在你电脑上的绝对路径
  • '<你的 Dynamics 365 客户端 ID>'、'<你的 Dynamics 365 客户端密钥>'、'<你的 Azure AD 租户 ID>' 和 '<你的 Dynamics 365 实例 URL>' 需要替换为你实际的 Dynamics 365 API 访问凭据。
  • 配置完成后,重启 Claude Desktop 或其他 MCP 客户端,即可在客户端中看到并使用 'Dynamics365' 服务器提供的工具。

基本使用方法

成功配置并启动 MCP 服务器后,在支持 MCP 协议的 LLM 客户端中,你可以通过工具名称来调用 Dynamics 365 的功能。例如,在 Claude Desktop 中,你可以在提示词中使用 'tool_code:get-user-info' 来获取当前用户信息,或使用 'tool_code:fetch-accounts' 获取客户账户列表。

具体的工具名称和参数请参考仓库 'README.md' 文件中 "List of Tools" 表格的描述。

信息

分类

商业系统