使用说明
MCP Gemini服务器
模型上下文协议(MCP)的服务器实现,使Claude等人工智能助手能够与谷歌的Gemini API进行交互。
项目概述
该项目实现了一个遵循模型上下文协议的服务器,允许AI助手与谷歌的Gemini模型进行通信。有了这个MCP服务器,人工智能助手可以通过Gemini API请求文本生成、文本分析和维护聊天会话。
特性
- 客户端-服务器通信:实现MCP协议,用于客户端和服务器之间的安全消息交换。
- 消息处理:处理和处理客户端请求,发送适当的响应。
- 错误处理和记录:记录服务器活动并确保顺利进行错误恢复。
- 环境变量支持:用途
.env用于安全存储敏感信息的文件。 - API测试与调试:支持使用Postman和测试脚本进行手动和自动测试。
安装
先决条件
- Python 3.7或更高版本
- 谷歌人工智能API密钥
设置
- 克隆此存储库:
git clone https://github.com/yourusername/mcp-gemini-server.git
cd mcp-gemini-server
- 创建虚拟环境:
python -m venv venv
-
激活虚拟环境:
- 窗户:
venv\Scripts\activate - macOS/Linux:
source venv/bin/activate
- 窗户:
-
安装依赖项:
pip install -r requirements.txt
- 创建一个
.env根目录中使用Gemini API密钥的文件:
GEMINI_API_KEY=your_api_key_here
用法
- 启动服务器:
python server.py
-
服务器将在上运行
http://localhost:5000/默认情况下 -
向发送MCP请求
/mcp使用POST方法的端点
示例请求
import requests
url = 'http://localhost:5000/mcp'
payload = {
'action': 'generate_text',
'parameters': {
'prompt': 'Write a short poem about AI',
'temperature': 0.7
}
}
response = requests.post(url, json=payload)
print(response.json())
api参考
端点
GET /health:检查服务器是否正在运行GET /list-models:列出可用的Gemini型号POST /mcp:MCP请求的主要端点
MCP行动
1.generate_text
使用Gemini生成文本内容。
参数:
prompt(必填):生成文本提示temperature(可选):控制随机性(0.0到1.0)max_tokens(可选):要生成的最大令牌数
例子:
{
"action": "generate_text",
"parameters": {
"prompt": "Write a short story about a robot",
"temperature": 0.8,
"max_tokens": 500
}
}
2.分析文本
分析文本内容。
参数:
text(必填):要分析的文本analysis_type(可选):分析类型(“意见”、“摘要”、“关键字”或“一般”)
例子:
{
"action": "analyze_text",
"parameters": {
"text": "The weather today is wonderful! I love how the sun is shining.",
"analysis_type": "sentiment"
}
}
3.聊天
和双子座谈谈。
参数:
messages(必需):包含“角色”和“内容”的消息对象数组temperature(可选):控制随机性(0.0到1.0)
例子:
{
"action": "chat",
"parameters": {
"messages": [
{"role": "user", "content": "Hello, how are you?"},
{"role": "assistant", "content": "I'm doing well! How can I help?"},
{"role": "user", "content": "Tell me about quantum computing"}
],
"temperature": 0.7
}
}
错误处理
服务器返回相应的HTTP状态代码和错误消息:
200:请求成功400:请求错误(参数缺失或无效)500:服务器错误(API问题等)
测试
使用附带的测试脚本测试各种功能:
# Test all functionalities
python test_client.py
# Test specific functionality
python test_client.py text # Test text generation
python test_client.py analyze # Test text analysis
python test_client.py chat # Test chat functionality
MCP协议规范
这里实现的模型上下文协议遵循以下规范:
-
请求格式:
action:指定操作的字符串parameters:包含特定操作参数的对象
-
响应格式:
result:包含操作结果的对象error:解释任何错误的字符串(如适用)
许可证
MIT许可证