关于 MCP Server with Gemini AI Integration
这是一个将 Gemini AI 与数学、字符串处理及 Keynote 操作工具结合的 MCP 服务,面向希望用自然语言完成计算和简单演示文稿操作的用户。其配套客户端可自动启动服务,并依据请求选择工具。
主要功能
- 01执行基础与高级数学运算
- 02将字符串转换为 ASCII 值
- 03在 Keynote 中绘制矩形并添加文字
- 04通过 Gemini AI 解析自然语言任务
- 05客户端可自动启动并连接服务
适用场景
- 01用自然语言计算阶乘或三角函数
- 02查看字符串中字符的 ASCII 值
- 03在 Keynote 中创建带文字的矩形
- 04通过 Gemini AI 分解并执行任务
MCP 相关
MCP 服务向客户端提供数学、字符串处理和 Keynote 工具。配套 Python 客户端使用 Gemini AI 处理自然语言并选择工具,也可自动启动服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
与 Gemini AI 集成的 MCP 服务
本项目实现了一个集成 Gemini AI 的多组件平台(MCP)服务,用户可以通过自然语言命令执行各种数学运算和复杂任务。
功能
-
数学运算
- 基本算术运算(加、减、乘、除)
- 高级数学运算(乘方、平方根、立方根)
- 特殊函数(阶乘、对数、三角函数)
- 列表运算(列表求和、指数和)
-
字符串处理
- 将字符串转换为 ASCII 值
- 处理字符数组
-
Keynote 集成
- 打开 Keynote 应用
- 绘制自定义尺寸的矩形
- 向形状中添加文本
-
AI 驱动的任务执行
- 使用 Gemini AI 进行自然语言处理
- 迭代式问题求解
- 根据用户查询自动选择工具
前置条件
- Python 3.8 或更高版本
- Google Gemini API 密钥
- macOS(用于 Keynote 集成)
安装
- 克隆仓库:
git clone <repository-url>
cd <repository-name>
- 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 安装依赖项:
pip install -r requirements.txt
- 在项目根目录创建
.env文件,并添加 Gemini API 密钥:
GEMINI_API_KEY=your_api_key_here
项目结构
mcp_server.py:包含 MCP 服务实现和工具定义talk2mcp.py:与 MCP 服务和 Gemini AI 交互的客户端应用.env:API 密钥配置文件requirements.txt:项目依赖项
使用方法
你可以通过以下两种方式启动应用:
选项 1:分别启动服务端和客户端
- 在一个终端中启动 MCP 服务:
python mcp_server.py
- 在另一个终端中运行客户端应用:
python talk2mcp.py
选项 2:仅启动客户端(推荐)
如果 MCP 服务尚未运行,客户端应用可以自动启动它。只需运行:
python talk2mcp.py
客户端将:
- 检查服务是否正在运行
- 根据需要启动服务
- 自动建立连接
- 提示你输入查询
使用应用
-
根据提示输入查询。示例:
- “计算 5 加 3”
- “查找 INDIA 中各字符的 ASCII 值”
- “启动 Keynote 应用并绘制一个 300x400 的矩形”
- “计算 5 的阶乘”
-
输入 'exit' 退出应用。
注意:使用选项 2 时,退出客户端应用后,服务将自动关闭。
可用工具
系统提供以下工具:
-
数学工具
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):三角函数
-
字符串处理工具
strings_to_chars_to_int(string: str):将字符串转换为 ASCII 值int_list_to_exponential_sum(int_list: list):计算指数和
-
Keynote 工具
open_keynote():打开 Keynote 应用draw_rectangle_in_keynote(shapeWidth: int, shapeHeight: int):绘制矩形add_text_to_keynote_shape(text: str):向形状中添加文本
演示
观看集成 Gemini AI 的 MCP 服务演示:
点击上方图片,在 YouTube 上观看演示视频。
错误处理
系统包含完善的错误处理机制:
- AI 响应超时处理
- 类型转换验证
- 工具可用性检查
- 参数验证
调试
调试信息会输出到控制台,包括:
- 工具执行详情
- 参数处理
- 结果格式化
- 错误消息和堆栈跟踪
贡献
- Fork 此仓库
- 创建功能分支
- 提交更改
- 推送到该分支
- 创建 Pull Request
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
致谢
- 感谢 Google Gemini AI 提供自然语言处理能力
- 感谢 MCP 框架提供工具管理功能
- 感谢 Python 社区提供本项目使用的各种库
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
