M

MCP服务器

@amitsh06/mcp-server
0 Stars 8 次浏览 amitsh06 更新于 2026-08-23

一个实现了模型上下文协议的服务器,使像克劳德这样的AI助手能够与谷歌的Gemini API进行交互,用于文本生成、文本分析和聊天对话。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

MCP Gemini 服务器

一个实现模型上下文协议 (MCP) 的服务器,使像 Claude 这样的 AI 助手能够与 Google 的 Gemini API 交互。

项目概述

本项目实现了一个遵循模型上下文协议的服务器,允许 AI 助手通过 Gemini API 与 Google 的 Gemini 模型进行通信。通过这个 MCP 服务器,AI 助手可以请求文本生成、文本分析,并通过 Gemini API 维持聊天对话。

特性

  • 客户端-服务器通信:实现 MCP 协议以确保客户端和服务器之间的安全消息交换。
  • 消息处理:处理和响应客户端请求,发送适当的回复。
  • 错误处理与日志记录:记录服务器活动并确保平稳的错误恢复。
  • 环境变量支持:使用 .env 文件安全地存储敏感信息。
  • API 测试与调试:支持使用 Postman 和测试脚本进行手动和自动化测试。

安装

先决条件

  • Python 3.7 或更高版本
  • Google AI API 密钥

设置

  1. 克隆此仓库:
git clone https://github.com/yourusername/mcp-gemini-server.git
cd mcp-gemini-server
  1. 创建虚拟环境:
python -m venv venv
  1. 激活虚拟环境:

    • Windows: venv\Scripts\activate
    • macOS/Linux: source venv/bin/activate
  2. 安装依赖项:

pip install -r requirements.txt
  1. 在根目录下创建一个包含您的 Gemini API 密钥的 .env 文件:
GEMINI_API_KEY=your_api_key_here

使用

  1. 启动服务器:
python server.py
  1. 服务器默认运行在 http://localhost:5000/

  2. 使用 POST 方法向 /mcp 端点发送 MCP 请求

示例请求

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. analyze_text

分析文本内容。

参数:

  • text (必需): 要分析的文本
  • analysis_type (可选): 分析类型 ('sentiment', 'summary', 'keywords', 或 'general')

示例:

{
  "action": "analyze_text",
  "parameters": {
    "text": "The weather today is wonderful! I love how the sun is shining.",
    "analysis_type": "sentiment"
  }
}

3. chat

与 Gemini 对话。

参数:

  • messages (必需): 包含 'role' 和 'content' 的消息对象数组
  • 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 协议规范

此处实现的模型上下文协议遵循以下规范:

  1. 请求格式:

    • action: 指定操作的字符串
    • parameters: 包含特定于操作参数的对象
  2. 响应格式:

    • result: 包含操作结果的对象
    • error: 解释任何错误的字符串(如果适用)

许可证

MIT 许可证

相关 MCP 服务