MCP Toolbox를 사용하여 IDE를 Firestore에 연결

이 페이지에서는 데이터베이스용 MCP 도구 상자를 사용하여 Firestore 인스턴스를 모델 컨텍스트 프로토콜 (MCP)을 지원하는 통합 개발 환경 (IDE) 및 개발자 도구에 연결하는 방법을 설명합니다. 이러한 도구를 사용하여 쿼리를 실행하고 데이터베이스와 상호작용합니다. 이 가이드는 기존 IDE와 개발자 도구를 사용하여 Firestore를 사용하는 개발자를 대상으로 합니다.

모델 컨텍스트 프로토콜 (MCP)은 대규모 언어 모델 (LLM)을 Firestore와 같은 데이터 소스에 연결하기 위한 개방형 프로토콜입니다. 이 페이지에서는 데이터베이스용 MCP 도구 상자를 사용하여 다음 IDE를 통해 개발자 지원 도구를 Firestore 인스턴스에 노출하는 방법을 설명합니다.

Firestore 설정

  1. 새 Google Cloud 프로젝트를 만들거나 기존 프로젝트를 선택합니다.

  2. 프로젝트에 Firestore API를 사용 설정합니다.

  3. 아직 만들지 않았다면 Firestore 데이터베이스를 만듭니다.

  4. 로컬 환경에 인증을 설정합니다.

MCP Toolbox 설치

  1. MCP Toolbox의 최신 버전을 바이너리로 다운로드합니다. 운영체제(OS) 및 CPU 아키텍처에 해당하는 바이너리를 선택합니다. MCP Toolbox 버전 V0.13.0 이상을 사용해야 합니다.

    linux/amd64

    curl -O https://storage.googleapis.com/genai-toolbox/version/linux/amd64/toolbox
    

    version을 MCP Toolbox 버전 번호(예: v0.13.0)로 바꿉니다.

    darwin/arm64

    curl -O https://storage.googleapis.com/genai-toolbox/version/darwin/arm64/toolbox
    

    version을 MCP Toolbox 버전 번호(예: v0.13.0)로 바꿉니다.

    darwin/amd64

    curl -O https://storage.googleapis.com/genai-toolbox/version/darwin/amd64/toolbox
    

    version을 MCP Toolbox 버전 번호(예: v0.13.0)로 바꿉니다.

    windows/amd64

    curl -O https://storage.googleapis.com/genai-toolbox/version/windows/amd64/toolbox
    

    version을 MCP Toolbox 버전 번호(예: v0.13.0)로 바꿉니다.

  2. 바이너리를 실행 가능하게 만듭니다.

    chmod +x toolbox
    
  3. 설치를 확인합니다.

    ./toolbox --version
    

MCP 클라이언트 구성

Claude code

  1. Claude Code를 설치합니다.
  2. 프로젝트 루트에 .mcp.json 파일이 없으면 만듭니다.
  3. 다음 구성을 추가하고 환경 변수를 값으로 바꾼 후 저장합니다.

 {
    "mcpServers": {
      "firestore": {
        "command": "./PATH/TO/toolbox",
        "args": ["--prebuilt","firestore","--stdio"],
        "env": {
          "FIRESTORE_PROJECT": "PROJECT_ID",
          "FIRESTORE_DATABASE": "DATABASE_NAME"
        }
      }
    }
  }
  1. 새 구성을 적용하려면 Claude 코드를 다시 시작하세요.

Claude Desktop

  1. Claude Desktop을 열고 설정으로 이동합니다.
  2. 개발자 탭에서 구성 수정을 클릭하여 구성 파일을 엽니다.
  3. 다음 구성을 추가하고 환경 변수를 값으로 바꾼 후 저장합니다.

 {
    "mcpServers": {
      "firestore": {
        "command": "./PATH/TO/toolbox",
        "args": ["--prebuilt","firestore","--stdio"],
        "env": {
          "FIRESTORE_PROJECT": "PROJECT_ID",
          "FIRESTORE_DATABASE": "DATABASE_NAME"
        }
      }
    }
  }
  1. Claude Desktop을 다시 시작합니다.
  2. 새 채팅 화면에 사용 가능한 새 MCP 서버와 함께 망치 (MCP) 아이콘이 표시됩니다.

Cline

  1. VS Code에서 Cline 확장 프로그램을 열고 MCP Servers 아이콘을 탭합니다.
  2. MCP 서버 구성을 클릭하여 구성 파일을 엽니다.
  3. 다음 구성을 추가하고 환경 변수를 값으로 바꾼 후 저장합니다.

 {
    "mcpServers": {
      "firestore": {
        "command": "./PATH/TO/toolbox",
        "args": ["--prebuilt","firestore","--stdio"],
        "env": {
          "FIRESTORE_PROJECT": "PROJECT_ID",
          "FIRESTORE_DATABASE": "DATABASE_NAME"
        }
      }
    }
  }

