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-server2.安装依赖项
npm install3.配置环境变量
在项目的根目录下创建一个.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": [
"
"
],
"env": {
"CLIENT_ID": "",
"CLIENT_SECRET": "",
"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);贡献🤝
欢迎投稿!请随时提交拉取请求,或为任何错误或功能请求打开问题。
贡献:
- 分叉存储库。
- 为您的功能或错误修复创建一个新分支。
- 提交您的更改并提交拉取请求。
- 我们感谢您的贡献! 😊
