MCP Server with Gemini AI Integration

MCP Server with Gemini AI Integration

带有基本工具的 MCP 服务器客户端 (Dài yǒu jīběn gōngjù de MCP fúwùqì kèhùduān) This translates to: * **带有 (dài yǒu):** with, having * **基本 (jīběn):** basic, fundamental * **工具 (gōngjù):** tools * **的 (de):** possessive particle (like 's in English) * **MCP 服务器 (MCP fúwùqì):** MCP server (MCP is kept as is) * **客户端 (kèhùduān):** client

walnashgit

研究与数据
访问服务器

README

集成 Gemini AI 的 MCP 服务器

本项目实现了一个集成 Gemini AI 的多组件平台 (MCP) 服务器,允许用户通过自然语言命令执行各种数学运算和复杂任务。

功能

  • 数学运算

    • 基本算术运算(加、减、乘、除)
    • 高级数学运算(幂、平方根、立方根)
    • 特殊函数(阶乘、对数、三角函数)
    • 列表运算(列表求和、指数和)
  • 字符串处理

    • 将字符串转换为 ASCII 值
    • 处理字符数组
  • Keynote 集成

    • 打开 Keynote 应用程序
    • 绘制具有自定义尺寸的矩形
    • 向形状添加文本
  • AI 驱动的任务执行

    • 使用 Gemini AI 进行自然语言处理
    • 迭代问题解决
    • 基于用户查询自动选择工具

前提条件

  • Python 3.8 或更高版本
  • Google Gemini API 密钥
  • macOS(用于 Keynote 集成)

安装

  1. 克隆存储库:
git clone <repository-url>
cd <repository-name>
  1. 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate  # 在 Windows 上:venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 在项目根目录中创建一个 .env 文件,并添加您的 Gemini API 密钥:
GEMINI_API_KEY=your_api_key_here

项目结构

  • mcp_server.py: 包含 MCP 服务器实现和工具定义
  • talk2mcp.py: 客户端应用程序,与 MCP 服务器和 Gemini AI 交互
  • .env: API 密钥的配置文件
  • requirements.txt: 项目依赖项

用法

您可以通过两种方式启动应用程序:

选项 1:分别启动服务器和客户端

  1. 在一个终端中启动 MCP 服务器:
python mcp_server.py
  1. 在另一个终端中,运行客户端应用程序:
python talk2mcp.py

选项 2:仅启动客户端(推荐)

如果服务器尚未运行,客户端应用程序可以自动启动服务器。 只需运行:

python talk2mcp.py

客户端将:

  1. 检查服务器是否正在运行
  2. 如果需要,启动服务器
  3. 自动建立连接
  4. 提示您输入查询

使用应用程序

  1. 出现提示时输入您的查询。 示例:

    • "Add 5 and 3"
    • "Find the ASCII values of characters in INDIA"
    • "Start keynote app and draw a rectangle of size 300x400"
    • "Calculate the factorial of 5"
  2. 键入 'exit' 退出应用程序。

注意:使用选项 2 时,当您退出客户端应用程序时,服务器将自动关闭。

可用工具

系统提供以下工具:

  1. 数学工具

    • add(a: int, b: int): 加两个数字
    • subtract(a: int, b: int): 减两个数字
    • multiply(a: int, b: int): 乘两个数字
    • divide(a: int, b: int): 除两个数字
    • power(a: int, b: int): 计算幂
    • sqrt(a: int): 计算平方根
    • cbrt(a: int): 计算立方根
    • factorial(a: int): 计算阶乘
    • log(a: int): 计算对数
    • sin(a: int), cos(a: int), tan(a: int): 三角函数
  2. 字符串处理工具

    • strings_to_chars_to_int(string: str): 将字符串转换为 ASCII 值
    • int_list_to_exponential_sum(int_list: list): 计算指数和
  3. Keynote 工具

    • open_keynote(): 打开 Keynote 应用程序
    • draw_rectangle_in_keynote(shapeWidth: int, shapeHeight: int): 绘制矩形
    • add_text_to_keynote_shape(text: str): 向形状添加文本

演示

观看 MCP 服务器与 Gemini AI 集成的演示:

MCP Server Demo

点击上面的图片在 YouTube 上观看演示视频。

错误处理

该系统包括全面的错误处理:

  • AI 响应的超时处理
  • 类型转换验证
  • 工具可用性检查
  • 参数验证

调试

调试信息会打印到控制台,包括:

  • 工具执行详情
  • 参数处理
  • 结果格式化
  • 错误消息和堆栈跟踪

贡献

  1. Fork 存储库
  2. 创建一个功能分支
  3. 提交您的更改
  4. 推送到分支
  5. 创建一个 Pull Request

许可证

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

致谢

  • Google Gemini AI 提供自然语言处理能力
  • MCP 框架用于工具管理
  • Python 社区提供本项目中使用的各种库

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python