jinwon-antbotcore/antbot-mcp-server
If you are the rightful owner of antbot-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
AntBot MCP Server is a TypeScript server based on the Model Context Protocol (MCP) designed for integration with the AI-based RPA platform, AntBot.
Get_AntBot_Project_List
Returns a list of antbot projects.
Get_AntBot_Project_Info
Get project information including required parameters
Run_AntBot_Project
Run the project with required parameters
Get_Last_Mcprun_Log
Returns the last 100 lines of the latest mcprun log.
AntBot MCP Server
AntBot MCP Serverλ Model 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 # μμ μ μ
ν΅μ¬ μ»΄ν¬λνΈ
-
McpServer ν΄λμ€ (
index.ts
)- MCP μλ² μΈμ€ν΄μ€ κ΄λ¦¬
- μμ² νΈλ€λ¬ μ€μ
- μλ¬ μ²λ¦¬ λ° λ‘κΉ
-
ProjectService ν΄λμ€ (
projectService.ts
)- νλ‘μ νΈ λͺ©λ‘ μ‘°ν
- νλ‘μ νΈ μ 보 νμ± (antConf.xml)
- νλ‘μ νΈ λ€μ΄λ‘λ λ° μ€ν
- μ€ν μ€ νλ‘μΈμ€ κ°μ§ (Windows tasklist)
- μΊμ± μμ€ν
-
LogService ν΄λμ€ (
logService.ts
)- mcprun λ‘κ·Έ νμΌ μ‘°ν
- μ΅μ λ‘κ·Έ tail κΈ°λ₯
-
μ€μ κ΄λ¦¬ (
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. ν μ€νΈ μλ리μ€
- νλ‘μ νΈ λͺ©λ‘ μ‘°ν:
Get_AntBot_Project_List
νΈμΆ - νλ‘μ νΈ μ 보 μ‘°ν:
Get_AntBot_Project_Info
νΈμΆ (projectId νμ) - νλ‘μ νΈ μ€ν:
Run_AntBot_Project
νΈμΆ (projectId, projectPath, parameters νμ) - λ‘κ·Έ μ‘°ν:
Get_Last_Mcprun_Log
νΈμΆ
π§ Claude Desktop μ°λ
μ μ 쑰건
- Claude Desktop μ€μΉ μλ£
- AntBot Robot λ§€λμ μ°λ μλ£
- MCP Inspectorλ‘ μλ² μ μ λμ νμΈ
λ±λ‘ λ°©λ²
λ°©λ² 1: Claude Desktop GUI
- Claude Desktop μ€ν
- μ€μ β κ°λ°μ β μ€μ νΈμ§
%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μ μμ ν μ’ λ£νκ³ μ¬μμν΄μΌ ν©λλ€:
- μμ€ν νΈλ μ΄μμ Claude μμ΄μ½ μ°ν΄λ¦
- μ’ λ£ μ ν (μμ ν μ’ λ£)
- Claude Desktop λ€μ μ€ν
π‘ μ°Έκ³ : λ¨μν μ°½μ λ«λ κ²μ΄ μλλΌ νΈλ μ΄ μμ΄μ½μ ν΅ν΄ μμ ν μ’ λ£ν΄μΌ μ€μ μ΄ μ μ©λ©λλ€.
μ¬μ© μμ
Claudeμκ² λ€μκ³Ό κ°μ΄ μμ²ν μ μμ΅λλ€:
- "AntBot νλ‘μ νΈ λͺ©λ‘μ 보μ¬μ€"
- "PR000000298 νλ‘μ νΈμ μ 보λ₯Ό μλ €μ€"
- "PR000000298 νλ‘μ νΈλ₯Ό μ€νν΄μ€"
- "μ΅μ μ€ν λ‘κ·Έλ₯Ό 보μ¬μ€"
βοΈ μ€μ κ΄λ¦¬
μλ μ€μ λ‘λ
μλ²λ λ€μ κ²½λ‘μ AntBot Robot μ€μ νμΌμ μλμΌλ‘ μ½μ΄μ΅λλ€:
%APPDATA%\Roaming\AntBotRobot\AntBot_Robot.exe.config
νμ μ€μ νλͺ©
MANAGER_USER
: λ§€λμ μ¬μ©μ IDMANAGER_IP
: λ§€λμ μλ² IPMANAGER_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 λΌμ΄μ μ€ νμ λ°°ν¬λ©λλ€.