MCP动态365
介绍
MCP Dynamics 是与 Microsoft Dynamics 365 集成的 Model Context Protocol (MCP) 实现。该项目允许人工智能代理通过一组标准化工具和功能与Dynamics 365进行交互,从而促进流程自动化和与虚拟助理的集成。
主要功能
- 案例管理创建、更新、分配和扩展案例
- 联系人管理创建、更新和高级联系人搜索
- 账户管理创建、更新和查看帐户层次结构
- 与工作流程集成运行和监控 Dynamics 365 工作流程
- 灵活咨询对任何 Dynamics 365 实体进行自定义查询的界面
- 人工智能资源提示:案例摘要,文章建议和电子邮件创建
先决条件
- Node.js 16.x或更高级
- NPM 8.x优
- 访问 Dynamics 365 实例
- API do Dynamics 365的信用证(ClientID、ClientSecret、TenantID)
安装指南
1. 克隆仓库
git clone https://seu-repositorio/mcp-dynamics.git
cd mcp-dynamics2. 安装依赖关系
npm install3. 设置环境变量
创建文件 .env 在项目根中,使用以下变量:
DYNAMICS_URL=https://sua-instancia.crm.dynamics.com
DYNAMICS_CLIENT_ID=seu-client-id
DYNAMICS_CLIENT_SECRET=seu-client-secret
DYNAMICS_TENANT_ID=seu-tenant-id
DYNAMICS_API_VERSION=9.24. 编写项目
npm run build5. 启动 MCP 服务器
npm run start:sseMCP 服务器可在 http://localhost:3001/mcp/sse.
Guia de Uso com Visual Studio代码和GitHub副本
Visual Studio Code 配置
- 安装推荐的扩展:
- ESLint - 更漂亮 - TypeScript - GitHub Copilot - REST 客户端(用于测试 API)
- 配置器GitHub Copilot:
- 确保您拥有有效的 GitHub Copilot 订阅 - 登录到您的 GitHub 帐户 VS Code - 在 VS Code 设置中启用 GitHub Copilot
使用 GitHub Copilot 开发
1. 使用Copilot探索代码
GitHub Copilot 可以帮助您理解现有代码。尝试 :
- 生成解释性评论: 将光标放在方法上方,然后键入
// Explique o que este método faz
// Explique o que este método faz
public async createCase(data: Record): Promise {
// Copilot irá gerar uma explicação do método
}- 浏览代码使用命令
//#region创建可折叠的部分,Copilot 可以帮助组织
2. 实施新功能
要使用 Copilot 实现新功能:
- 在评论中描述功能:
// Implementar um método para buscar oportunidades relacionadas a uma conta
// O método deve aceitar o ID da conta e retornar todas as oportunidades ativas
// Deve incluir o nome, valor e fase da oportunidade- 让 Copilot 建议实现:
- 压力 Tab 接受建议 - 使用 Alt+] 查看下一个建议 - 使用 Alt+[ 查看以前的建议
- 精简生成的代码:
- 检查代码是否符合项目标准 - 添加适当的错误处理 - 用JSDoc注释记录代码
3. 创建新的 MCP 工具
要向 MCP 服务器添加新工具:
- 实现o Método无动态服务:
// Implementar um método para gerenciar oportunidades no Dynamics 365
public async createOpportunity(data: Record): Promise {
// Deixe o Copilot sugerir a implementação
}- 注册一辆法拉利,无服务或MCP:
// Registrar uma nova ferramenta para criar oportunidades
server.tool(
"createOpportunity",
{
// Deixe o Copilot sugerir os parâmetros
},
async ({ /* parâmetros */ }) => {
// Deixe o Copilot sugerir a implementação
}
);使用范例
1. 查看账户
// Exemplo de uso da ferramenta query-accounts
const result = await mcp.invoke("query-accounts", { searchTerm: "Contoso" });
console.log(result);2. 创建案例
// Exemplo de uso da ferramenta createCase
const result = await mcp.invoke("createCase", {
customerId: "5a8b5e9c-3f9d-4b8c-a7d6-1e2f3a4b5c6d",
subject: "Problema com o produto XYZ",
description: "O cliente relatou que o produto XYZ não está funcionando corretamente."
});
console.log(result);3. 查找案件活动
// Exemplo de uso da ferramenta getCaseActivities
const result = await mcp.invoke("getCaseActivities", {
caseId: "7b8c9d0e-1f2a-3b4c-5d6e-7f8a9b0c1d2e",
maxResults: 10
});
console.log(result);可用工具
案例管理
createCase创建新案例addNoteToCase- 向案例添加备注updateCaseStatus更新案件状态scheduleFollowUpTask安排一个跟踪任务assignCase将案例分配给用户或团队escalateCase- 通过改变优先级扩展案例bulkUpdateCases- 一次更新多个案例getCaseActivities从案件中获取活动
联系人管理
createContact创建新联系人updateContact更新现有联系人searchContacts- 使用高级过滤器搜索联系人
账户管理
createAccount- 创建新账户updateAccount更新现有帐户getAccountHierarchy- 获取帐户的层次结构
与工作流程集成
triggerWorkflow执行工作流程getWorkflowStatus检查工作流的状态
灵活咨询
query-accounts- 查看账户query-dynamics-执行自定义查询retrieve-entity- 从任何实体恢复记录get-entity-metadata从一个实体获取元数据
支持和贡献
要报告问题或为项目做出贡献,请在 GitHub 仓库中打开一个问题。
许可证
这个项目是根据麻省理工学院许可证授权的 - 详情请参阅许可证文件。
