AntBot MCP Server

AntBot MCP Server

Enables integration with AntBot, an AI-based RPA platform, allowing users to list, inspect, and execute automation projects with parameter support, while preventing duplicate executions and providing execution log access.

Category
访问服务器

README

AntBot MCP Server

AntBot MCP ServerModel Context Protocol (MCP) 기반의 TypeScript 서버로, AI 기반 RPA 플랫폼인 AntBot과의 연동을 위해 설계되었습니다.
이 서버는 MCP 클라이언트와 상호작용하며, AntBot 프로젝트 관리 및 실행을 위한 도구들을 제공합니다.

✨ 주요 기능

  • MCP Tool 서버 인터페이스 구현
  • AntBot 프로젝트 목록 조회 (Get_AntBot_Project_List)
  • 프로젝트 상세 정보 조회 (Get_AntBot_Project_Info) - 매개변수 정보 포함
  • 프로젝트 실행 (Run_AntBot_Project) - 매개변수 전달 지원
  • 실행 중 프로세스 감지 - 중복 실행 방지 (Windows 환경)
  • 실행 로그 조회 (Get_Last_Mcprun_Log) - 최신 mcprun 로그 확인
  • 자동 설정 관리 - AntBot Robot 설정 파일에서 자동으로 설정 로드
  • 프로젝트 캐싱 - 성능 최적화를 위한 프로젝트 정보 캐싱
  • 로깅 시스템 - 상세한 로그 기록 및 디버깅 지원
  • TypeScript 기반 모듈형 구조

🏗️ 아키텍처

프로젝트 구조

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          # 상수 정의

핵심 컴포넌트

  1. McpServer 클래스 (index.ts)

    • MCP 서버 인스턴스 관리
    • 요청 핸들러 설정
    • 에러 처리 및 로깅
  2. ProjectService 클래스 (projectService.ts)

    • 프로젝트 목록 조회
    • 프로젝트 정보 파싱 (antConf.xml)
    • 프로젝트 다운로드 및 실행
    • 실행 중 프로세스 감지 (Windows tasklist)
    • 캐싱 시스템
  3. LogService 클래스 (logService.ts)

    • mcprun 로그 파일 조회
    • 최신 로그 tail 기능
  4. 설정 관리 (config.ts)

    • AntBot Robot 설정 파일 자동 로드
    • 필수 설정 검증
    • 동적 설정 관리

🛠️ 설치 및 빌드

전제 조건

  • Node.js v16 이상 (권장: LTS 버전)
  • Windows 환경 (AntBot Runner 프로세스 감지 기능)
  • AntBot Robot 설치 및 매니저 연동 완료
  • AntBot Robot 설정 파일 존재: %APPDATA%\Roaming\AntBotRobot\AntBot_Robot.exe.config

설치

# 프로젝트 클론
git clone <repository-url>
cd antbot-mcp-server

# 의존성 설치
npm install

# 빌드
npm run build

# 또는 클린 빌드 (기존 빌드 파일 삭제 후 재빌드)
npm run cleanbuild

🧩 MCP 도구 구성

1. Get_AntBot_Project_List

AntBot 매니저에서 사용 가능한 프로젝트 목록을 조회합니다.

{
  "name": "Get_AntBot_Project_List",
  "description": "Returns a list of antbot projects.",
  "inputSchema": {
    "type": "object",
    "properties": {},
    "required": []
  }
}

응답 예시:

{
  "projects": [
    {
      "projectId": "PR000000298",
      "projectName": "웹 스크래핑 프로젝트",
      "description": "웹사이트에서 데이터를 수집하는 프로젝트"
    }
  ]
}

2. Get_AntBot_Project_Info

특정 프로젝트의 상세 정보와 실행에 필요한 매개변수를 조회합니다.

{
  "name": "Get_AntBot_Project_Info",
  "description": "Get project information including required parameters",
  "inputSchema": {
    "type": "object",
    "properties": {
      "projectId": { "type": "string" }
    },
    "required": ["projectId"]
  }
}

응답 예시:

{
  "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

프로젝트를 실행합니다. 먼저 Get_AntBot_Project_Info를 호출하여 프로젝트 정보를 확인해야 합니다.

{
  "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"]
  }
}

사용 예시:

{
  "projectId": "PR000000298",
  "projectPath": "C:\\temp\\project_298\\antConf.xml",
  "parameters": {
    "url": "https://example.com",
    "timeout": 60
  }
}

중복 실행 방지:

  • 실행 전 AntBot Runner 프로세스 상태 확인
  • 이미 실행 중이면 "현재 AntBot이 다른 작업을 수행 중입니다." 메시지와 함께 오류 발생

4. Get_Last_Mcprun_Log

최신 mcprun 로그의 마지막 100줄을 조회합니다.

{
  "name": "Get_Last_Mcprun_Log",
  "description": "Returns the last 100 lines of the latest mcprun log.",
  "inputSchema": {
    "type": "object",
    "properties": {},
    "required": []
  }
}

응답 예시:

{
  "fileName": "mcprun_20241201143022.log",
  "content": "2024-12-01 14:30:22 [INFO] 프로젝트 실행 시작\n2024-12-01 14:30:23 [INFO] 매개변수 로드 완료\n..."
}

🔧 주요 스크립트

