AntBot MCP Server
Um servidor MCP em TypeScript para integração com a plataforma RPA baseada em IA AntBot, lidando com listagem e execução de ferramentas.
Documentação
AntBot MCP Server
AntBot MCP Server é um servidor TypeScript baseado no Model Context Protocol (MCP), projetado para integração com o AntBot, uma plataforma RPA baseada em IA.
Este servidor interage com clientes MCP e fornece ferramentas para gerenciamento e execução de projetos AntBot.
✨ Principais recursos
- Implementação da interface de servidor de ferramentas MCP
- Consulta da lista de projetos AntBot (
Get_AntBot_Project_List) - Consulta de informações detalhadas do projeto (
Get_AntBot_Project_Info) - inclui informações de parâmetros - Execução de projetos (
Run_AntBot_Project) - suporte ao envio de parâmetros - Detecção de processos em execução - prevenção de execução duplicada (ambiente Windows)
- Consulta de logs de execução (
Get_Last_Mcprun_Log) - verificação dos logs mcprun mais recentes - Gerenciamento automático de configuração - carregamento automático das configurações do arquivo de configuração do AntBot Robot
- Cache de projetos - cache de informações de projetos para otimização de desempenho
- Sistema de logging - registro detalhado de logs e suporte a depuração
- Estrutura modular baseada em TypeScript
🏗️ Arquitetura
Estrutura do projeto
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 principais
-
Classe McpServer (
index.ts)- Gerenciamento da instância do servidor MCP
- Configuração dos manipuladores de requisição
- Tratamento de erros e logging
-
Classe ProjectService (
projectService.ts)- Consulta da lista de projetos
- Análise das informações do projeto (antConf.xml)
- Download e execução de projetos
- Detecção de processos em execução (tasklist do Windows)
- Sistema de cache
-
Classe LogService (
logService.ts)- Consulta de arquivos de log mcprun
- Recurso de tail dos logs mais recentes
-
Gerenciamento de configuração (
config.ts)- Carregamento automático do arquivo de configuração do AntBot Robot
- Validação das configurações obrigatórias
- Gerenciamento dinâmico de configuração
🛠️ Instalação e build
Pré-requisitos
- Node.js v16 ou superior (recomendado: versão LTS)
- Ambiente Windows (recurso de detecção de processos do AntBot Runner)
- AntBot Robot instalado e integrado ao gerenciador
- Arquivo de configuração do AntBot Robot presente:
%APPDATA%\Roaming\AntBotRobot\AntBot_Robot.exe.config
Instalação
# 프로젝트 클론
git clone <repository-url>
cd antbot-mcp-server
# 의존성 설치
npm install
# 빌드
npm run build
# 또는 클린 빌드 (기존 빌드 파일 삭제 후 재빌드)
npm run cleanbuild
🧩 Composição das ferramentas MCP
1. Get_AntBot_Project_List
Consulta a lista de projetos disponíveis no gerenciador AntBot.
{
"name": "Get_AntBot_Project_List",
"description": "Returns a list of antbot projects.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
}
Exemplo de resposta:
{
"projects": [
{
"projectId": "PR000000298",
"projectName": "웹 스크래핑 프로젝트",
"description": "웹사이트에서 데이터를 수집하는 프로젝트"
}
]
}
2. Get_AntBot_Project_Info
Consulta as informações detalhadas de um projeto específico e os parâmetros necessários para execução.
{
"name": "Get_AntBot_Project_Info",
"description": "Get project information including required parameters",
"inputSchema": {
"type": "object",
"properties": {
"projectId": { "type": "string" }
},
"required": ["projectId"]
}
}
Exemplo de resposta:
{
"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
Executa o projeto. Primeiro, chame Get_AntBot_Project_Info para verificar as informações do projeto.
{
"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"]
}
}
Exemplo de uso:
{
"projectId": "PR000000298",
"projectPath": "C:\\temp\\project_298\\antConf.xml",
"parameters": {
"url": "https://example.com",
"timeout": 60
}
}
Prevenção de execução duplicada:
- Verificação do status do processo AntBot Runner antes da execução
- Se já estiver em execução, ocorre um erro com a mensagem
"현재 AntBot이 다른 작업을 수행 중입니다."
4. Get_Last_Mcprun_Log
Consulta as últimas 100 linhas do log mcprun mais recente.
{
"name": "Get_Last_Mcprun_Log",
"description": "Returns the last 100 lines of the latest mcprun log.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
}
Exemplo de resposta:
{
"fileName": "mcprun_20241201143022.log",
"content": "2024-12-01 14:30:22 [INFO] 프로젝트 실행 시작\n2024-12-01 14:30:23 [INFO] 매개변수 로드 완료\n..."
}
🔧 Scripts principais
| Comando | Descrição |
|---|---|
npm run build | Compilação TypeScript e configuração de permissão de execução |
npm run clean | Exclusão do diretório de build |
npm run cleanbuild | Limpeza e reconstrução |
npm run watch | Build automático ao detectar alterações em arquivos |
npm run inspector | Execução de testes com o MCP Inspector |
🧪 Métodos de teste
1. Uso do MCP Inspector
# MCP Inspector 설치
npm install -g @modelcontextprotocol/inspector
# 서버 테스트
npm run inspector
2. Cenários de teste
- Consulta da lista de projetos: chamada
Get_AntBot_Project_List - Consulta de informações do projeto: chamada
Get_AntBot_Project_Info(requer projectId) - Execução do projeto: chamada
Run_AntBot_Project(requer projectId, projectPath, parameters) - Consulta de logs: chamada
Get_Last_Mcprun_Log
🧠 Integração com Claude Desktop
Pré-requisitos
- Claude Desktop instalado
- Integração com o gerenciador AntBot Robot concluída
- Verificação do funcionamento correto do servidor com o MCP Inspector
Método de registro
Método 1: GUI do Claude Desktop
- Execute o Claude Desktop
- Configurações → Desenvolvedor → Editar configurações
- Edite o arquivo
%APPDATA%\Roaming\Claude\claude_desktop_config.json
Método 2: Configuração direta
{
"mcpServers": {
"antbot-mcp-server": {
"command": "node",
"args": ["C:\\path\\to\\antbot-mcp-server\\build\\index.js"]
}
}
}
⚠️ Importante: Reiniciar o Claude Desktop
Após alterar as configurações, é obrigatório encerrar completamente e reiniciar o Claude Desktop:
- Clique com o botão direito no ícone do Claude na bandeja do sistema
- Selecione Sair (encerramento completo)
- Execute o Claude Desktop novamente
💡 Observação: Não basta fechar a janela; é necessário encerrar completamente pelo ícone da bandeja para que as configurações sejam aplicadas.
Exemplos de uso
Você pode solicitar ao Claude o seguinte:
- "Mostre a lista de projetos AntBot"
- "Informe os dados do projeto PR000000298"
- "Execute o projeto PR000000298"
- "Mostre o log de execução mais recente"
⚙️ Gerenciamento de configuração
Carregamento automático de configuração
O servidor lê automaticamente o arquivo de configuração do AntBot Robot no seguinte caminho:
%APPDATA%\Roaming\AntBotRobot\AntBot_Robot.exe.config
Itens de configuração obrigatórios
MANAGER_USER: ID de usuário do gerenciadorMANAGER_IP: IP do servidor do gerenciadorMANAGER_PORT: Porta do servidor do gerenciadorAntBot Runner: Caminho do executável do AntBot Runner
Validação de configuração
Se alguma configuração obrigatória estiver ausente na inicialização do servidor, um erro será gerado:
AntBot Robot에서 매니저 연동을 먼저 진행해주세요.
🔍 Logging e depuração
Localização dos logs
%USERPROFILE%\.AntBot\Log\Develop\
Níveis de log
- INFO: Informações gerais de operação
- DEBUG: Informações detalhadas de depuração
- WARN: Informações de aviso (falha na detecção de processos, etc.)
- ERROR: Informações de erro
Principais mensagens de log
- Inicialização e início do servidor
- Resultados de chamadas de API
- Status de download e execução de projetos
- Resultados da validação de configuração
- Verificação do status do processo AntBot Runner
Logs mcprun
- Formato do nome do arquivo:
mcprun_YYYYMMDDHHMMSS.log - Localização:
%USERPROFILE%\.AntBot\Log\Develop\ - É possível consultar os logs mais recentes por meio das ferramentas MCP
📦 Dependências
Dependências principais
@modelcontextprotocol/sdk: Implementação do servidor MCPjsdom: Análise de arquivos de configuração XMLadm-zip: Processamento de arquivos ZIP de projetossudo-prompt: Execução com privilégios de administrador (quando necessário)xml2js: Análise XML
Dependências de desenvolvimento
typescript: Compilador TypeScriptrimraf: Exclusão de diretórios multiplataforma@types/*: Definições de tipos
🚀 Otimização de desempenho
Sistema de cache
- Cache de informações de projetos (5 minutos)
- Prevenção de downloads duplicados
- Otimização de chamadas de API
Tratamento de erros
- Mensagens de erro detalhadas
- Lógica de nova tentativa
- Degradação graciosa
Gerenciamento de processos
- Detecção de processos por meio do tasklist do Windows
- Proteção de recursos com prevenção de execução duplicada
- Tratamento conservador (permite execução se a detecção falhar)
🔒 Segurança e estabilidade
Detecção de processos
- Suportado apenas em ambiente Windows
- Verificação segura de processos por meio do comando
tasklist - Garantia de estabilidade mesmo em caso de falha na detecção
Gerenciamento de permissões
- Execução com privilégios de administrador via sudo-prompt
- Elevação de privilégios apenas quando necessário
📞 Suporte e contato
- AntBot: Equipe de Soluções AX da ICT
- MCP: Documentação oficial do MCP
- Relato de problemas: GitHub Issues
📄 Licença
Este projeto é distribuído sob a licença MIT.