MCP Gemini API 서버
Cursor와 Claude를 위한 Google Gemini API 서버입니다. 텍스트 생성, 이미지 분석, 비디오 분석 등 Gemini의 다양한 기능을 제공합니다.
주요 기능
- 텍스트 생성 (gemini-2.0-flash 모델 사용)
- 이미지 생성 및 분석
- YouTube 비디오 분석
- 웹 검색
시작하기
필수 요구사항
- Node.js 18.0.0 이상
- npm 또는 yarn
- Google API 키 (Gemini API 접근용)
설치
환경 설정
config.ts
파일에 Google API 키 설정:
빌드 및 실행
PM2 서버 관리
서버는 PM2를 통해 자동으로 관리됩니다. 다음 명령어로 서버를 관리할 수 있습니다:
Cursor/Claude 연동
MCP 설정
~/.cursor/mcp.json
파일에 다음 설정을 추가하세요:
API 엔드포인트
/gem-generate
: 텍스트 생성/gem-generate-image
: 이미지 생성/분석/gem-analyze-video
: YouTube 비디오 분석/gem-search
: 웹 검색
주요 업데이트
최신 버전 (2024-03)
- PM2를 통한 서버 자동화 구현
- gemini-2.0-flash 모델로 통일
- 자동 재시작 및 오류 복구 기능 추가
- 환경 설정 개선
이전 버전
- YouTube 비디오 분석 기능 추가
- 이미지 생성/분석 기능 개선
- 웹 검색 기능 추가
문제 해결
일반적인 문제
- 서버가 시작되지 않는 경우
- API 키 오류
config.ts
파일에서 API 키가 올바르게 설정되었는지 확인- Gemini API 할당량 및 권한 확인
- 메모리 사용량 문제
ecosystem.config.js
에서 메모리 제한 설정 확인- PM2 모니터링으로 메모리 사용량 추적
기여하기
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
라이선스
이 프로젝트는 MIT 라이선스를 따릅니다. 자세한 내용은 LICENSE 파일을 참조하세요.
연락처
프로젝트 관리자: techkwon 이메일: techkwon@example.com 프로젝트 링크: https://github.com/techkwon/mcp-gemini
주요 의존성
- @google/generative-ai: ^0.1.3 (Gemini API SDK)
- @fastify/cors: ^8.5.0 (CORS 지원)
- fastify: ^4.29.0 (웹 서버 프레임워크)
- googleapis: ^148.0.0 (Google API 지원)
- typescript: ^5.0.0
- zod: ^3.24.2 (데이터 검증)
- pino: ^8.21.0 (로깅)
Claude 데스크톱 앱 통합 가이드
설정 파일 위치
Claude 데스크톱 앱의 설정 파일은 다음 경로에 위치합니다:
- Windows:
%APPDATA%/Claude/config.json
- macOS:
~/Library/Application Support/Claude/config.json
JSON 설정 예시
변수 설명
{uuid}
: 자동으로 생성되는 고유 요청 ID{input}
: Claude 채팅창에 입력한 텍스트
사용 방법
- Claude 데스크톱 앱의 설정 파일을 엽니다.
- 위의 JSON 설정을 기존 설정에 추가합니다.
- Claude 데스크톱 앱을 재시작합니다.
- 채팅창에서 다음과 같이 사용할 수 있습니다:
응답 형식
모든 API 응답은 다음 형식을 따릅니다:
오류 응답
오류가 발생한 경우 다음 형식으로 응답합니다:
오류 처리
서버는 다음과 같은 상황에서 적절한 오류 응답을 반환합니다:
- 400: 잘못된 요청 형식
- 401: 인증 오류 (API 키 관련)
- 500: 서버 내부 오류
보안 고려사항
- API 키는 반드시 환경 변수로 관리하세요
- 프로덕션 환경에서는 적절한 보안 설정을 추가하세요
- 민감한 정보는 로그에 기록하지 않도록 주의하세요
문제 해결
포트 충돌
이미 8000번 포트가 사용 중인 경우:
서버 안정성
서버가 예기치 않게 종료되는 경우:
- PM2나 다른 프로세스 관리자 사용을 고려하세요
- 로그를 확인하여 종료 원인을 파악하세요
개발 가이드
로깅
- Pino 로거를 사용하여 구조화된 로깅을 구현했습니다
- 개발 환경에서는 pino-pretty를 통해 가독성 있는 로그가 출력됩니다
타입 안정성
- TypeScript와 Zod를 사용하여 런타임 타입 안정성을 보장합니다
- API 요청/응답에 대한 스키마 검증이 구현되어 있습니다
CLINE MCP 마켓플레이스 등록 가이드
사전 준비사항
- GitHub 저장소가 공개되어 있어야 합니다
- README.md 파일에 명확한 설치 및 설정 방법이 포함되어 있어야 합니다
- (선택사항)
llms-install.md
파일을 통해 AI 에이전트를 위한 추가 설치 가이드를 제공할 수 있습니다
등록 절차
- CLINE MCP 마켓플레이스 저장소에 새로운 이슈를 생성합니다
- 이슈에 다음 정보를 포함합니다:
- GitHub 저장소 URL: https://github.com/techkwon/mcp-gemini
- 로고 이미지: 400×400 크기의 PNG 파일
- 추가 이유: 이 MCP 서버가 CLINE 사용자들에게 제공할 수 있는 가치 예시:
- CLINE이 README.md만으로 서버를 성공적으로 설치할 수 있는지 테스트합니다
승인 절차
- CLINE 팀이 제출된 MCP 서버를 검토합니다
- 보안 및 안정성 검증을 진행합니다
- 승인되면 마켓플레이스에 등록되어 모든 CLINE 사용자가 접근할 수 있게 됩니다
설치 가이드 최적화
llms-install.md
파일을 생성하여 AI 에이전트를 위한 추가 설치 가이드를 제공할 수 있습니다:
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A server that provides access to Google Gemini AI capabilities including text generation, image analysis, YouTube video analysis, and web search functionality through the MCP protocol.
Related MCP Servers
- -securityAlicense-qualityModel Context Protocol (MCP) server implementation that enables Claude Desktop to interact with Google's Gemini AI models.Last updated -53TypeScriptMIT License
- -securityAlicense-qualityA server that enables Claude Desktop to generate images using Google's Gemini AI models through the Model Context Protocol (MCP).Last updated -1JavaScriptMIT License
- -security-license-qualityAn MCP server implementation that allows using Google's Gemini AI models (specifically Gemini 1.5 Pro) through Claude or other MCP clients via the Model Context Protocol.Last updated -1JavaScript
- AsecurityAlicenseAqualityA dedicated server that wraps Google's Gemini AI models in a Model Context Protocol (MCP) interface, allowing other LLMs and MCP-compatible systems to access Gemini's capabilities like content generation, function calling, chat, and file handling through standardized tools.Last updated -1620TypeScriptMIT License