Skip to main content
Glama
chy168

Google Chat MCP Server

소개

이 프로젝트는 FastMCP를 사용하여 Python으로 작성된 MCP(모델 제어 프로토콜) 서버용 Google Chat 통합 기능을 제공합니다. MCP 도구를 통해 Google Chat 공간 및 메시지에 접근하고 상호작용할 수 있습니다.

구조

이 프로젝트는 두 가지 주요 구성 요소로 구성됩니다.

  1. Google Chat 도구가 포함된 MCP 서버 : 모델 제어 프로토콜을 통해 Google Chat과 상호 작용하기 위한 도구를 제공합니다.

    • FastMCP가 작성함

    • server.py : Google Chat 도구를 사용한 주요 MCP 서버 구현

    • google_chat.py : Google Chat API 통합 및 인증 처리

  2. 인증 서버 : Google 계정 인증을 위한 독립 실행형 구성 요소

    • FastAPI에서 작성됨

    • Google과 함께 OAuth2 흐름을 처리합니다.

    • 액세스 토큰을 저장하고 관리합니다.

    • 독립적으로 또는 MCP 서버의 일부로 실행 가능

    • server_auth.py : 인증 서버 구현

인증 흐름을 통해 Google API 토큰을 획득하고 갱신할 수 있으며, 이 토큰은 MCP 도구에서 Google Chat 데이터(스페이스 및 메시지)에 액세스하는 데 사용됩니다.

Related MCP server: Google OAuth2 API Server

특징

  • Google Chat API를 사용한 OAuth2 인증

  • 사용 가능한 Google Chat 공간 나열

  • 날짜 필터링을 사용하여 특정 공간에서 메시지 검색

  • 간편한 설정을 위한 로컬 인증 서버

요구 사항

  • 파이썬 3.8 이상

  • Chat API가 활성화된 Google Cloud 프로젝트

  • Google Cloud Console의 OAuth2 자격 증명

어떻게 사용하나요?

Google Oauth 로그인 준비

  1. 이 프로젝트를 복제하세요

    지엑스피1

  2. Google Cloud 프로젝트(GCP) 준비

  3. Google Cloud 콘솔( https://console.cloud.google.com/auth/overview?project=\ <YOUR_PROJECT_NAME>)

  4. Google Auth Platform > 클라이언트 > (+) 클라이언트 생성 > 웹 애플리케이션 참조: https://developers.google.com/identity/protocols/oauth2/?hl=en 승인된 JavaScript 원본 추가: http://localhost:8000 승인된 리디렉션 URI: http://localhost:8000/auth/callback

  5. OAuth 2.0 클라이언트를 생성한 후 클라이언트 시크릿을 .json 파일로 다운로드하세요. 프로젝트 최상위에 credentials.json 파일로 저장하세요.

인증 서버를 실행하고 Google 액세스 토큰을 받으세요(Google에만 로그인하고 MCP 서버에는 아직 로그인하지 마세요)

python server.py -local-auth --port 8000
  • http://localhost:8000/auth 에서 브라우저를 엽니다.

  • 로그인하세요!

  • 로그인 후 액세스 토큰은 token.json 으로 저장됩니다.

MCP 구성(mcp.json)

{ "mcpServers": { "google_chat": { "command": "uv", "args": [ "--directory", "<YOUR_REPO_PATH>/google-chat-mcp-server", "run", "server.py", "--token-path", "<YOUR_REPO_PATH>/google-chat-mcp-server/token.json" ] } }

도구

MCP 서버는 다음과 같은 도구를 제공합니다.

Google 채팅 도구

  • get_chat_spaces() - 봇이 액세스할 수 있는 모든 Google Chat 공간을 나열합니다.

  • get_space_messages(space_name: str, start_date: str, end_date: str = None) - 시간 필터링을 선택적으로 적용하여 특정 Google Chat 공간의 메시지를 나열합니다.

개발 및 디버그

fastmcp dev server.py --with-editable .
-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chy168/google-chat-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server