연결연결Gemini CLI

MCP Client

Gemini CLI

settings.json에 bearer 자격 증명을 넣지 않고 OAuth 우선 Gemini CLI 구성을 사용합니다.

사전 조건

검토된 settings.json MCP 구성 및 브라우저 OAuth 지원이 포함된 Gemini CLI 개발자 도구를 사용하세요. 지원은 Gemini CLI 개발자 도구에 적용되며 Gemini 소비자 웹 채팅(gemini.google.com) 통합이나 공식 확장 갤러리 승인을 의미하지 않습니다.

  • 엔드포인트: https://xmemo.dev/mcp.
  • 인증 모드: OAuth.
  • 구성 파일: ~/.gemini/settings.json.
  • 전송: Streamable HTTP (호스팅된 엔드포인트용 httpUrl).
  • 확장 저장소: github:yonro/xmemo-gemini-cli (매니페스트 0.1.0, 문서화된 GitHub 설치, 공식 갤러리 승인 추론 없음).

설치 / 설정

Gemini CLI extensions 명령을 사용하여 확장을 설치하거나, mcpServers 아래의 ~/.gemini/settings.json 에 XMemo 구성 블록을 수동으로 병합하세요.

  • 확장 명령: gemini extensions install https://github.com/yonro/xmemo-gemini-cli (yonro/xmemo-gemini-cli @ 39e25b185b README 기준).
  • 수동 대체 방법: httpUrl 및 ID 헤더를 보존하면서 XMemo 블록을 ~/.gemini/settings.json 에 병합합니다.
gemini extensions install https://github.com/yonro/xmemo-gemini-cli

자격 증명 설정

키 없음 — Gemini CLI를 재시작한 후 브라우저 OAuth를 완료합니다. settings.json에 XMEMO_KEY 또는 Authorization header를 넣지 않습니다.

No XMEMO_KEY
Complete browser OAuth in Gemini CLI

XMEMO_AGENT_INSTANCE_ID 생성 / 확인

Gemini CLI 로컬 설치마다 secret이 아닌 값을 하나 생성하고 git 밖에 저장한 뒤 재시작 후에도 재사용하여 attribution을 안정적으로 유지합니다.

export XMEMO_AGENT_INSTANCE_ID='<stable-local-instance-id>'

기존 구성 블록 유지

이 페이지에 렌더링된 기존 Gemini CLI XMemo 구성 블록을 사용합니다. httpUrl과 비밀이 아닌 identity header를 유지하고 Authorization 또는 XMEMO_KEY를 추가하지 않습니다.

{
  "mcpServers": {
    "XMemo": {
      "httpUrl": "https://xmemo.dev/mcp",
      "headers": {
        "X-Memory-OS-Agent-ID": "gemini-cli",
        "X-Memory-OS-Agent-Instance-ID": "${XMEMO_AGENT_INSTANCE_ID}"
      }
    }
  }
}

클라이언트 재시작

settings.json을 저장한 후 Gemini CLI를 재시작하여 엔드포인트와 현재 instance identity를 불러온 다음 OAuth consent를 완료합니다.

실제 recall 호출로 테스트

첫 MCP 호출은 읽기 전용으로 수행합니다. 이는 health-check placeholder가 아닌 실제 recall 호출이며 memory를 쓰지 않습니다.

recall({ query: "connection check", limit: 1 })

예상 응답 (리터럴 형태)

성공한 호출은 아래의 공개 ranked text 형태를 반환합니다. reference와 content는 승인된 memory space의 실제 값입니다.

### XMemo Memory Results:
1. Reference: <opaque-memory-id> | Location: <location>
   > <memory content>

일반적인 오류

Gemini CLI의 OAuth 실패는 호스팅 OAuth 오류 contract를 사용합니다.

  • invalid_grant — OAuth authorization code가 유효하지 않거나 만료되었거나 이미 사용되었습니다: Gemini CLI를 다시 연결하고 재인증합니다.
  • invalid_target — OAuth resource가 이 MCP server와 일치하지 않습니다: https://xmemo.dev/mcp를 사용하여 다시 연결합니다.
  • 403 insufficient_scope — grant에 memory:read 권한이 없습니다: 요청된 scope를 승인하고 다시 연결합니다.

Gemini CLI MCP 설정

구성 파일: ~/.gemini/settings.json

OAuth client: merge this XMemo block into settings.json, set one stable XMEMO_AGENT_INSTANCE_ID for local attribution, then restart Gemini CLI and complete MCP OAuth. Do not add Authorization or XMEMO_KEY to this snippet.

{
  "mcpServers": {
    "XMemo": {
      "httpUrl": "https://xmemo.dev/mcp",
      "headers": {
        "X-Memory-OS-Agent-ID": "gemini-cli",
        "X-Memory-OS-Agent-Instance-ID": "${XMEMO_AGENT_INSTANCE_ID}"
      }
    }
  }
}

클라이언트 준비 상태

  • Evidence required
  • Planned
  • See /product/docs#client-capability-matrix; this OAuth config does not imply a Gemini marketplace listing.

출처: 클라이언트 기능 매트릭스