Gemini API服务器

为Cursor和Claude提供的Google Gemini API服务器,支持文本生成、图像分析、视频分析等多种功能。

  • by techkwon
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 techkwon/mcp-gemini

使用说明

MCP Gemini API서버

用于Cursor和Claude的Google Gemini API服务器。Gemini提供文本生成、图像分析、视频分析等多种功能。

主要功能

  • 生成文本(使用gemini-2.0-flash模型)
  • 创建和分析图像
  • YouTube视频分析
  • Web搜索

开始

基本要求

  • Node.js 18.0.0或更高版本
  • npm或yarn
  • 谷歌API키 (双子星API접근용)

设置

# 저장소 클론
git clone https://github.com/techkwon/mcp-gemini.git
cd mcp-gemini

# 의존성 설치
npm install

首选参数

  1. config.ts 在文件中设置Google API密钥:
export default {
  googleApiKey: "your_api_key_here",
  // 기타 설정...
};

构建和运行

# TypeScript 빌드
npm run build

# 서버 시작 (PM2 사용)
npm start

# 개발 모드로 실행
npm run dev

管理PM2服务器

服务器通过PM2自动管理。可以使用以下命令管理服务器:

# 서버 상태 확인
npm run status

# 서버 로그 확인
npm run logs

# 서버 중지
npm run stop

# 서버 재시작
npm run restart

# 시스템 재시작 시 자동 실행 설정
pm2 startup
pm2 save

光标/克劳德연동

MCP设置

~/.cursor/mcp.json 在文件中添加以下设置:

{
  "github.com/techkwon/mcp-gemini": {
    "command": "npm",
    "args": ["start"],
    "cwd": "<프로젝트_경로>",
    "env": {
      "NODE_ENV": "production"
    },
    "disabled": false,
    "autoStart": true,
    "autoApprove": [
      "gem-generate",
      "gem-generate-image",
      "gem-analyze-video",
      "gem-search"
    ]
  }
}

API端点

  • /gem-generate:生成文本
  • /gem-generate-image:创建/分析图像
  • /gem-analyze-video:YouTube视频分析
  • /gem-search:Web搜索

主要更新

最新版本(2024-03)

  • 通过PM2实现服务器自动化
  • gemini-2.0-flash统一模型
  • 添加自动重新启动和错误恢复功能
  • 改善首选参数

早期版本

  • 添加YouTube视频分析功能
  • 图像生成/分析增强功能
  • 添加Web搜索功能

故障排除

常见问题

  1. 如果服务器无法启动

    # PM2 로그 확인
    npm run logs
    
    # PM2 프로세스 상태 확인
    npm run status
    
  2. API密钥错误

    • config.ts 验证文件中的API密钥设置是否正确
    • 验证Gemini API配额和权限
  3. 内存使用问题

    • ecosystem.config.js检查中的内存限制设置
    • 通过PM2监控跟踪内存使用情况

贡献

  1. 分叉项目
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支机构(git push origin feature/AmazingFeature)
  5. 打开拉取请求

许可证

此项目符合MIT许可证。有关详细信息,请访问 许可证 请参考文件。

联系方式

项目经理: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(Web服务器框架)
  • googleapis:^148.0.0(Google API지원)
  • 打字稿:^5.0.0
  • zod:^3.24.2(数据验证)
  • pino:^8.21.0(日志记录)

Claude桌面应用程序集成指南

设置文件位置

Claude桌面应用程序的配置文件位于以下路径:

  • 窗户: %APPDATA%/Claude/config.json
  • macOS: ~/Library/Application Support/Claude/config.json

JSON设置示例

{
  "apis": [
    {
      "name": "MCP Gemini",
      "url": "http://localhost:8000",
      "methods": [
        {
          "name": "텍스트 생성",
          "method": "gem-generate",
          "template": {
            "jsonrpc": "2.0",
            "id": "{uuid}",
            "method": "gem-generate",
            "params": {
              "prompt": "{input}"
            }
          }
        },
        {
          "name": "이미지 생성",
          "method": "gem-generate-image",
          "template": {
            "jsonrpc": "2.0",
            "id": "{uuid}",
            "method": "gem-generate-image",
            "params": {
              "prompt": "{input}"
            }
          }
        },
        {
          "name": "비디오 분석",
          "method": "gem-analyze-video",
          "template": {
            "jsonrpc": "2.0",
            "id": "{uuid}",
            "method": "gem-analyze-video",
            "params": {
              "videoUrl": "{input}",
              "query": "이 영상의 주요 내용을 요약해주세요"
            }
          }
        },
        {
          "name": "웹 검색",
          "method": "gem-search",
          "template": {
            "jsonrpc": "2.0",
            "id": "{uuid}",
            "method": "gem-search",
            "params": {
              "query": "{input}"
            }
          }
        }
      ]
    }
  ]
}