서버가 성공적으로 연결되면 녹색 활성 상태가 표시됩니다.

커서

  1. 프로젝트 루트에 .cursor 디렉터리가 없으면 만듭니다.
  2. .cursor/mcp.json 파일이 없으면 만들고 엽니다.
  3. 다음 구성을 추가하고 환경 변수를 값으로 바꾼 후 저장합니다.
 {
    "mcpServers": {
      "firestore": {
        "command": "./PATH/TO/toolbox",
        "args": ["--prebuilt","firestore","--stdio"],
        "env": {
          "FIRESTORE_PROJECT": "PROJECT_ID",
          "FIRESTORE_DATABASE": "DATABASE_NAME"
        }
      }
    }
  }
  1. 커서를 열고 설정 > 커서 설정 > MCP로 이동합니다. 서버가 연결되면 녹색 활성 상태가 표시됩니다.

Visual Studio Code(Copilot)

  1. VS Code를 열고 프로젝트 루트에 .vscode 디렉터리가 없으면 만듭니다.
  2. .vscode/mcp.json 파일이 없으면 만들고 엽니다.
  3. 다음 구성을 추가하고 환경 변수를 값으로 바꾼 후 저장합니다.
 {
    "servers":{
      "firestore": {
        "command": "./PATH/TO/toolbox",
        "args": ["--prebuilt","firestore","--stdio"],
        "env": {
          "FIRESTORE_PROJECT": "PROJECT_ID",
          "FIRESTORE_DATABASE": "DATABASE_NAME"
        }
      }
    }
  }

Windsurf

  1. Windsurf를 열고 Cascade 어시스턴트로 이동합니다.
  2. MCP 아이콘을 클릭한 다음 구성을 클릭하여 구성 파일을 엽니다.
  3. 다음 구성을 추가하고 환경 변수를 값으로 바꾼 후 저장합니다.
 {
    "mcpServers": {
      "firestore": {
        "command": "./PATH/TO/toolbox",
        "args": ["--prebuilt","firestore","--stdio"],
        "env": {
          "FIRESTORE_PROJECT": "PROJECT_ID",
          "FIRESTORE_DATABASE": "DATABASE_NAME"
        }
      }
    }
  }

Gemini CLI

  1. Gemini CLI를 설치합니다.
  2. 작업 디렉터리에 .gemini 폴더를 만듭니다. 이 폴더 내에 settings.json 파일을 만듭니다.
  3. 다음 구성을 추가하고 환경 변수를 값으로 바꾼 후 저장합니다.
 {
    "mcpServers": {
      "firestore": {
        "command": "./PATH/TO/toolbox",
        "args": ["--prebuilt","firestore","--stdio"],
        "env": {
          "FIRESTORE_PROJECT": "PROJECT_ID",
          "FIRESTORE_DATABASE": "DATABASE_NAME"
        }
      }
    }
  }

Gemini Code Assist

  1. Visual Studio Code에 Gemini Code Assist 확장 프로그램을 설치합니다.
  2. Gemini Code Assist 채팅에서 에이전트 모드를 사용 설정합니다.
  3. 작업 디렉터리에 .gemini 폴더를 만듭니다. 이 폴더 내에 settings.json 파일을 만듭니다.
  4. 다음 구성을 추가하고 환경 변수를 값으로 바꾼 후 저장합니다.
 {
    "mcpServers": {
      "firestore": {
        "command": "./PATH/TO/toolbox",
        "args": ["--prebuilt","firestore","--stdio"],
        "env": {
          "FIRESTORE_PROJECT": "PROJECT_ID",
          "FIRESTORE_DATABASE": "DATABASE_NAME"
        }
      }
    }
  }

도구 사용하기

이제 AI 도구가 MCP를 통해 Firestore에 연결됩니다. AI 어시스턴트에게 컬렉션을 나열하거나, 문서를 가져오거나, 컬렉션을 쿼리하거나, 보안 규칙을 관리해 달라고 요청해 보세요.

LLM에서 사용할 수 있는 도구는 다음과 같습니다.

  • firestore-add-documents: Firestore 컬렉션 경로에 문서를 추가합니다.
  • firestore-get-documents: 경로를 기준으로 Firestore에서 여러 문서를 가져옵니다.
  • firestore-list-collections: 지정된 상위 경로의 Firestore 컬렉션을 나열합니다.
  • firestore-delete-documents: Firestore에서 여러 문서를 삭제합니다.
  • firestore-query-collection: 필터링, 정렬, 제한 옵션을 사용하여 컬렉션에서 문서를 쿼리합니다.
  • firestore-get-rules: 현재 프로젝트의 활성 Firestore 보안 규칙을 검색합니다.
  • firestore-update-document: 경로를 사용하여 Firestore의 기존 문서를 업데이트합니다.
  • firestore-validate-rules: Firestore 보안 규칙 구문 및 오류를 검증합니다.