【Gemini MCP Tool】:让AI助手无缝对接Google Gemini的强大工具-Windows支持版

Gemini MCP Tool:让AI助手无缝对接Google Gemini的强大工具

🚀 项目简介

Gemini MCP Tool 是一个专为Windows环境优化的模型上下文协议(MCP)服务器,它让AI助手能够无缝对接Google的Gemini CLI。这个项目解决了原版工具在Windows环境下的兼容性问题,提供了完整的PowerShell支持和中文字符处理能力。

🔗 项目地址:

在这里插入图片描述

✨ 核心特性

🪟 Windows完美兼容

  • PowerShell全面支持:解决了参数传递和字符编码问题
  • 跨终端兼容:支持PowerShell、CMD、VS Code终端、Trae AI等
  • 路径自动处理:智能检测Node.js安装路径
  • 中文字符支持:完美处理Unicode文本

📊 强大的AI能力

  • 大上下文窗口:利用Gemini的海量token窗口分析整个代码库
  • 文件分析功能:使用@filename语法分析文件
  • 沙盒模式:提供安全的代码执行环境
  • 智能分块:自动处理大型响应和编辑内容

🔗 无缝集成

  • MCP协议支持:与Trae AI、Claude Desktop等AI助手完美集成
  • NPX即用:无需全局安装,一行命令即可使用
  • 环境变量配置:灵活的API密钥配置方式
    在这里插入图片描述

🚀 立即开始使用

# MCP SETTING
{
  "mcpServers": {
    "gemini-cli": {
      "command": "npx",
      "args": ["-y", "gemini-mcp-tool-windows-fixed@1.0.21"],
      "env": {
        "GEMINI_API_KEY": "YOUR_ACTUAL_API_KEY_HERE"
      }
    }
  }
}

🏗️ 技术架构

系统架构图

Google服务
Windows环境
Google Gemini API
PowerShell执行器
Gemini CLI
AI助手客户端
MCP协议层
Gemini MCP Tool服务器
工具注册中心
命令执行器
响应处理器
ask-gemini工具
brainstorm工具
fetch-chunk工具
timeout-test工具
分块处理
格式转换
错误处理

核心组件

├── src/
│   ├── index.ts           # MCP服务器主入口
│   ├── tools/             # 工具定义和实现
│   │   ├── ask-gemini.tool.ts    # 核心Gemini交互工具
│   │   ├── brainstorm.tool.ts    # 头脑风暴工具
│   │   ├── fetch-chunk.tool.ts   # 分块获取工具
│   │   └── timeout-test.tool.ts  # 超时测试工具
│   └── utils/             # 工具函数
│       ├── geminiExecutor.ts     # Gemini命令执行器
│       ├── changeModeParser.ts   # 变更模式解析器
│       └── chunkCache.ts         # 分块缓存管理

关键技术实现

1. Windows兼容性修复
// PowerShell参数处理优化
const executeCommand = async (command: string, args: string[]) => {
  const escapedArgs = args.map(arg => 
    arg.includes(' ') ? `"${arg.replace(/"/g, '\"')}"` : arg
  );
  
  return spawn('powershell.exe', ['-Command', command, ...escapedArgs], {
    encoding: 'utf8',
    shell: true
  });
};
2. MCP协议集成
// 基于@modelcontextprotocol/sdk实现
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

const server = new Server({
  name: 'gemini-mcp-tool',
  version: '1.0.21'
}, {
  capabilities: {
    tools: {},
    prompts: {},
    resources: {}
  }
});
3. 智能响应处理
// 大型编辑响应的智能解析
class ResponseParser {
  parseChangeMode(response: string): EditBlock[] {
    const blocks = [];
    const lines = response.split('\n');
    
    for (let i = 0; i < lines.length; i++) {
      if (lines[i].startsWith('<<<<<<< SEARCH')) {
        const searchBlock = this.extractSearchBlock(lines, i);
        const replaceBlock = this.extractReplaceBlock(lines, i);
        blocks.push({ search: searchBlock, replace: replaceBlock });
      }
    }
    
    return blocks;
  }
}

🚀 快速开始

环境要求

  • Node.js (v16.0.0+)
  • Google Gemini CLI
  • Google AI Studio API密钥

一键安装

# 使用NPX(推荐)
npx gemini-mcp-tool@1.0.21

