Integrations
Herramientas MCP de HaloPSA
Servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con la API de HaloPSA.
Descripción general
Este paquete proporciona una implementación de servidor del Protocolo de Contexto de Modelo que permite a los asistentes de IA (como Claude) interactuar con la API de HaloPSA. Se puede usar en varias configuraciones:
- Como servidor independiente
- Integrado con Claude Desktop
- Como biblioteca en aplicaciones Node.js
Características
- Servidor MCP con soporte para múltiples tipos de transporte (stdio, http, tcp)
- Herramientas para interactuar con tickets, usuarios, activos y más
- Integración perfecta con Claude Desktop
- Registro y gestión de errores configurables
- Controles de seguridad robustos
- Compatibilidad entre versiones con el SDK de MCP
Instalación
Instalación global de NPM
Instalación local
Configuración
Cree un archivo .env
en la raíz de su proyecto con las siguientes variables de entorno:
Como alternativa, puede utilizar la configuración de Claude Desktop si la herramienta se ejecuta como una integración de Claude Desktop.
Uso
Uso como servidor independiente
Uso con Claude Desktop
Para utilizar con Claude Desktop:
- Instalar el paquete globalmente:
- Configure Claude Desktop para usar este servidor MCP en la configuración de Claude Desktop (Configuración > Extensiones > Agregar servidor MCP):
- Nombre: HaloPSA
- Comando: haloapi-desktop-mcp
- Variables de entorno (opcionales):
- HALO_API_URL: Su URL de API de HaloPSA
- HALO_CLIENT_ID: Su ID de cliente
- HALO_CLIENT_SECRET: Su secreto de cliente
- ¡Comienza a utilizar las herramientas HaloPSA en tus conversaciones de Claude!
Alternativamente, si ha clonado este repositorio, puede ejecutar:
El servidor MCP detectará y utilizará automáticamente la configuración de Claude Desktop.
Uso como biblioteca
Estructura
La base del código está organizada con la siguiente estructura:
src/core/
- Implementación del servidor MCP principalsrc/tools/
- Definiciones de herramientas para las operaciones de la API de HaloPSAsrc/utils/
- Funciones de utilidad para registro, validación, etc.src/services/
- Capa de servicio para las operaciones de la API de HaloPSAsrc/api/
- Clientes API para HaloPSAbin/
- Puntos de entrada ejecutablesscripts/
- Scripts de utilidad para desarrollo y mantenimiento
Herramientas MCP
Este paquete proporciona varias herramientas para interactuar con HaloPSA e implementa los métodos de protocolo MCP estándar requeridos por Claude Desktop:
Herramientas de tickets
get-tickets
: Obtenga una lista de tickets con filtrado opcionalget-ticket
: Obtenga información detallada sobre un billete específicocreate-ticket
: Crea un nuevo ticketupdate-ticket
: Actualizar un ticket existentedelete-ticket
: Eliminar un ticketget-ticket-comments
: Obtener comentarios para un ticket específicoadd-comment
: Agregar un comentario a un ticket
Herramientas de usuario
get-users
: Obtener una lista de usuarios con filtrado opcionalget-user
: Obtener información detallada sobre un usuario específicocreate-user
: Crea un nuevo usuarioupdate-user
: Actualizar un usuario existentedelete-user
: Eliminar un usuarioget-agents
: Obtener una lista de agentes
Herramientas de activos
get-assets
: Obtenga una lista de activos con filtrado opcionalget-asset
: Obtenga información detallada sobre un activo específicocreate-asset
: Crea un nuevo activoupdate-asset
: Actualizar un activo existentedelete-asset
: Eliminar un activoget-asset-types
: obtener una lista de todos los tipos de activos
Métodos MCP estándar
resources/list
: enumera todos los recursos disponibles en el servidor MCPprompts/list
: enumera todas las indicaciones disponibles para la integración de Claude Desktoptools/list
: enumera todas las herramientas disponibles en el servidor MCP
Integración de escritorio de Claude
El paquete incluye una implementación unificada para la integración de Claude Desktop que funciona en diferentes versiones del SDK de MCP.
Características principales de la implementación unificada:
- Compatibilidad entre versiones a través de la capa de compatibilidad del SDK
- Detección automática de la configuración desde la configuración de Claude Desktop
- Manejo robusto de errores y mecanismos de respaldo
- Soporte integral de registro y depuración
Solución de problemas
Problemas comunes
Importaciones de módulos
Si encuentra errores relacionados con las importaciones o los sistemas de módulos:
Solución: Comprueba que estés usando la sintaxis de importación correcta para la configuración de tu proyecto. Este paquete usa principalmente CommonJS, así que usa instrucciones require()
.
Errores de autenticación
Si ve errores relacionados con la autenticación de HaloPSA:
Solución: Verifique su ID de cliente y su secreto de cliente en las variables de entorno o la configuración.
Problemas de transporte
Si el servidor no puede iniciarse con un tipo de transporte específico:
Solución: asegúrese de estar utilizando uno de los tipos de transporte admitidos: 'stdio', 'http' o 'tcp'.
Problemas de integración de Claude Desktop
Si Claude Desktop no puede conectarse a su servidor MCP o muestra errores sobre métodos no compatibles:
Solución: asegúrese de estar utilizando la última versión de este paquete, que incluye la implementación unificada de MCP con soporte sólido para el protocolo MCP.
Errores de análisis de JSON
Si ve errores de análisis de JSON en los registros del servidor MCP como:
Solución: La última versión incluye un manejo mejorado de JSON que corrige automáticamente problemas comunes con mensajes malformados. Si el problema persiste, active el modo de depuración para obtener más información.
Depuración
Para habilitar información de depuración detallada, configure la variable de entorno DEBUG:
También puede aumentar el nivel de registro para obtener información aún más detallada:
Para la integración de Claude Desktop, puede encontrar registros en las siguientes ubicaciones:
- macOS:
~/Library/Logs/Claude/mcp-server-halopsa.log
- Windows:
%APPDATA%\Claude\Logs\mcp-server-halopsa.log
- Linux:
~/.local/share/claude/logs/mcp-server-halopsa.log
Pruebas
Puede probar el servidor MCP utilizando el script de prueba incluido:
El script de prueba interactivo le permite probar herramientas individuales e inspeccionar sus respuestas, lo que resulta útil para la depuración y el desarrollo.
Desarrollo y extensión
El código base sigue varios patrones de diseño y prácticas que se deben seguir al agregar nuevas funciones o realizar cambios:
Patrones de diseño
- Patrón de capa de compatibilidad : se utiliza en
src/sdk-compat.js
para proporcionar una interfaz consistente en las diferentes versiones del SDK. - Inyección de dependencia : se utiliza en todo el código base para proporcionar dependencias a los módulos, lo que los hace más fáciles de probar y más modulares.
- Patrón de módulo : cada componente está organizado en módulos con responsabilidades e interfaces claras.
- Patrón de fachada : los puntos de entrada principales (
desktop-mcp-unified.js
,standalone-mcp.js
) proporcionan interfaces simplificadas a la funcionalidad subyacente.
Añadiendo nuevas funciones
Al agregar nuevas funciones al código base, siga estos pasos:
- Agregue nuevas definiciones de herramientas al módulo apropiado en
src/tools/
- Registra las nuevas herramientas en
src/tools/index.js
- Agregue cualquier nueva función de utilidad al módulo apropiado en
src/utils/
- Escriba pruebas para la nueva funcionalidad en el directorio
tests/
- Actualice la documentación para reflejar las nuevas características
Licencia
Licencia MIT Copyright (c) 2025 sulemanji.com Equipo MCP
Colaboradores
- Suleman Manji ( @ssmanji89 )
This server cannot be installed
Servidor de protocolo de contexto de modelo para interactuar con la API de HaloPSA, lo que permite que los asistentes de IA como Claude administren tickets, usuarios y activos en HaloPSA a través del lenguaje natural.