Gemini编码助手MCP服务器(TypeScript版本)
这是一个重写的参考版本 TypeScript 基于原作 mcp双子座助理 项目(Python)。
最初的项目是由 彼得·克鲁克。您可以通过以下方式与作者联系 领英.
引言
此MCP服务器允许Claude Code(和其他MCP客户端)就具有完整代码上下文和会话持久性的复杂编码问题咨询Gemini。
主要特点
- 会话管理:跨多个查询维护对话上下文。
- 文件附件:阅读并在对话中包含实际的代码文件。
- 混合上下文:结合文本
code_context带有文件附件。 - 后续问题:在不重新发送代码上下文的情况下提出后续问题。
- 自动处理:文件会自动处理和格式化。
- 会话过期:1小时后自动清理非活动会话。
- 最新型:使用Gemini 2.5 Pro(或最新配置版本)。
需求
- Node.js(v18或更高版本)
- pnpm或npm
- Gemini API密钥(请访问 谷歌人工智能工作室)
安装
选项1:通过npm安装(推荐)
您可以直接通过以下方式使用该软件包 npx 或全局安装。
npm install -g @hvantoan/gemini-mcp-assistant选项2:从源代码安装
- 克隆存储库:
git clone
cd mcp-gemini-assistant- 安装依赖项:
npm install
# or
pnpm install- 构建项目:
npm run build
# or
pnpm build- 配置环境变量:
创建一个 .env 文件,并添加您的API密钥:
GEMINI_API_KEY=your_api_key_here配置指南
快速设置(带MCP CLI的Claude桌面)
如果您安装了Claude Desktop MCP CLI工具,则可以使用单个命令添加服务器:
claude mcp add gemini-assistant -- npx -y @hvantoan/gemini-mcp-assistant然后在生成的配置文件中设置API密钥:
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
1.克劳德桌面/克劳德代码配置
要与Claude Desktop或Claude Code一起使用,请将配置添加到您的 claude_desktop_config.json 文件。
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
如果使用npx(推荐):
{
"mcpServers": {
"gemini-assistant": {
"command": "npx",
"args": [
"-y",
"@hvantoan/gemini-mcp-assistant"
],
"env": {
"GEMINI_API_KEY": "your_api_key_here",
"GEMINI_MODEL": "gemini-2.5-pro"
}
}
}
}如果从源代码安装:
{
"mcpServers": {
"gemini-assistant": {
"command": "node",
"args": [
"C:/path/to/mcp-gemini-assistant/build/index.js"
],
"env": {
"GEMINI_API_KEY": "your_api_key_here",
"GEMINI_MODEL": "gemini-2.5-pro"
}
}
}
}*注:更换 C:/path/to/mcp-gemini-assistant/ 带有项目目录的绝对路径。*
2.GitHub Copilot的配置
如果您在支持MCP的环境中使用GitHub Copilot(例如,通过扩展或实验功能),请按如下方式提供服务器信息:
使用npx:
- 命令:
npx - 参数:
-y @hvantoan/gemini-mcp-assistant - 环境变量:
GEMINI_API_KEY=[Your API Key]
使用来源:
- 命令:
node - 参数:
[Absolute path to build/index.js] - 环境变量:
GEMINI_API_KEY=[Your API Key]
用法
配置后,您可以在Claude或Copilot聊天窗口中使用以下工具:
consult_gemini
开始新的咨询会议或继续现有的咨询会议。
problem_description:问题描述(新会话需要)。code_context:相关代码(文本格式)。attached_files:要读取的文件路径列表。specific_question:你的具体问题。session_id:会话ID以继续对话。
list_sessions
列出活动对话会话。
end_session
结束会话以释放内存。
发布到npm
要将此包发布到npm(作为作用域包):
- 登录到npm:
npm login- 发布包(使用
--access public如果使用免费帐户,则首次发布):
npm publish --access public______________________________________________________________________
*这个项目是一个TypeScript参考版本,基于以下结构和概念重写 mcp双子座助理.*