# 或全局安装
npm install -g gemini-mcp-tool@1.0.21

安装Gemini CLI

# 安装Google Gemini CLI
npm install -g @google/generative-ai-cli

# 验证安装
gemini --version

API密钥配置

  1. 访问 Google AI Studio
  2. 创建新的API密钥
  3. 配置环境变量:
# 临时配置(当前会话)
$env:GEMINI_API_KEY = "your-actual-api-key"

# 永久配置(用户级别)
[Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "your-actual-api-key", "User")

# 验证配置
echo $env:GEMINI_API_KEY

⚙️ MCP客户端配置

Trae AI配置

%APPDATA%\Trae\User\mcp.json 中添加:

{
  "mcpServers": {
    "gemini-cli": {
      "name": "gemini-cli",
      "description": "Windows-compatible Gemini MCP Tool",
      "baseUrl": "",
      "command": "npx",
      "args": [
        "-y",
        "gemini-mcp-tool@1.0.21"
      ],
      "env": {
        "GEMINI_API_KEY": "YOUR_ACTUAL_API_KEY_HERE"
      },
      "isActive": true,
      "providerUrl": "https://github.com/orzcls/gemini-mcp-tool"
    }
  }
}

Claude Desktop配置

%APPDATA%\Claude\claude_desktop_config.json 中添加:

{
  "mcpServers": {
    "gemini-cli": {
      "command": "npx",
      "args": ["-y", "gemini-mcp-tool@1.0.21"],
      "env": {
        "GEMINI_API_KEY": "YOUR_ACTUAL_API_KEY_HERE"
      }
    }
  }
}

Claude Code配置

# 一键配置Claude Code
claude mcp add gemini-cli -- npx -y gemini-mcp-tool@1.0.21

# 验证安装
# 在Claude Code中输入 /mcp 查看已激活的MCP服务

🎯 功能演示

文件分析

分析这个文件的代码结构和潜在问题 @src/index.ts

示例输出:

📁 文件分析结果:src/index.ts

🔍 代码结构:
- MCP服务器主入口文件
- 使用@modelcontextprotocol/sdk框架
- 实现了工具调用、提示管理等核心功能

⚠️ 潜在问题:
1. 错误处理可以更加细化
2. 建议添加更多的日志记录
3. 可以考虑添加性能监控

💡 优化建议:
- 添加请求超时处理
- 实现更好的错误恢复机制

代码生成

帮我生成一个React组件,包含用户登录表单,支持邮箱和密码登录

示例输出:

import React, { useState } from 'react';
import './LoginForm.css';

interface LoginFormProps {
  onLogin: (email: string, password: string) => void;
  loading?: boolean;
}

const LoginForm: React.FC<LoginFormProps> = ({ onLogin, loading = false }) => {
  const [email, setEmail] = useState('');
  const [password, setPassword] = useState('');
  const [errors, setErrors] = useState<{email?: string; password?: string}>({});

  const validateForm = () => {
    const newErrors: {email?: string; password?: string} = {};
    
    if (!email) {
      newErrors.email = '邮箱不能为空';
    } else if (!/\S+@\S+\.\S+/.test(email)) {
      newErrors.email = '邮箱格式不正确';
    }
    
    if (!password) {
      newErrors.password = '密码不能为空';
    } else if (password.length < 6) {
      newErrors.password = '密码至少6位';
    }
    
    setErrors(newErrors);
    return Object.keys(newErrors).length === 0;
  };

  const handleSubmit = (e: React.FormEvent) => {
    e.preventDefault();
    if (validateForm()) {
      onLogin(email, password);
    }
  };

  return (
    <form className="login-form" onSubmit={handleSubmit}>
      <h2>用户登录</h2>
      
      <div className="form-group">
        <label htmlFor="email">邮箱</label>
        <input
          type="email"
          id="email"
          value={email}
          onChange={(e) => setEmail(e.target.value)}
          className={errors.email ? 'error' : ''}
          placeholder="请输入邮箱"
        />
        {errors.email && <span className="error-message">{errors.email}</span>}
      </div>
      
      <div className="form-group">
        <label htmlFor="password">密码</label>
        <input
          type="password"
          id="password"
          value={password}
          onChange={(e) => setPassword(e.target.value)}
          className={errors.password ? 'error' : ''}
          placeholder="请输入密码"
        />
        {errors.password && <span className="error-message">{errors.password}</span>}
      </div>
      
      <button 
        type="submit" 
        className="login-button"
        disabled={loading}
      >
        {loading ? '登录中...' : '登录'}
      </button>
    </form>
  );
};

