Integrations
MCP 배치잇
여러 MCP 도구 호출을 단일 "batch_execute" 요청으로 일괄 처리하여 AI 에이전트의 오버헤드와 토큰 사용량을 줄입니다.
목차
소개
⚠️ 공지: 작업 진행 중
이 프로젝트는 여러 가지 복잡한 과제를 해결하기 위해 적극적으로 개발되고 있습니다.
- 기존 MCP 서버와의 하위 호환성 유지
- 다중 연결 클라이언트(Cline, Roo, Claude Desktop)를 통한 전송 복잡성 해결
- 초보자 친화적인 구현 만들기
기능적인 측면에서, 솔루션을 개선해 나가면서 지속적인 개선과 변화가 있을 것으로 기대됩니다.
MCP BatchIt 은 모델 컨텍스트 프로토콜(MCP) 생태계의 간단한 애그리게이터 서버입니다. batch_execute
라는 도구 하나만 제공합니다. 여러 MCP 도구( fetch
, read_file
, create_directory
, write_file
등)를 별도의 메시지로 호출하는 대신, 하나의 애그리게이터 요청으로 일괄 처리 할 수 있습니다.
이를 통해 AI 에이전트나 LLM 대화에서 토큰 사용량, 네트워크 오버헤드, 반복되는 컨텍스트가 크게 줄어듭니다.
BatchIt을 사용하는 이유
- 메시지당 하나의 작업 문제: 일반적으로 LLM이나 AI 에이전트는 한 번에 하나의 MCP 도구만 호출할 수 있으므로 여러 단계의 작업에 대해 여러 번 호출해야 합니다.
- 과도한 왕복 : 10개의 별도 파일 작업에 10개의 메시지 → 10개의 응답이 필요할 수 있습니다.
- BatchIt의 접근 방식 :
- 단일
batch_execute
요청을 사용합니다. - 실제 대상 MCP 서버(파일 시스템 서버 등)를 백그라운드에서 생성(또는 연결)합니다.
- 최대
maxConcurrent
까지 각 하위 작업(도구 호출)을 병렬로 실행합니다. - 한 하위 작업이 실패하고
stopOnError
가 true이면 새로운 하위 작업이 중단됩니다. - 통합된 JSON 결과 하나를 반환합니다.
- 단일
주요 기능 및 제한 사항
특징
- 단일 "일괄 실행" 도구
- 기존 MCP 서버의 도구를 참조하는 하위 작업 목록을 지정하기만 하면 됩니다.
- 병렬 실행
maxConcurrent
로 제어되는 여러 하위 작업을 한 번에 실행합니다.
- 시간 초과 및 오류 발생 시 중지
- 각 하위 작업은
timeoutMs
와 경쟁하며, 작업 중 하나가 실패하면 나머지 작업을 건너뛸 수 있습니다.
- 각 하위 작업은
- 연결 캐싱
- 반복적인 호출에 대해 다운스트림 MCP 서버에 대한 동일한 연결을 재사용하고, 유휴 시간 초과 후에는 연결을 닫습니다.
제한 사항
- 배치 중간에 데이터 전달 없음
- 하위 작업 #2가 #1의 출력에 따라 달라지는 경우 여러 개의 집계 호출을 수행합니다.
- 부분적인 진전 없음
- 각 "batch_execute"가 끝나면 모든 하위 작업의 결과를 함께 얻을 수 있습니다.
- 실제 MCP 서버를 사용해야 합니다
- 애그리게이터 자체를 생성하거나 연결하면 "도구를 찾을 수 없습니다."라는 메시지가 표시됩니다. 애그리게이터에는 "batch_execute"만 있습니다.
- 호출당 하나의 대상 서버
- 각 애그리게이터 호출은 단일 대상 MCP 서버를 참조합니다. 여러 서버가 필요한 경우, 더 고급 로직을 사용하거나 별도의 호출을 수행해야 합니다.
설치 및 시작
지엑스피1
BatchIt은 기본적으로 STDIO 에서 시작되므로 AI 에이전트(또는 모든 MCP 클라이언트)가 BatchIt을 생성할 수 있습니다. 예:
이제 JSON-RPC 요청( tools/call
method, name= "batch_execute"
)을 보낼 수 있습니다.
메모리 뱅크
Cline/Roo Code를 사용하면 Nick Baumann이 개발한 강력한 "메모리 뱅크" 사용자 정의 지침을 활용하여 상황에 맞는 프로젝트 문서 프레임워크를 구축할 수 있습니다.
전통적 접근 방식(19회 이상 통화):
- package.json 읽기
- 응답을 기다리세요
- README.md를 읽어보세요
- 응답을 기다리세요
- 목록 코드 정의
- 응답을 기다리세요
- 메모리 뱅크 디렉토리 생성
- 응답을 기다리세요
- productContext.md를 작성하세요
- systemPatterns.md를 작성하세요
- techContext.md를 작성하세요
- progress.md를 작성하세요
- activeContext.md를 작성하세요
- 응답을 기다리세요(5건의 추가 통화)
총: ~19개의 별도 API 호출(13개 작업 + 6개 응답 대기)
BatchIt 접근 방식(1-3회 통화)
다단계 사용
실시간 출력에 의존하는 복잡한 다단계 작업(예: 파일 읽기 및 문서 생성)을 수행할 때는 프로세스를 별도의 단계로 나누어 처리해야 합니다. BatchIt은 동일한 요청 내에서 하위 작업 간의 데이터 전달을 지원하지 않기 때문에 이러한 작업이 필요합니다.
구현 단계
정보 수집
이 초기 단계에서는 필요한 파일(예: package.json
, README.md
)을 읽어 파일 시스템에서 정보를 수집합니다. 이는 파일 시스템 MCP 서버에 대한 batch_execute 호출을 통해 수행됩니다.
참고 : 집계기는 @modelcontextprotocol/server-filesystem
( npx
를 통해)을 생성하여 병렬 read_file
작업을 실행합니다.
LLM 전용 단계(코드 정의 목록)
이 단계에는 일반적으로 LLM 또는 AI 에이전트 기능을 사용하여 집계기 외부에서 처리하는 작업이 포함됩니다.
이 단계에서는 LLM에서만 사용할 수 있는 Roo Code의 list_code_definition_names
도구를 활용합니다. 하지만 많은 MCP 서버에서도 유사한 기능을 제공하므로 LLM 요청 없이도 이 프로세스를 완료할 수 있습니다.
문서 생성
마지막 단계에서는 이전 단계의 데이터(파일 내용 및 코드 정의)를 결합하여 memory-bank
디렉토리에 문서를 생성합니다.
애그리게이터는 이러한 작업을 순차적으로 처리하며( maxConcurrent=1
), 디렉터리를 생성하고 여러 문서 파일을 작성합니다. 결과 배열은 각 작업의 성공/실패 상태를 나타냅니다.
자주 묻는 질문
질문 1: 하위 작업 #2가 하위 작업 #1의 결과에 따라 달라지는 경우 여러 개의 애그리게이터 호출이 필요합니까? 네. BatchIt은 동일한 요청에서 하위 작업 간에 데이터를 전달하지 않습니다. (위의 예처럼) 여러 단계의 호출을 수행합니다.
질문 2: "도구 create_directory를 찾을 수 없습니다"라는 메시지가 가끔 나타나는 이유는 무엇인가요? transport
이 실제 MCP 서버가 아닌 애그리게이터 스크립트 자체를 가리키고 있을 수 있기 때문입니다. @modelcontextprotocol/server-filesystem
같은 것을 참조해야 합니다.
Q3: 동시성과 stopOnError를 함께 사용할 수 있나요? 물론입니다. 하위 작업이 실패하면 새 하위 작업 시작을 건너뜁니다. 이미 실행 중인 하위 작업은 병렬로 완료됩니다.
질문 4: BatchIt은 매번 대상 서버를 다시 생성하나요? keepAlive: false
지정하면 가능합니다 . 하지만 동일한 targetServer.name + transport
사용하면 유휴 시간 초과가 발생할 때까지 연결을 캐시합니다.
질문 5: 중간에 오류가 발생하면 부분적인 결과가 반환되나요? 네. 오류 발생 전에 완료된 각 하위 작업은 실패한 하위 작업과 함께 최종 집계 응답에 포함됩니다. stopOnError
가 true이면 나머지 하위 작업은 건너뜁니다.
특허
MIT
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
여러 MCP 도구 호출을 단일 요청으로 일괄 처리하여 AI 에이전트의 토큰 사용량과 네트워크 오버헤드를 줄이는 간단한 집계 서버입니다.
- Table of Contents
- Introduction
- Why Use BatchIt
- Key Features & Limitations
- Installation & Startup
- MEMORY BANK
- FAQ
- License
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that lets AI assistants interact with your Lunchmoney data, enabling natural language queries about transactions, budgets, and spending patterns.Last updated -432TypeScriptMIT License
- -securityAlicense-qualityMCP server enabling AI agents to programmatically connect to and control Apache Superset instances, allowing users to manage dashboards, charts, databases, datasets, and run SQL queries through natural language interactions.Last updated -20PythonMIT License
- -security-license-qualityA specialized MCP server that enables AI agents to interact with Reddit, including reading posts, creating content, and managing subreddit configurations.Last updated -311TypeScript
- -securityAlicense-qualityAn MCP-native server that enables intelligent task delegation from advanced AI agents like Claude to more cost-effective LLMs, optimizing for cost while maintaining output quality.Last updated -23PythonMIT License