명령어 설명
npm run build TypeScript 컴파일 및 실행 권한 설정
npm run clean 빌드 디렉토리 삭제
npm run cleanbuild 클린 후 재빌드
npm run watch 파일 변경 감지 시 자동 빌드
npm run inspector MCP Inspector로 테스트 실행

🧪 테스트 방법

1. MCP Inspector 사용

# MCP Inspector 설치
npm install -g @modelcontextprotocol/inspector

# 서버 테스트
npm run inspector

2. 테스트 시나리오

  1. 프로젝트 목록 조회: Get_AntBot_Project_List 호출
  2. 프로젝트 정보 조회: Get_AntBot_Project_Info 호출 (projectId 필요)
  3. 프로젝트 실행: Run_AntBot_Project 호출 (projectId, projectPath, parameters 필요)
  4. 로그 조회: Get_Last_Mcprun_Log 호출

🧠 Claude Desktop 연동

전제 조건

  • Claude Desktop 설치 완료
  • AntBot Robot 매니저 연동 완료
  • MCP Inspector로 서버 정상 동작 확인

등록 방법

방법 1: Claude Desktop GUI

  1. Claude Desktop 실행
  2. 설정 → 개발자 → 설정편집
  3. %APPDATA%\Roaming\Claude\claude_desktop_config.json 파일 편집

방법 2: 직접 설정

{
  "mcpServers": {
    "antbot-mcp-server": {
      "command": "node",
      "args": ["C:\\path\\to\\antbot-mcp-server\\build\\index.js"]
    }
  }
}

⚠️ 중요: Claude Desktop 재시작

설정 변경 후 반드시 Claude Desktop을 완전히 종료하고 재시작해야 합니다:

  1. 시스템 트레이에서 Claude 아이콘 우클릭
  2. 종료 선택 (완전히 종료)
  3. Claude Desktop 다시 실행

💡 참고: 단순히 창을 닫는 것이 아니라 트레이 아이콘을 통해 완전히 종료해야 설정이 적용됩니다.

사용 예시

Claude에게 다음과 같이 요청할 수 있습니다:

  • "AntBot 프로젝트 목록을 보여줘"
  • "PR000000298 프로젝트의 정보를 알려줘"
  • "PR000000298 프로젝트를 실행해줘"
  • "최신 실행 로그를 보여줘"

⚙️ 설정 관리

자동 설정 로드

서버는 다음 경로의 AntBot Robot 설정 파일을 자동으로 읽어옵니다:

%APPDATA%\Roaming\AntBotRobot\AntBot_Robot.exe.config

필수 설정 항목

  • MANAGER_USER: 매니저 사용자 ID
  • MANAGER_IP: 매니저 서버 IP
  • MANAGER_PORT: 매니저 서버 포트
  • AntBot Runner: AntBot Runner 실행 파일 경로

설정 검증

서버 시작 시 필수 설정이 누락된 경우 오류를 발생시킵니다:

AntBot Robot에서 매니저 연동을 먼저 진행해주세요.

🔍 로깅 및 디버깅

로그 위치

%USERPROFILE%\.AntBot\Log\Develop\

로그 레벨

  • INFO: 일반적인 작업 정보
  • DEBUG: 상세한 디버깅 정보
  • WARN: 경고 정보 (프로세스 감지 실패 등)
  • ERROR: 오류 정보

주요 로그 메시지

  • 서버 초기화 및 시작
  • API 호출 결과
  • 프로젝트 다운로드 및 실행 상태
  • 설정 검증 결과
  • AntBot Runner 프로세스 상태 확인

mcprun 로그

  • 파일명 형식: mcprun_YYYYMMDDHHMMSS.log
  • 위치: %USERPROFILE%\.AntBot\Log\Develop\
  • MCP 도구를 통해 최신 로그 조회 가능

📦 의존성

핵심 의존성

  • @modelcontextprotocol/sdk: MCP 서버 구현
  • jsdom: XML 설정 파일 파싱
  • adm-zip: 프로젝트 ZIP 파일 처리
  • sudo-prompt: 관리자 권한 실행 (필요시)
  • xml2js: XML 파싱

개발 의존성

  • typescript: TypeScript 컴파일러
  • rimraf: 크로스 플랫폼 디렉토리 삭제
  • @types/*: 타입 정의

🚀 성능 최적화

캐싱 시스템

  • 프로젝트 정보 캐싱 (5분)
  • 중복 다운로드 방지
  • API 호출 최적화

에러 처리

  • 상세한 에러 메시지
  • 재시도 로직
  • Graceful degradation

프로세스 관리

  • Windows tasklist를 통한 프로세스 감지
  • 중복 실행 방지로 리소스 보호
  • 보수적 처리 (감지 실패 시 실행 허용)

🔒 보안 및 안정성

프로세스 감지

  • Windows 환경에서만 지원
  • tasklist 명령어를 통한 안전한 프로세스 확인
  • 감지 실패 시에도 안정성 보장

권한 관리

  • sudo-prompt를 통한 관리자 권한 실행
  • 필요한 경우에만 권한 상승

📞 지원 및 문의

  • AntBot 관련: ICT AX솔루션팀
  • MCP 관련: MCP 공식 문서
  • 이슈 리포트: GitHub Issues

📄 라이선스

이 프로젝트는 MIT 라이선스 하에 배포됩니다.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选