export default LoginForm;

沙盒模式

在沙盒环境中测试这段Python代码的性能:

def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

print(fibonacci(30))

头脑风暴

为我的电商网站设计一个推荐系统的架构方案

📈 版本更新历程

v1.0.21 (最新版本) - 2024年1月

  • 🔧 修复跨终端兼容性问题 - 解决Node.js路径未找到的问题
  • 📦 修复fetch-chunk格式错误 - 修复MCP协议格式不匹配
  • 🛡️ 增强PATH环境变量处理 - 自动添加常见Node.js安装路径
  • 全终端兼容支持 - 支持PowerShell、CMD、VS Code终端等
  • 🚀 改进错误处理机制 - 更好的错误消息和调试输出

v1.1.3 - 2023年12月

  • 🆕 新增changeMode参数 - 支持大型编辑响应的智能解析
  • 📊 结构化响应格式 - 改进响应数据结构
  • 🔄 分块测试功能 - 支持大型内容的分块处理
  • 令牌限制处理优化 - 智能处理API令牌限制

v1.1.2 - 2023年11月

  • 🔄 Gemini-2.5-pro配额超出自动回退 - 自动切换到Gemini-2.5-flash
  • 🚀 性能优化 - 提升响应速度和稳定性
  • 🛡️ 增强错误恢复 - 更好的错误处理和恢复机制

v1.1.1 - 2023年10月

  • 🎉 公共发布 - 首次公开发布版本
  • 🔗 Gemini CLI集成 - 完整的Gemini CLI支持
  • 📁 文件分析支持 - 支持@filename语法
  • 🔒 沙盒模式支持 - 安全的代码执行环境

🎯 应用场景

开发者工具

  • 代码审查:分析整个项目的代码质量和架构
  • 架构设计:获得系统架构建议和最佳实践
  • 调试助手:快速定位和解决复杂问题
  • 文档生成:自动生成API文档和技术文档
  • 重构建议:获得代码重构和优化建议

内容创作

  • 技术博客:生成高质量的技术文章和教程
  • API文档:自动化API文档编写和维护
  • 用户手册:创建详细的产品使用指南
  • 技术规范:编写技术标准和开发规范

学习辅助

  • 代码解释:深入理解复杂代码逻辑和算法
  • 技术概念:学习新技术栈和开发框架
  • 最佳实践:获得行业最佳实践和设计模式
  • 问题解答:快速获得技术问题的解决方案

项目管理

  • 需求分析:协助进行项目需求分析和规划
  • 技术选型:获得技术栈选择建议
  • 风险评估:识别项目技术风险和解决方案
  • 进度跟踪:协助项目进度管理和里程碑规划

💪 技术优势

1. 原生Windows支持

与其他工具相比,本项目专门针对Windows环境进行了深度优化:

  • PowerShell完美集成:解决了参数传递、字符编码等关键问题
  • 路径处理优化:智能处理Windows路径格式和环境变量
  • 终端兼容性:支持所有主流Windows终端环境
  • Unicode支持:完美处理中文和其他Unicode字符

2. 企业级稳定性

  • 完善的错误处理机制:多层次错误捕获和恢复
  • 自动重试和回退策略:智能处理网络和API异常
  • 详细的日志记录:完整的操作日志和调试信息
  • 配额管理和限流保护:智能处理API配额限制

3. 开发者友好

  • 零配置快速启动:NPX一键运行,无需复杂配置
  • 详细的文档和示例:完整的使用指南和代码示例
  • 活跃的社区支持:及时的问题反馈和功能更新
  • 持续的版本更新:定期发布新功能和bug修复

4. 性能优势

  • 大上下文窗口利用:充分利用Gemini的海量token容量
  • 智能分块处理:高效处理大型文件和响应
  • 缓存机制:减少重复API调用,提升响应速度
  • 并发处理:支持多任务并行处理

📞 技术支持

🙏 致谢

感谢以下项目和贡献者:


关注我,获取更多AI开发工具和技术分享!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值