본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 18. 05:31

Claude, Gemini, Codex, OpenCode 간 도구 호출을 지원하는 MCP 서버 Multi-CLI

요약

Multi-CLI는 Model Context Protocol (MCP)을 사용하여 Claude, Gemini, Codex, OpenCode와 같은 여러 AI 모델 클라이언트들이 서로를 도구(tools)로 호출할 수 있게 연결해주는 서버입니다. 이 시스템은 설치된 다양한 AI CLI들을 자동으로 감지하고 구성하며, 한 번 설정하면 대화하는 어떤 AI라도 다른 AI의 기능을 활용하여 작업을 확장할 수 있습니다. 이 도구는 자체 유지 관리(self-maintaining) 기능과 자동 업데이트 메커니즘을 갖추고 있어, 여러 최신 AI 모델 환경에서도 지속적으로 작동하도록 설계되었습니다.

핵심 포인트

  • Multi-CLI는 MCP를 통해 Claude, Gemini, Codex, OpenCode 등 다양한 AI 클라이언트 간의 상호 호출(tool calling) 기능을 제공합니다.
  • 설치된 모든 AI CLI를 자동으로 감지하고 구성하며, 사용자가 별도로 설정할 필요가 없습니다.
  • 이 도구는 자체 유지 관리 및 자동 업데이트 시스템을 갖추고 있어 최신 모델 환경에서도 지속적인 지원이 가능합니다.
  • 사용하려면 Node.js >= 20 버전과 최소 하나의 대상 AI CLI(예: @anthropic-ai/claude-code) 설치가 필요합니다.

Claude, Gemini, Codex, OpenCode가 서로를 도구 (tools)로 호출할 수 있게 해주는 MCP 서버입니다.

Claude: "이봐 Gemini, 이 코드에 대해 어떻게 생각해?"
Gemini: "엉망이야. Codex에게 다른 의견을 물어볼게."
Codex: "둘 다 틀렸어. 여기 수정안이 있어."
...

curl -fsSL https://raw.githubusercontent.com/osanoai/multicli/main/install.sh | bash

설치된 AI CLI를 감지하여 Multi-CLI를 자동으로 구성합니다.

  • Claude Code는 127.0.0.1의 사용자별 로컬 HTTP 서비스를 사용하도록 구성됩니다.
  • Gemini CLI, Codex CLI, OpenCode는 기본적으로 stdio/로컬 설정을 계속 사용합니다.
  • 설치 프로그램이 사용자를 대신하여 클라이언트 설정 파일을 업데이트할 수 있습니다.

Multi-CLI는 AI 클라이언트 사이에 위치하며 Model Context Protocol (MCP)을 통해 이들을 연결합니다. 한 번 설치하면, 당신이 대화 중인 어떤 AI라도 다른 AI를 호출할 수 있는 능력을 갖게 됩니다.

Claude는 Gemini, Codex 또는 OpenCode에 도움을 요청할 수 있습니다. Gemini는 Claude, Codex 또는 OpenCode에 작업을 위임할 수 있습니다. Codex는 Claude, Gemini 또는 OpenCode에게 자문을 구할 수 있습니다. OpenCode는 Claude, Gemini 또는 Codex(75개 이상의 제공업체에 걸쳐)를 호출할 수 있습니다.

  • 각 클라이언트의 자체 도구는 숨겨집니다 (자기 자신과 대화하는 것은 이상하니까요).
  • 설치된 CLI를 자동 감지하여 사용 가능한 것만 보여줍니다.

이 도구는 연결되는 바로 그 AI들에 의해 구축되었습니다.