变量说明

  • {uuid}:自动生成的唯一请求ID
  • {input}:在Claude聊天窗口中输入的文本

使用方法

  1. 打开Claude桌面应用程序的配置文件。
  2. 将上面的JSON设置添加到现有设置中。
  3. 重新启动Claude桌面应用程序。
  4. 在聊天窗口中,您可以:
@MCP Gemini.텍스트 생성 한국의 전통 음식에 대해 설명해주세요
@MCP Gemini.이미지 생성 한옥마을의 아름다운 풍경
@MCP Gemini.비디오 분석 https://youtube.com/watch?v=VIDEO_ID
@MCP Gemini.웹 검색 최신 인공지능 기술 동향

响应格式

所有API响应均采用以下格式:

{
  "jsonrpc": "2.0",
  "id": "요청에서 보낸 ID",
  "result": {
    "content": "응답 내용"
  }
}

错误响应

如果出现错误,请以以下格式回复:

{
  "jsonrpc": "2.0",
  "id": "요청에서 보낸 ID",
  "error": {
    "code": 오류코드,
    "message": "오류 메시지",
    "data": {
      "details": "상세 오류 정보"
    }
  }
}

错误处理

服务器在以下情况下返回正确的错误响应:

  • 400:请求格式不正确
  • 401:身份验证错误(与API密钥相关)
  • 500:服务器内部错误

安全注意事项

  • 请务必将API密钥作为环境变量进行管理
  • 在生产环境中添加适当的安全设置
  • 请注意不要将敏感信息记录在日志中

故障排除

端口冲突

如果端口已使用8000:

# 기존 Node.js 프로세스 종료
pkill -f "node"

服务器可靠性

如果服务器意外终止:

  • 考虑使用PM2或其他流程管理器
  • 请查看日志,了解关闭原因

开发指南

记录

  • 使用Pino记录器实现了结构化日志记录
  • 在开发环境中,通过pino-pretty输出可读日志

类型稳定性

  • 使用TypeScript和Zod确保运行时类型的稳定性
  • 实现了API请求/响应的模式验证。

CLINE MCP市场注册指南

事前准备事项

  1. GitHub存储库必须公开
  2. README.md文件必须包含明确的安装和设置方法
  3. (可选) llms-install.md 您可以通过文件为AI代理提供其他安装指南

注册过程

  1. CLINE MCP市场存储库在中创建新问题

  2. 在问题中包含以下信息:

    • GitHub存储库URL: https://github.com/techkwon/mcp-gemini
    • 徽标图像: 400×400大小的PNG文件
    • 其他原因: 此MCP服务器可为CLINE用户提供的价值 示例:
    ## MCP Gemini 서버 등록 요청
    
    ### GitHub 저장소
    https://github.com/techkwon/mcp-gemini
    
    ### 주요 기능
    - Gemini API를 활용한 텍스트 생성
    - 이미지 생성 및 편집 (gemini-2.0-flash-exp 모델 사용)
    - YouTube 비디오 콘텐츠 분석
    - 웹 검색 기능
    
    ### 사용자 이점
    - 최신 Gemini 모델을 MCP 프로토콜을 통해 쉽게 활용
    - 다양한 미디어 형식(텍스트, 이미지, 비디오) 처리 가능
    - 명확한 JSON-RPC 인터페이스로 쉬운 통합
    - 상세한 문서화와 예제 제공
    
  3. 测试CLINE是否可以通过README.md成功安装服务器

批准程序

  1. CLINE团队审查提交的MCP服务器
  2. 进行安全性和可靠性验证
  3. 获得批准后,将在市场上注册,所有CLINE用户都可以访问。

优化安装指南

llms-install.md 您可以创建文件,为AI代理提供其他安装指南:

# MCP Gemini 서버 설치 가이드 (AI 에이전트용)

## 환경 요구사항
- Node.js 18.0.0 이상
- npm 또는 yarn
- Google AI Studio API 키

## 설치 단계
1. 저장소 클론
2. 의존성 설치: `npm install`
3. 환경 변수 설정: GOOGLE_API_KEY 추가
4. 빌드: `npm run build`
5. 서버 실행: `npm run start`

## 설정 검증
- 8000번 포트 사용 가능 여부 확인
- API 키 유효성 검증
- CORS 설정 확인

## 문제 해결
- 포트 충돌 시 해결 방법
- API 키 오류 해결 방법
- 일반적인 설치 문제 해결 가이드