google-workspace-mcp
google-workspace-mcp
Google Workspace용 독립형 원격 MCP 서버 5개(Gmail, Google Calendar, Google Drive, Google Sheets, Google Docs)를 구축하기 위한 프로젝트입니다.
상태: pre-alpha. MCP 서버는 아직 작동하지 않습니다. 현재 저장소에는 패키지 스캐폴드, 5개의 플레이스홀더 진입점, 다운스트림 OAuth 상태 코어, 그리고 서비스별 불변 구성이 포함되어 있습니다.
현재 상태
구현된 항목:
5개의 콘솔 진입점을 가진 Python 패키지;
SQLite 기반 다운스트림 OAuth 상태;
OAuth 클라이언트 등록 및 PKCE;
표준
resource에 대한 토큰 바인딩;리프레시 토큰 순환, 재생 탐지, 패밀리 폐기;
서비스 및 리소스에 대한 불변 상태 소유권 메타데이터;
엄격한 포트 및 토큰 TTL 검증이 포함된 서비스별 불변 구성.
5개의 콘솔 진입점은 모두 플레이스홀더이며 서비스가 구축되지 않았다는 메시지를 출력하고 종료됩니다. HTTP/MCP 전송, Google API 통합, 서비스 도구, 배포 구성은 아직 구현되지 않았습니다.
Related MCP server: google-workspace-mcp-advanced
계획된 서비스
아래 표는 목표 범위를 설명합니다. 이러한 기능은 아직 사용할 수 없습니다.
서비스 | 목표 기능 |
| 메시지 및 스레드 검색·읽기, 라벨, 첨부 파일, 초안, 보내기, 답장 |
| 캘린더, 이벤트 검색 및 조회, 가용성, 이벤트 생성 및 업데이트 |
| 파일 검색, 메타데이터, 폴더 내용, 다운로드, 내보내기 |
| 스프레드시트 메타데이터, 범위 읽기·쓰기, 일괄 작업 |
| 문서 생성, 구조 및 텍스트 조회, 삽입, 바꾸기 |
목표 아키텍처에서 각 서비스는 자체 MCP 엔드포인트, 도구 레지스트리, Google OAuth 범위, Google 자격 증명, 다운스트림 OAuth 상태를 가진 별도의 프로세스로 실행됩니다.
목표 인증 아키텍처
설계는 두 개의 독립적인 계층을 사용합니다:
클라이언트-서비스. MCP 클라이언트는 PKCE가 포함된 OAuth 2.1을 사용합니다. 각 액세스 토큰은 하나의 resource에 바인딩되며, 리프레시 토큰은 재생 탐지와 함께 순환됩니다.
서비스-Google. 각 서비스는 별도의 Google 자격 증명과 최소 필수 OAuth 범위를 사용합니다. Google 리프레시 토큰은 MCP 클라이언트에 반환되지 않습니다.
현재는 첫 번째 계층의 상태 코어만 존재합니다. HTTP 엔드포인트와 두 번째 인증 계층은 구현되지 않았습니다.
기술 스택
개발 사전 요구 사항
Git
Python 3.14
uv
Google API 통합이 구현된 후에는 Google Cloud 프로젝트와 OAuth 클라이언트가 필요합니다. 현재 버전에서는 사용되지 않습니다.
개발 환경 설정
git clone https://github.com/hawkxdev/google-workspace-mcp.git
cd google-workspace-mcp
uv sync --dev가상 환경을 활성화할 필요는 없습니다. uv run을 통해 명령을 실행하세요.
검사
uv run --no-sync pytest -q
uv run --no-sync ruff check .
uv run --no-sync ruff format --check .
uv run --no-sync mypy src설치된 종속성 버전을 확인할 때는 --no-sync 플래그가 필요합니다. 일반 uv run은 잠금 파일에서 환경을 다시 동기화할 수 있습니다.
구조
경로 | 용도 |
| 다운스트림 OAuth 상태 수명 주기 |
| 서비스별 불변 환경 구성 |
| 5개의 플레이스홀더 진입점 |
| OAuth 코어 및 패키지 진입점 회귀 테스트 |
| 패키지 메타데이터, 종속성, 도구 구성 |
| 수정된 코드의 출처 정보 |
기여
이 프로젝트는 초기 개발 단계에 있습니다. 중요한 변경을 하기 전에 제안된 동작을 설명하는 이슈를 먼저 열어 주세요. 변경 사항은 5개 서비스를 하나의 프로세스로 병합하거나, 서비스 간 자격 증명을 공유하거나, OAuth 우회를 도입해서는 안 됩니다.
출처
이 프로젝트는 MIT 라이선스에 따라 jimprosser/obsidian-web-mcp의 OAuth 2.1 코어를 수정했습니다. 자세한 내용은 NOTICE를 참조하세요.
다운스트림 OAuth 2.1 코어는 리비전 7e6a52d791a50e3bd533df1060217973ab5be1c8을 기반으로 합니다. 클라이언트 및 토큰 수명 주기, 리프레시 토큰 순환, 재생 탐지, resource 표준화에 대한 추가 수정 사항이 포함되어 있습니다.
원본 프로젝트의 Obsidian 저장소 및 Git 동기화 기능은 복사되지 않았습니다.
이 프로젝트는 mcp>=2,<3을 사용합니다. MCP 2.0에서 제거된 mcp.server.fastmcp 패키지는 필요하지 않습니다. 향후 구성은 mcp.server.mcpserver를 사용합니다.
작성자
라이선스
MIT, LICENSE 참조.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Permissioned access to Gmail, Drive and Calendar via the user's own Google account
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for Google Workspace APIs - Docs, Sheets, Drive, Gmail, and Calendar. Enables reading, creating, and editing Google Docs and Sheets, managing comments, reading emails, and viewing calendar events.3414 npm17MIT
- AlicenseBqualityDmaintenanceProduction-ready MCP server for Google Workspace providing broad coverage across Gmail, Drive, Calendar, Docs, Sheets, and more, with safe-by-default write operations and markdown-to-Google-Docs support.100MIT
- AlicenseCqualityAmaintenanceA multi-account Google Workspace MCP server that drives Gmail, Google Calendar, and Google Drive across any number of Google accounts in parallel from one server.422MIT
- FlicenseBqualityDmaintenanceMCP server providing full access to Google Workspace services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts) using OAuth authentication.1001-