Dynamics 365
Interactúa con Microsoft Dynamics 365 para la gestión de relaciones con clientes.
Documentación
Servidor MCP de Dynamics 365 🚀
Resumen
El Servidor MCP de Microsoft Dynamics 365 es un servidor MCP que proporciona herramientas para interactuar con Microsoft Dynamics 365 utilizando el Protocolo de Contexto de Modelo (MCP) de Anthropic. Permite a los usuarios realizar diversas operaciones como recuperar información de usuarios, cuentas, oportunidades asociadas con una cuenta, crear y actualizar cuentas desde Claude Desktop.
Este proyecto utiliza la librería @modelcontextprotocol/sdk para implementar el servidor MCP y las herramientas, y se integra con las APIs de Dynamics 365 para operaciones de datos.
Lista de Herramientas 🛠️
| Nombre de la Herramienta | Descripción | Entrada | Salida |
|---|---|---|---|
get-user-info | Obtiene información sobre el usuario autenticado actualmente. | Ninguna | Detalles del usuario incluyendo nombre, ID de usuario e ID de unidad de negocio. |
fetch-accounts | Obtiene todas las cuentas de Dynamics 365. | Ninguna | Lista de cuentas en formato JSON. |
get-associated-opportunities | Obtiene oportunidades asociadas con una cuenta determinada. | accountId (cadena, obligatorio) | Lista de oportunidades en formato JSON. |
create-account | Crea una nueva cuenta en Dynamics 365. | accountData (objeto, obligatorio) que contiene los detalles de la cuenta. | Detalles de la cuenta creada en formato JSON. |
update-account | Actualiza una cuenta existente en Dynamics 365. | accountId (cadena, obligatorio), accountData (objeto, obligatorio) que contiene los detalles actualizados. | Detalles de la cuenta actualizada en formato JSON. |
Requisitos Previos 📝
Antes de configurar el proyecto, asegúrate de tener instalado lo siguiente:
- Node.js (v16 o superior)
- NPM (Administrador de Paquetes de Node)
- Una instancia de Dynamics 365 con acceso a la API
- Una aplicación de Azure Active Directory (AAD) configurada para el acceso a la API de Dynamics 365
Pasos de Configuración ⚙️
Sigue estos pasos para configurar y ejecutar el proyecto localmente:
1. Clonar el Repositorio
git clone https://github.com/your-repo/dynamics365-mcp-server.git
cd dynamics365-mcp-server
2. Instalar Dependencias
npm install
3. Configurar Variables de Entorno
Crea un archivo .env en la raíz del proyecto y agrega las siguientes variables:
CLIENT_ID=your-client-id
CLIENT_SECRET=your-client-secret
TENANT_ID=your-tenant-id
D365_URL=https://your-org.crm.dynamics.com
4. Compilar Archivos TypeScript
npm run build
4. Ejecutar el Servidor MCP
node build\index.js
Deberías ver la siguiente salida:
Dynamics365 MCP server running on stdio...
5. (Opcional) Registrar tu Servidor MCP con Claude Desktop
- Instala Claude Desktop
- Navega a Configuración > Desarrollador > Editar Configuración
- Edita 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"
}
}
}
}
-
Reinicia Claude Desktop
-
Ahora deberías poder ver las herramientas del servidor en la ventana de mensajes

-
Probemos un mensaje invocando la herramienta - get-user-info

6. (Opcional) Probar herramientas usando MCP Interceptor
- Ejecuta el siguiente comando en la terminal
npx @modelcontextprotocol/inspector node build/index.js

-
Ve a 🔍 http://localhost:5173 🚀

-
¡Ahora puedes conectarte al servidor y probar todas las herramientas!
Depuración 🐛
Si encuentras problemas, asegúrate de lo siguiente:
Si encuentras problemas, asegúrate de lo siguiente:
- El archivo .env está configurado correctamente.
- La aplicación de Azure AD tiene los permisos necesarios para las APIs de Dynamics 365.
- La instancia de Dynamics 365 es accesible desde tu entorno.
- También puedes agregar registros de depuración en el código para rastrear problemas. Por ejemplo:
console.error("Debugging: Loaded environment variables:", process.env);
Contribuciones 🤝
¡Las contribuciones son bienvenidas! No dudes en enviar una solicitud de extracción o abrir un problema para cualquier error o solicitud de funcionalidad.
Para contribuir:
- Haz un fork del repositorio.
- Crea una nueva rama para tu funcionalidad o corrección de errores.
- Realiza tus cambios y envía una solicitud de extracción.
- ¡Apreciamos tus contribuciones! 😊