动态365 MCP服务器 是一个基于Anthorpic的 Model Context Protocol(MCP) 实现的MCP服务器。它允许用户通过MCP协议与Microsoft Dynamics 365交互,提供诸如检索用户信息、账户、与指定账户关联的机会,以及从 Claude Desktop 创建和更新账户等功能。
在开始之前,请确保以下几点:
使用以下命令克隆此仓库到本地:
git clone [your-repository-url]
cd dynamics-365-mcp-server
运行以下命令安装所需的依赖项:
yarn install
npm install
在项目根目录创建一个.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
如果您希望生成JavaScript文件,运行以下命令:
yarn build
或者
npm run build
使用以下命令启动服务器:
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集成,请按照以下步骤操作:
在终端中运行:
pip install claude-cli
在Claude Desktop中,导航到“连接”菜单,并添加新的MCP服务器。配置所需的端点和其他参数。
如果遇到问题,请检查以下事项:
.env文件已正确配置。您还可以在代码中添加调试日志以跟踪问题。例如:
console.error("调试:加载的环境变量:", process.env);
欢迎贡献!请随意提交pull request或打开问题报告任何错误或功能请求。 要进行贡献:
本项目采用MIT许可证。