配备智能工具智能的Gemini MCP服务器
欢迎来到Gemini MCP服务器 首台配备智能工具智能的MCP服务器 -一个革命性的自学系统,可以适应你的喜好并随着时间的推移而改进。这个综合平台提供了7个人工智能驱动的工具,具有自动提示增强和上下文感知功能。
🚀 功能概述
🤖 7个AI驱动的工具
- 图像生成 -使用Gemini 2.0 Flash从文本提示创建图像
- 图像编辑 -使用自然语言指令编辑现有图像
- 聊天 -具有情境感知响应的交互式对话
- 音频转录 -使用可选的逐字模式将音频转换为文本
- 代码执行 -在安全的沙盒环境中运行Python代码
- 视频分析 -分析视频内容以获取摘要、成绩单和见解
- 图像分析 -从图像中提取对象、文本和详细描述
🧠 智能工具智能系统 *(MCP生态系统第一)*
- 自我学习 -从成功的互动中自动学习
- 上下文检测 -识别意识研究、编码、调试环境
- 模式识别 -识别使用模式和用户偏好
- 快速增强 -优化提示以提高AI模型性能
- 持久存储器 -跨会话存储学习到的偏好
- 自动迁移 -无缝升级首选存储
📦 快速开始
安装
git clone https://github.com/Garblesnarff/gemini-mcp-server.git
cd gemini-mcp-server
npm install配置
- 从获取Gemini API密钥 谷歌人工智能工作室
- 复制环境模板:
cp .env.example .env- 编辑
.env并添加您的API密钥:
GEMINI_API_KEY=your_actual_api_key_here
OUTPUT_DIR=/path/to/your/output/directory # Optional
DEBUG=false # Optional运行服务器
npm start
# or for development with debug logging:
npm run dev与Claude Desktop集成
添加到您的Claude桌面配置(claude_desktop_config.json):
{
\"mcpServers\": {
\"gemini\": {
\"command\": \"node\",
\"args\": [\"/path/to/gemini-mcp-server/gemini-server.js\"],
\"env\": {
\"GEMINI_API_KEY\": \"your_api_key_here\"
}
}
}
}🛠️ 工具参考
1.图像生成(generate_image)
使用Gemini 2.0 Flash从文本描述生成图像。
参数:
prompt(string,必填)-要生成的图像的描述context(字符串,可选)-智能工具智能增强的上下文
例子:
{
\"prompt\": \"A serene mountain landscape at sunset with vibrant colors\",
\"context\": \"artistic\"
}退货:
{
\"content\": [{
\"type\": \"text\",
\"text\": \"Generated a beautiful mountain landscape image.\"
}, {
\"type\": \"image\",
\"data\": \"base64_image_data\",
\"mimeType\": \"image/png\"
}]
}2.图像编辑(gemini-edit-image)
使用自然语言指令编辑现有图像。
参数:
image_path(字符串,必填)-要编辑的图像文件的路径edit_instruction(字符串,必填)-所需更改的描述context(字符串,可选)-增强上下文
例子:
{
\"image_path\": \"/path/to/image.jpg\",
\"edit_instruction\": \"Add shooting stars to the night sky\",
\"context\": \"artistic\"
}3.聊天(gemini-chat)
与Gemini AI进行互动对话,了解您的偏好。
参数:
message(string,必填)-您的消息或问题context(字符串,可选)-智能工具智能上下文
例子:
{
\"message\": \"Explain quantum computing in simple terms\",
\"context\": \"consciousness\" // Will apply academic rigor enhancement
}4.音频转录(gemini-transcribe-audio)
使用Smart Tool Intelligence增强功能将音频文件转换为文本。
参数:
file_path(字符串,必填)-音频文件路径(MP3、WAV、FLAC、AAC、OGG、WEBM、M4A)language(字符串,可选)-语言提示,以提高准确性context(字符串,可选)-使用“逐字”进行精确的逐字转录preserve_spelled_acronyms(布尔值,可选)-保留U-R-L而不是URL
示例(标准):
{
\"file_path\": \"/path/to/audio.mp3\",
\"language\": \"en\"
}示例(逐字模式):
{
\"file_path\": \"/path/to/audio.mp3\",
\"context\": \"verbatim\", // Gets exact word-for-word transcription
\"preserve_spelled_acronyms\": true
}逐字模式功能:
- 捕获所有“嗯”、“呃”、“喜欢”、重复的单词
- 保留情绪表达:\[笑\],\[叹气\],\[清嗓子\]
- 保持原始标点符号和句子结构
- 无摘要或清理
5.代码执行(gemini-code-execute)
在安全的沙盒环境中执行Python代码。
参数:
code(string,必填)-要执行的Python代码context(字符串,可选)-增强上下文
例子:
{
\"code\": \"import pandas as pd\\ndata = {'x': [1,2,3], 'y': [4,5,6]}\\ndf = pd.DataFrame(data)\\nprint(df.describe())\",
\"context\": \"code\"
}6.视频分析(gemini-analyze-video)
分析视频内容以获取摘要、成绩单和详细见解。
参数:
file_path(字符串,必填)-视频文件路径(MP4、MOV、AVI、WEBM、MKV、FLV)analysis_type(字符串,可选)-“摘要”、“转录”、“对象”、“详细”、“自定义”context(字符串,可选)-增强上下文
例子:
{
\"file_path\": \"/path/to/video.mp4\",
\"analysis_type\": \"detailed\"
}7.图像分析(gemini-analyze-image)
从图像中提取详细信息,包括对象、文本和描述。
参数:
file_path(字符串,必填)-图像文件的路径(JPEG、PNG、WebP、HEIC、HEIF、BMP、GIF)analysis_type(字符串,可选)-“摘要”、“对象”、“文本”、“详细”、“自定义”context(字符串,可选)-增强上下文
例子:
{
\"file_path\": \"/path/to/image.jpg\",
\"analysis_type\": \"objects\"
}🧠 智能工具智能系统
运作原理
智能工具智能系统是MCP生态系统中的第一个此类系统。它会自动:
- 检测上下文 -识别你是否正在进行意识研究、编码、调试等。
- 增强提示 -根据学习到的模式添加相关说明
- 学习模式 -存储成功的交互模式以供将来使用
- 随着时间的推移而适应 -更好地帮助你进行每次互动
上下文类型
系统识别这些上下文并应用适当的增强功能:
consciousness-增加学术严谨性、引用、详细解释code-包括实际示例、工作代码、最佳实践debugging-专注于根本原因分析和具体修复general-应用全面、结构化的响应verbatim-对于音频转录,提供精确的逐字输出
存储位置
首选项存储在内部 ./data/tool-preferences.json 具有从外部存储的自动迁移功能。
在MCP服务器中实现智能工具智能
想将这种革命性的功能添加到您自己的MCP服务器中吗?方法如下:
1.核心架构
// src/intelligence/context-detector.js
class ContextDetector {
detectContext(prompt, toolName) {
// Implement pattern matching for different contexts
if (this.isConsciousnessContext(prompt)) return 'consciousness';
if (this.isCodeContext(prompt)) return 'code';
if (this.isDebuggingContext(prompt)) return 'debugging';
return 'general';
}
}
// src/intelligence/prompt-enhancer.js
class PromptEnhancer {
enhancePrompt(originalPrompt, context, toolName) {
// Apply context-specific enhancements
const enhancement = this.getEnhancementForContext(context);
return `${originalPrompt}\\n\\n${enhancement}`;
}
}
// src/intelligence/preference-store.js
class PreferencesManager {
async storePattern(original, enhanced, context, toolName, success) {
// Store successful patterns for future learning
}
async getPatterns(context) {
// Retrieve learned patterns for context
}
}2.整合模式
// In your tool's execute method:
async execute(args) {
const intelligence = IntelligenceSystem.getInstance();
// Detect context and enhance prompt
const context = args.context || intelligence.contextDetector.detectContext(args.prompt, this.name);
const enhancedPrompt = await intelligence.enhancePrompt(args.prompt, context, this.name);
// Execute with enhanced prompt
const result = await this.geminiService.generateContent(enhancedPrompt);
// Store successful pattern
await intelligence.storeSuccessfulPattern(args.prompt, enhancedPrompt, context, this.name);
return result;
}3.关键实施文件
研究此存储库中的这些文件:
src/intelligence/index.js-主要情报协调员src/intelligence/context-detector.js-上下文识别逻辑src/intelligence/prompt-enhancer.js-增强应用程序src/intelligence/preference-store.js-模式存储和检索src/tools/base-tool.js-与工具执行集成
🧪 测试
运行测试套件
# Test basic functionality
npm test
# Test Smart Tool Intelligence
node test-tool-intelligence-full.js
# Test internal storage
node test-internal-storage.js
# Test verbatim transcription
node test-verbatim-mode.js手动测试示例
# Test image generation
echo '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"generate_image\",\"arguments\":{\"prompt\":\"A cute robot reading a book\"}}}' | node gemini-server.js
# Test chat with consciousness context
echo '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"gemini-chat\",\"arguments\":{\"message\":\"What is consciousness?\",\"context\":\"consciousness\"}}}' | node gemini-server.js📊 性能和限制
文件大小限制
- 图像:20MB(JPEG、PNG、WebP、HEIC、HEIF、BMP、GIF)
- 音频:20MB(MP3、WAV、FLAC、AAC、OGG、WEBM、M4A)
- 视频:100MB(MP4、MOV、AVI、WEBM、MKV、FLV)
API费率限制
- 遵循Google Gemini API费率限制
- 内置错误处理和重试逻辑
- 超出配额的优雅降级
🏗️ 建筑深潜
模块化设计
src/
├── server.js # MCP protocol handler
├── config.js # Configuration management
├── tools/ # Tool implementations
│ ├── index.js # Tool registry & dispatcher
│ ├── base-tool.js # Abstract base class
│ ├── chat.js # Chat tool
│ ├── image-generation.js # Image generation tool
│ ├── image-editing.js # Image editing tool
│ ├── audio-transcription.js # Audio transcription tool
│ ├── code-execution.js # Code execution tool
│ ├── video-analysis.js # Video analysis tool
│ └── image-analysis.js # Image analysis tool
├── intelligence/ # Smart Tool Intelligence
│ ├── index.js # Intelligence coordinator
│ ├── context-detector.js # Context recognition
│ ├── prompt-enhancer.js # Prompt enhancement
│ └── preference-store.js # Pattern storage
├── gemini/ # Gemini API integration
│ ├── gemini-service.js # API service layer
│ └── request-handler.js # Request formatting
└── utils/ # Utilities
├── logger.js # Logging system
└── file-utils.js # File operations情报系统流程
- 已收到请求 → 工具的execute方法被调用
- 上下文检测 → 分析提示以获取上下文线索
- 模式检索 → 获取相关的学习模式
- 快速增强 → 应用特定于上下文的改进
- API执行 → 向Gemini发送增强提示
- 模式存储器 → 存储成功的交互模式
- 响应返回 → 将增强的结果返回给用户
🔧 定制
添加新上下文
// In src/intelligence/context-detector.js
isMyCustomContext(prompt) {
const patterns = [
/custom pattern 1/i,
/custom pattern 2/i
];
return patterns.some(pattern => pattern.test(prompt));
}
// In src/intelligence/prompt-enhancer.js
getEnhancementForContext(context) {
const enhancements = {
'my_custom_context': 'Apply my custom enhancement instructions here.',
// ... other contexts
};
return enhancements[context] || enhancements.general;
}添加新工具
- 在中创建工具文件
src/tools/my-new-tool.js - 扩展
BaseTool类 - 实施
execute情报整合方法 - 注册
src/tools/index.js
// src/tools/my-new-tool.js
class MyNewTool extends BaseTool {
constructor(geminiService, intelligenceSystem) {
super('my-new-tool', 'Description of my tool', geminiService, intelligenceSystem);
}
async execute(args) {
// Use intelligence system for enhancement
const context = args.context || this.detectContext(args.input);
const enhancedPrompt = await this.enhancePrompt(args.input, context);
// Your tool logic here
const result = await this.geminiService.someMethod(enhancedPrompt);
// Store successful pattern
await this.storeSuccessfulPattern(args.input, enhancedPrompt, context);
return result;
}
}🐛 故障排除
常见问题
“缺少GEMINI_API_KEY”错误
# Ensure .env file exists and contains your API key
cp .env.example .env
# Edit .env and add: GEMINI_API_KEY=your_key_here“找不到文件”错误
# Ensure file paths are absolute and files exist
# Check file permissions and formats智能系统不学习
# Check data directory permissions
ls -la data/
# Verify tool-preferences.json is writable调试模式
DEBUG=true npm start
# or
npm run dev日志位置
- 应用程序日志:控制台输出
- 智力模式:
./data/tool-preferences.json - 生成的图像:
$OUTPUT_DIR(默认值:~/Claude/gemini-images)
🤝 贡献
我们欢迎捐款!该项目代表了MCP服务器开发的一种新范式。
开发设置
git clone https://github.com/Garblesnarff/gemini-mcp-server.git
cd gemini-mcp-server
npm install
npm run dev贡献领域
- 新背景 -添加对专用域的支持
- 增强模式 -改进学习算法
- 新工具 -扩展Gemini AI功能
- 演出 -优化智能系统性能
- 文档 -改进指南和示例
📈 路线图
- \[ \] 多语言支持 -多语言上下文检测
- \[ \] 高级分析 -使用模式和性能指标
- \[ \] 工具链 -多个工具之间的智能协调
- \[ \] 定制型号 -支持微调的Gemini型号
- \[ \] 协作学习 -跨实例共享匿名模式
- \[ \] 视觉界面 -基于Web的配置和监控
🌟 为什么这很重要
这就是 第一个真正学习和适应的MCP服务器传统的MCP服务器是静态的,它们每次都做同样的事情。我们的智能工具智能系统代表了向人工智能工具的范式转变,随着时间的推移,人工智能工具会变得更加有用。
对于用户:随着系统学习你的偏好,用更少的努力获得更好的结果。\ 对于开发者:构建真正智能、自适应人工智能工具的蓝图。\ 对于MCP生态系统:MCP服务器可以成为什么的新标准。
📄 许可证
该项目根据 MIT许可证 -您可以自由使用、修改和分发。
🙏 致谢
内置:
- 谷歌双子座AI -增强核心人工智能能力
- 模型上下文协议 -实现无缝集成
- Node.js和NPM -运行时和包管理
- 克劳德和罗布 -人类与人工智能的最佳协作
______________________________________________________________________
准备好体验MCP服务器的未来了吗? 立即开始 看着你的人工智能工具在每次交互中变得更加智能! 🚀"