Claude, Gemini, Codex, OpenCode가 코드를 작성했습니다. Claude, Gemini, Codex, OpenCode가 이를 유지 관리합니다. 매일 밤, CI 작업이 각 CLI의 최신 안정 버전을 쿼리하여 현재 모델 목록을 가져오고, 그 결과를 저장소(repo)에 있는 내용과 비교(diff)한 뒤, 변경 사항이 있으면 자동으로 새 버전을 게시합니다. 새로운 모델 출시 사항은 24시간 이내에 반영됩니다. 지원이 중단된(Deprecated) 모델은 정리됩니다. 저장소는 아무도 손대지 않아도 최신 상태를 유지합니다.

stdio 설치 경로는 @latest를 사용하므로, 해당 클라이언트들은 새 릴리스를 자동으로 가져옵니다. Claude Code의 관리형 HTTP 서비스는 일시적인 npx 캐시 대신 의도적으로 안정적인 설치 런타임에서 실행됩니다. 설치 프로그램을 다시 실행하거나 multicli service refresh --configure-claude를 실행하세요.

업그레이드 후에.

대부분의 MCP 도구들은 몇 주 안에 구식이 됩니다. 이 도구는 설계 단계부터 자체 유지 관리(self-maintaining)가 가능하도록 만들어졌습니다.

Node.js >= 20 버전이 필요하며, 다음 CLI 중 최소 하나가 설치되어 있어야 합니다:

CLI설치
Claude Codenpm install -g @anthropic-ai/claude-code
...

Multi-CLI는 두 개 이상의 CLI가 설치되어 있을 때 가장 유용합니다. 하나만 설치된 경우에도 설치는 작동하지만, 아직 연결할 대상이 없을 수 있습니다.

클라이언트별로 직접 설치하는 것을 선호하시나요? 각 명령은 한 줄로 구성됩니다.

Claude Code의 안정성을 위해 권장되는 방법:

npm install -g @osanoai/multicli
multicli service install --configure-claude

이 명령은 127.0.0.1에서만 수신 대기하는 사용자별 백그라운드 서비스(background service)를 설치하고, Claude Code가 HTTP를 통해 Multi-CLI를 사용하도록 구성하며, Claude가 stdio 서브프로세스(subprocess)를 종료하더라도 기반 서버를 계속 유지합니다.

관리형 서비스는 다음과 같이 사용자별 로그인/백그라운드 서비스로 설치됩니다:

  • macOS:
    launchd LaunchAgent
  • Ubuntu/Debian:
    systemd --user
  • Windows: 사용자 로그인 시 실행되는 예약된 작업(Scheduled Task)

보안 모델:

  • 127.0.0.1에서만 수신 대기
  • 모든 HTTP MCP 요청에 대해 Authorization: Bearer <token> 사용
  • 생성된 서비스 아티팩트(artifacts)를 사용자 소유의 서비스 디렉토리에 저장

운영 참고 사항:

  • multicli service install은 일시적인 npx 런타임(runtimes) 사용을 거부합니다. 전역 설치(global install) 또는 안정적인 로컬 체크아웃(local checkout)을 사용하세요.
  • 생성된 서비스 상태에는 로컬 AI CLI가 추가 자격 증명(credentials)이나 PATH 항목을 필요로 할 경우 편집할 수 있는 env 파일이 포함됩니다.
  • Linux의 경우, 기본 systemd --user 서비스는 로그인 세션을 따릅니다. 로그아웃 후에도 서비스가 계속 유지되기를 의도적으로 원하는 경우에만 직접 linger를 활성화하세요.

기존의 stdio 설치 방식도 여전히 사용 가능합니다:

claude mcp add --scope user Multi-CLI -- npx -y @osanoai/multicli@latest

Claude Desktop (JSON 설정)

macOS의 경우 ~/Library/Application Support/Claude/claude_desktop_config.json에 다음을 추가하세요:

{
"mcpServers": {
"Multi-CLI": {
...

저장 후 Claude Desktop을 완전히 재시작하세요.

gemini mcp add --scope user Multi-CLI npx -y @osanoai/multicli@latest

수동 설정 (~/.gemini/settings.json)

{
"mcpServers": {
"Multi-CLI": {
...

codex mcp add Multi-CLI -- npx -y @osanoai/multicli@latest

수동 설정 (~/.codex/config.toml) 또는 --mcp-config 전달

codex --mcp-config mcp.json

여기서 mcp.json은 다음을 포함합니다:

{
"mcpServers": {
"Multi-CLI": {
...

OpenCode의 mcp add 명령어는 대화형(interactive)이므로, Multi-CLI를 ~/.config/opencode/opencode.json에 직접 추가하십시오:

{
"mcp": {
"Multi-CLI": {
...

만약 파일이 이미 존재한다면, 기존의 "mcp" 객체에 "Multi-CLI" 항목을 병합(merge)하십시오.

Multi-CLI는 stdio와 Streamable HTTP를 모두 지원합니다.

stdio를 지원하는 클라이언트의 경우, 다음을 가리키도록 설정하십시오:

npx -y @osanoai/multicli@latest

관리형 로컬 HTTP 서비스의 경우, Multi-CLI를 전역(globally)으로 설치하고 다음을 실행하십시오:

multicli service install

이 서비스는 127.0.0.1에서만 리스닝(listen)하며 /mcp/health를 노출합니다.

연결되면, 귀하의 AI 클라이언트는 다른 CLI들을 위한 도구에 접근할 수 있게 됩니다 (자신의 도구에는 접근할 수 없습니다):

도구설명
List-Gemini-Models사용 가능한 Gemini 모델과 그 강점을 나열합니다
Ask-GeminiGemini에게 질문을 하거나 작업을 부여합니다
Fetch-ChunkGemini로부터 청크(chunk) 단위의 응답을 가져옵니다
Gemini-HelpGemini CLI 도움말 정보를 가져옵니다
List-Codex-Models사용 가능한 Codex 모델을 나열합니다
Ask-CodexCodex에게 질문을 하거나 작업을 부여합니다
Codex-HelpCodex CLI 도움말 정보를 가져옵니다
List-Claude-Models사용 가능한 Claude 모델을 나열합니다
Ask-ClaudeClaude에게 질문을 하거나 작업을 부여합니다
Claude-HelpClaude Code CLI 도움말 정보를 가져옵니다
List-OpenCode-Models구성된 모든 제공자로부터 사용 가능한 OpenCode 모델을 나열합니다
Ask-OpenCodeOpenCode에게 질문을 하거나 작업을 부여합니다
OpenCode-HelpOpenCode CLI 도움말 정보를 가져옵니다

Ask-* 도구들은 여전히 일반적인 동기식 (synchronous) MCP 도구로 작동하지만, 이제 작업을 지원하는 MCP 클라이언트를 위해 선택적인 작업 기반 실행 (task-based execution) 기능도 함께 제공합니다.

  • 작업을 지원하는 클라이언트 (Task-capable clients)는 긴 차단형 도구 요청 (blocking tool requests)을 피하기 위해 MCP 태스크 (tasks)를 사용하여 긴 Ask-* 호출을 실행할 수 있습니다. 구형 클라이언트는 설정 변경 없이 동일한 Ask-* 도구를 동기식으로 계속 사용합니다. List-*, *-Help, Fetch-Chunk는 일반적인 동기식 도구로 유지됩니다.

설치 후에는 AI에게 자연스럽게 말하기만 하면 됩니다:

"Ask-Gemini가 이 아키텍처에 대해 어떻게 생각하는지 물어봐줘"
"Codex에게 이 함수의 성능 문제를 검토하도록 해줘"
"이 에러 메시지에 대한 Claude의 의견을 가져와줘"
...

또는 어떤 것에 대해서든 제2의 의견을 구할 수 있습니다:

"이 모듈을 리팩터링하는 방법에 대해 세 가지 관점을 원해 — Gemini와 Codex에게 각각 다르게 할 작업이 무엇인지 물어봐줘"
┌─────────────┐ MCP (stdio) ┌──────────────┐ CLI calls ┌─────────────┐
│ Your AI │ ◄──────────────────► │ Multi-CLI │ ───────────────► │ Other AIs │
│ Client │ │ server │ │ (CLI tools) │
...

Claude Code의 경우, Multi-CLI는 로컬 백그라운드 HTTP 서비스로도 실행될 수 있습니다:

┌─────────────┐ MCP (HTTP) ┌──────────────┐ CLI calls ┌─────────────┐
│ Claude Code │ ◄──────────────────► │ Multi-CLI │ ───────────────► │ Other AIs │
│ Client │ 127.0.0.1 only │ service │ │ (CLI tools) │
...

"No usable AI CLIs detected" (사용 가능한 AI CLI가 감지되지 않음)
최소 하나 이상의 다른 CLI가 설치되어 있고 PATH에 등록되어 있는지 확인하세요:

which gemini && which codex && which claude && which opencode

도구가 나타나지 않나요?
본인의 CLI만 설치되어 있다면, Multi-CLI는 이를 숨깁니다 (자기 호출 방지). 교차 모델 협업 (cross-model collaboration)을 활성화하려면 다른 CLI를 설치하세요.

MCP 서버가 응답하지 않나요?

  • Node.js >= 20 버전이 설치되어 있는지 확인하세요.
  • npx -y @osanoai/multicli@latest를 직접 실행하여 stdio 서버가 시작되는지 확인하세요.
  • AI 클라이언트를 완전히 재시작하세요.

Claude Code가 성공적인 호출 이후에 연결이 끊기나요?
기존의 stdio 통합 대신 관리형 백그라운드 서비스를 사용하세요:

npm install -g @osanoai/multicli
multicli service install --configure-claude
multicli service doctor

유용한 서비스 명령어:

multicli service status

multicli service doctor

multicli service logs

multicli service refresh

multicli service uninstall

타임아웃(timeouts)이나 정리 동작(cleanup behavior)을 조정해야 하나요?
Multi-CLI는 다음과 같은 선택적 환경 변수 (environment variables)를 지원합니다:

MULTICLI_TRANSPORT

(stdio 또는 http)

MULTICLI_ASK_TIMEOUT_MS

MULTICLI_HELP_TIMEOUT_MS

MULTICLI_CLI_DETECT_TIMEOUT_MS

MULTICLI_KILL_GRACE_MS

MULTICLI_HTTP_HOST

(기본값: 127.0.0.1)

MULTICLI_HTTP_PORT

(기본값: 37420)

MULTICLI_HTTP_PATH

(기본값: /mcp)

MULTICLI_HTTP_AUTH_TOKEN

(직접 HTTP 모드 사용 시 필수)

MULTICLI_HTTP_SESSION_IDLE_MS

MULTICLI_LOG_PATH

(기본값: ~/.multicli/logs/multicli.log)

MULTICLI_LOG_LEVEL

(error, info, 또는 debug; 파일 로그의 경우 기본값은 debug)

MULTICLI_STDERR_LOG_LEVEL

(silent, error, info, 또는 debug; 기본값은 error)

MULTICLI_SERVICE_ROOT_DIR

MULTICLI_SERVICE_LOG_PATH

MULTICLI_SERVICE_ENV_PATH

MULTICLI_SERVICE_MANIFEST_PATH

서버는 구조화된 JSON-line 로그를 단일 파일 목적지에 기록하며, 장기 실행 서비스 모드(long-running service mode)를 위해 로그를 자동으로 순환(rotate)합니다. 또한 Ask-* 요청에 대해 전체 프롬프트 본문(prompt bodies)을 포함하므로, 연결 끊김이나 충돌이 발생한 후에도 사후에 이를 재구성할 수 있습니다.

git clone https://github.com/osanoai/multicli.git
cd multicli
npm install
...

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0