README
🚀 动态365 MCP服务器
动态365 MCP服务器 是一个基于Anthorpic的 Model Context Protocol(MCP) 实现的MCP服务器。它允许用户通过MCP协议与Microsoft Dynamics 365交互,提供诸如检索用户信息、账户、与指定账户关联的机会,以及从 Claude Desktop 创建和更新账户等功能。
🚀 快速开始
先决条件 🛠️
在开始之前,请确保以下几点:
配置步骤
1. 克隆仓库
使用以下命令克隆此仓库到本地:
git clone [your-repository-url]
cd dynamics-365-mcp-server
2. 安装依赖
运行以下命令安装所需的依赖项:
- 如果您使用Yarn:
yarn install
- 如果您使用NPM:
npm install
3. 配置环境变量
在项目根目录创建一个.env文件,并填写以下内容,确保所有字段与您的Dynamics 365实例匹配:
DYNAMICS_365_URL=https://your-dynamics-365-endpoint
CLIENT_ID=your-client-id
CLIENT_SECRET=your-client-secret
TENANT_ID=your-tenant-id
4. 编译TypeScript文件(可选)
如果您希望生成JavaScript文件,运行以下命令:
yarn build
或者
npm run build
5. 运行服务器
使用以下命令启动服务器:
yarn start
或
npm start
默认情况下,服务器将在http://localhost:3000上运行。
✨ 主要特性
该项目使用@modelcontextprotocol/sdk库来实现MCP服务器和工具,并集成Dynamics 365 API以进行数据操作。它提供了一系列工具,允许用户与Microsoft Dynamics 365进行交互,具体如下:
| 工具名称 | 描述 | 输入 | 输出 |
| ---- | ---- | ---- | ---- |
| get-user-info | 获取当前已认证用户的详细信息。 | 无 | 用户详情,包括姓名、用户ID和业务单位ID。 |
| fetch-accounts | 从Dynamics 365中获取所有账户。 | 无 | 账户列表的JSON格式输出。 |
| get-associated-opportunities | 获取指定账户关联的机会。 | accountId(字符串,必需) | 机会列表的JSON格式输出。 |
| create-account | 在Dynamics 365中创建新账户。 | 账户详细信息(如名称、联系人等) | 创建的账户对象及其ID。 |
| update-account | 更新现有账户的信息。 | 账户ID和更新后的详细信息 | 更新后的账户对象及确认状态。 |
💡 可选步骤:Claude Desktop集成
要将此服务器与Claude Desktop集成,请按照以下步骤操作:
1. 安装Claude CLI
在终端中运行:
pip install claude-cli
2. 注册服务器
在Claude Desktop中,导航到“连接”菜单,并添加新的MCP服务器。配置所需的端点和其他参数。
🐛 调试
如果遇到问题,请检查以下事项:
- 确保
.env文件已正确配置。 - 确保Azure AD应用程序具有访问Dynamics 365 API的必要权限。
- 确保您的环境可以访问Dynamics 365实例。
您还可以在代码中添加调试日志以跟踪问题。例如:
console.error("调试:加载的环境变量:", process.env);
🤝 贡献
欢迎贡献!请随意提交pull request或打开问题报告任何错误或功能请求。 要进行贡献:
- Fork此仓库。
- 为您的功能或修复创建一个新的分支。
- 提交更改并提交一个pull request。
- 我们感谢您的贡献! 😊
📄 许可证
本项目采用MIT许可证。
微信扫一扫