项目简介
本项目 '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。
安装步骤
-
克隆仓库:
git clone https://github.com/srikanth-paladugula/mcp-dynamics365-server.git cd mcp-dynamics365-server -
安装依赖: 确保已安装 Node.js (v16+) 和 npm。运行以下命令安装项目依赖:
npm install -
配置环境变量: 在项目根目录下创建 '.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' 为你实际的配置信息。
-
编译 TypeScript 代码: 运行以下命令编译 TypeScript 代码到 JavaScript:
npm run build -
运行 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" 表格的描述。
信息
分类
商业系统