Dynamics 365 MCP服务器

Dynamics 365 MCP服务器是一个基于Model Context Protocol(MCP)的工具,用于与Microsoft Dynamics 365进行交互,支持用户信息检索、账户管理、机会关联等操作。

  • by srikanth-paladugula
  • TypeScript
  • 本地部署
  • 20 星标
  • 更新于
在 GitHub 查看 srikanth-paladugula/mcp-dynamics365-server

使用说明

Dynamics 365 MCP服务器🚀

概述

这 Microsoft Dynamics 365 MCP服务器 是一个MCP服务器,它提供使用以下工具与Microsoft Dynamics 365交互的工具 模型上下文协议(MCP) Anthorpic。它允许用户执行各种操作,例如检索用户信息、帐户、与帐户关联的机会、创建和更新帐户 克劳德桌面.

该项目使用 @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 (节点包管理器)
  • 具有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服务器

  • 安装 克劳德桌面
  • 导航到“设置”>“开发人员”>“编辑配置”
  • 编辑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"
            }
        }
    }
}
  • 重新启动克劳德桌面

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

  • 让我们通过调用tool-get用户信息来测试一个提示

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);

贡献🤝

欢迎投稿!请随时提交拉取请求,或为任何错误或功能请求打开问题。

贡献:

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