AntBot MCP Server
Un servidor MCP en TypeScript para integrarse con la plataforma RPA basada en IA AntBot, manejando el listado y ejecución de herramientas.
Documentación
AntBot MCP Server
AntBot MCP Server es un servidor TypeScript basado en Model Context Protocol (MCP), diseñado para la integración con AntBot, una plataforma RPA basada en IA.
Este servidor interactúa con clientes MCP y proporciona herramientas para la gestión y ejecución de proyectos AntBot.
✨ Características principales
- Interfaz de servidor de herramientas MCP implementada
- Consulta de lista de proyectos AntBot (
Get_AntBot_Project_List) - Consulta de información detallada del proyecto (
Get_AntBot_Project_Info) - incluye información de parámetros - Ejecución de proyectos (
Run_AntBot_Project) - soporta transferencia de parámetros - Detección de procesos en ejecución - prevención de ejecución duplicada (entorno Windows)
- Consulta de registros de ejecución (
Get_Last_Mcprun_Log) - verificación de los últimos registros de mcprun - Gestión automática de configuración - carga automática de configuración desde el archivo de configuración de AntBot Robot
- Caché de proyectos - almacenamiento en caché de información de proyectos para optimización de rendimiento
- Sistema de registro - registro detallado y soporte de depuración
- Estructura modular basada en TypeScript
🏗️ Arquitectura
Estructura del proyecto
src/
├── index.ts # MCP 서버 진입점 및 메인 클래스
├── projectService.ts # 프로젝트 관리 비즈니스 로직
├── logService.ts # 로그 조회 서비스
├── api.ts # 외부 API 호출 유틸리티
├── config.ts # 설정 관리 및 검증
├── fileUtils.ts # 파일 처리 유틸리티 (ZIP, XML 파싱)
├── logger.ts # 로깅 시스템
├── schema.ts # Zod 기반 입력 검증 스키마
├── types.ts # TypeScript 타입 정의
└── constants.ts # 상수 정의
Componentes principales
-
Clase McpServer (
index.ts)- Gestión de instancias del servidor MCP
- Configuración de manejadores de solicitudes
- Manejo de errores y registro
-
Clase ProjectService (
projectService.ts)- Consulta de lista de proyectos
- Análisis de información del proyecto (antConf.xml)
- Descarga y ejecución de proyectos
- Detección de procesos en ejecución (tasklist de Windows)
- Sistema de caché
-
Clase LogService (
logService.ts)- Consulta de archivos de registro de mcprun
- Función de cola (tail) de los últimos registros
-
Gestión de configuración (
config.ts)- Carga automática del archivo de configuración de AntBot Robot
- Validación de configuración requerida
- Gestión dinámica de configuración
🛠️ Instalación y compilación
Requisitos previos
- Node.js v16 o superior (recomendado: versión LTS)
- Entorno Windows (función de detección de procesos de AntBot Runner)
- AntBot Robot instalado y vinculado al administrador
- Archivo de configuración de AntBot Robot existente:
%APPDATA%\Roaming\AntBotRobot\AntBot_Robot.exe.config
Instalación
# 프로젝트 클론
git clone <repository-url>
cd antbot-mcp-server
# 의존성 설치
npm install
# 빌드
npm run build
# 또는 클린 빌드 (기존 빌드 파일 삭제 후 재빌드)
npm run cleanbuild
🧩 Configuración de herramientas MCP
1. Get_AntBot_Project_List
Consulta la lista de proyectos disponibles en el administrador de AntBot.
{
"name": "Get_AntBot_Project_List",
"description": "Returns a list of antbot projects.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
}
Ejemplo de respuesta:
{
"projects": [
{
"projectId": "PR000000298",
"projectName": "웹 스크래핑 프로젝트",
"description": "웹사이트에서 데이터를 수집하는 프로젝트"
}
]
}
2. Get_AntBot_Project_Info
Consulta la información detallada de un proyecto específico y los parámetros necesarios para su ejecución.
{
"name": "Get_AntBot_Project_Info",
"description": "Get project information including required parameters",
"inputSchema": {
"type": "object",
"properties": {
"projectId": { "type": "string" }
},
"required": ["projectId"]
}
}
Ejemplo de respuesta:
{
"projectId": "PR000000298",
"projectPath": "C:\\temp\\project_298\\antConf.xml",
"name": "웹 스크래핑 프로젝트",
"description": "웹사이트에서 데이터를 수집하는 프로젝트",
"requiredParameters": [
{
"name": "url",
"type": "string",
"description": "스크래핑할 웹사이트 URL"
}
],
"optionalParameters": [
{
"name": "timeout",
"type": "number",
"description": "타임아웃 시간 (초)",
"defaultValue": 30
}
],
"parameterSummary": "필수: url (string) | 선택: timeout (number, 기본값: 30)"
}
3. Run_AntBot_Project
Ejecuta un proyecto. Primero debe llamar a Get_AntBot_Project_Info para verificar la información del proyecto.
{
"name": "Run_AntBot_Project",
"description": "Run the project with required parameters",
"inputSchema": {
"type": "object",
"properties": {
"projectId": { "type": "string" },
"projectPath": { "type": "string" },
"parameters": {
"type": "object",
"additionalProperties": true
}
},
"required": ["projectId", "projectPath"]
}
}
Ejemplo de uso:
{
"projectId": "PR000000298",
"projectPath": "C:\\temp\\project_298\\antConf.xml",
"parameters": {
"url": "https://example.com",
"timeout": 60
}
}
Prevención de ejecución duplicada:
- Verificación del estado del proceso de AntBot Runner antes de la ejecución
- Si ya está en ejecución, se genera un error con el mensaje
"현재 AntBot이 다른 작업을 수행 중입니다."
4. Get_Last_Mcprun_Log
Consulta las últimas 100 líneas del registro de mcprun más reciente.
{
"name": "Get_Last_Mcprun_Log",
"description": "Returns the last 100 lines of the latest mcprun log.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
}
Ejemplo de respuesta:
{
"fileName": "mcprun_20241201143022.log",
"content": "2024-12-01 14:30:22 [INFO] 프로젝트 실행 시작\n2024-12-01 14:30:23 [INFO] 매개변수 로드 완료\n..."
}
🔧 Scripts principales
| Comando | Descripción |
|---|---|
npm run build | Compilación de TypeScript y configuración de permisos de ejecución |
npm run clean | Eliminación del directorio de compilación |
npm run cleanbuild | Limpieza y recompilación |
npm run watch | Compilación automática al detectar cambios en archivos |
npm run inspector | Ejecución de pruebas con MCP Inspector |
🧪 Métodos de prueba
1. Uso de MCP Inspector
# MCP Inspector 설치
npm install -g @modelcontextprotocol/inspector
# 서버 테스트
npm run inspector
2. Escenarios de prueba
- Consulta de lista de proyectos: llamada a
Get_AntBot_Project_List - Consulta de información del proyecto: llamada a
Get_AntBot_Project_Info(requiere projectId) - Ejecución del proyecto: llamada a
Run_AntBot_Project(requiere projectId, projectPath, parameters) - Consulta de registros: llamada a
Get_Last_Mcprun_Log
🧠 Integración con Claude Desktop
Requisitos previos
- Claude Desktop instalado
- AntBot Robot vinculado al administrador
- Verificación del funcionamiento correcto del servidor con MCP Inspector
Método de registro
Método 1: GUI de Claude Desktop
- Ejecutar Claude Desktop
- Configuración → Desarrollador → Editar configuración
- Editar el archivo
%APPDATA%\Roaming\Claude\claude_desktop_config.json
Método 2: Configuración directa
{
"mcpServers": {
"antbot-mcp-server": {
"command": "node",
"args": ["C:\\path\\to\\antbot-mcp-server\\build\\index.js"]
}
}
}
⚠️ Importante: Reinicio de Claude Desktop
Después de cambiar la configuración, debe cerrar completamente y reiniciar Claude Desktop:
- Haga clic derecho en el icono de Claude en la bandeja del sistema
- Seleccione Salir (cierre completo)
- Ejecute Claude Desktop nuevamente
💡 Nota: No basta con cerrar la ventana; debe cerrar completamente a través del icono de la bandeja para que la configuración se aplique.
Ejemplo de uso
Puede solicitar a Claude lo siguiente:
- "Muéstrame la lista de proyectos de AntBot"
- "Dame información del proyecto PR000000298"
- "Ejecuta el proyecto PR000000298"
- "Muéstrame los últimos registros de ejecución"
⚙️ Gestión de configuración
Carga automática de configuración
El servidor lee automáticamente el archivo de configuración de AntBot Robot en la siguiente ruta:
%APPDATA%\Roaming\AntBotRobot\AntBot_Robot.exe.config
Elementos de configuración requeridos
MANAGER_USER: ID de usuario del administradorMANAGER_IP: IP del servidor del administradorMANAGER_PORT: Puerto del servidor del administradorAntBot Runner: Ruta del archivo ejecutable de AntBot Runner
Validación de configuración
Si falta configuración requerida al iniciar el servidor, se genera un error:
AntBot Robot에서 매니저 연동을 먼저 진행해주세요.
🔍 Registro y depuración
Ubicación de registros
%USERPROFILE%\.AntBot\Log\Develop\
Niveles de registro
- INFO: Información general de operaciones
- DEBUG: Información detallada de depuración
- WARN: Información de advertencia (como fallos en la detección de procesos)
- ERROR: Información de errores
Mensajes de registro principales
- Inicialización e inicio del servidor
- Resultados de llamadas a API
- Estado de descarga y ejecución de proyectos
- Resultados de validación de configuración
- Verificación del estado del proceso de AntBot Runner
Registros de mcprun
- Formato de nombre de archivo:
mcprun_YYYYMMDDHHMMSS.log - Ubicación:
%USERPROFILE%\.AntBot\Log\Develop\ - Consulta de los últimos registros a través de herramientas MCP
📦 Dependencias
Dependencias principales
@modelcontextprotocol/sdk: Implementación del servidor MCPjsdom: Análisis de archivos de configuración XMLadm-zip: Procesamiento de archivos ZIP de proyectossudo-prompt: Ejecución con privilegios de administrador (si es necesario)xml2js: Análisis XML
Dependencias de desarrollo
typescript: Compilador de TypeScriptrimraf: Eliminación de directorios multiplataforma@types/*: Definiciones de tipos
🚀 Optimización de rendimiento
Sistema de caché
- Almacenamiento en caché de información de proyectos (5 minutos)
- Prevención de descargas duplicadas
- Optimización de llamadas a API
Manejo de errores
- Mensajes de error detallados
- Lógica de reintentos
- Degradación gradual
Gestión de procesos
- Detección de procesos mediante tasklist de Windows
- Protección de recursos mediante prevención de ejecución duplicada
- Manejo conservador (permite ejecución si falla la detección)
🔒 Seguridad y estabilidad
Detección de procesos
- Solo compatible con entornos Windows
- Verificación segura de procesos mediante el comando
tasklist - Garantía de estabilidad incluso si falla la detección
Gestión de permisos
- Ejecución con privilegios de administrador mediante sudo-prompt
- Elevación de permisos solo cuando sea necesario
📞 Soporte y contacto
- Relacionado con AntBot: Equipo de Soluciones AX de ICT
- Relacionado con MCP: Documentación oficial de MCP
- Reporte de problemas: Issues de GitHub
📄 Licencia
Este proyecto se distribuye bajo la licencia MIT.