关于 Simple MCP Server & Client Sample (with Gemini Function Calling)
面向学习 MCP 与 Gemini function calling 的开发者的 Python 简易示例,展示 MCP 服务和客户端的基础构成。客户端会根据时间让 Gemini 在两个工具中选择调用。
主要功能
- 01MCP 服务与客户端基础示例
- 02Gemini function calling 客户端
- 03自动选择 greet 或 farewell
适用场景
- 01学习 MCP 服务和客户端的基本搭建
- 02测试基于 Gemini 的工具选择
MCP 相关
包含简易 MCP 服务和客户端实现;其中一个客户端将 Gemini function calling 接入服务端工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
简易 MCP 服务与客户端示例(使用 Gemini Function Calling)
概述
-
什么是 MCP(Model Context Protocol)?
一种让机器学习模型或 AI Agent 调用外部工具(API)的协议。 -
本仓库的目的
- “如何构建最简 MCP 服务和客户端?”
- “希望使用 LLM(Gemini)自动选择要调用的工具。”
这是为满足上述需求而整理的备忘录。
文件结构
-
mcp_simple_server1.py
最简 MCP 服务示例。 -
mcp_simple_client1.py
最简 MCP 客户端示例(用于确认连接)。 -
mcp_simple_server2.py
最简 MCP 服务示例。
提供greet和farewell两个工具。 -
mcp_simple_client2.py
使用 Gemini function calling 的 MCP 客户端。
LLM 会根据时间自动选择greet或farewell,并调用服务。
运行环境
- Python 3.13(应该也能在 3.10 及以上版本运行)
- fastmcp >= 2.5.2
- google-genai >= 1.18.0
- uv(不使用也能运行,但建议使用以提升速度)
安装与运行
- 安装所需软件包
uv init
uv add google-genai
uv add fastmcp
-
获取 Gemini API 密钥,并将其设置为环境变量
GEMINI_API_KEY
(可在 Google AI Studio 免费获取) -
启动服务和客户端的示例
-
单独启动服务(示例)
python mcp_simple_client1.py -
运行客户端并连接 Gemini(示例)
python mcp_simple_client2.py
用法
- 所有示例代码都可以直接复制并运行。
- 通过 Gemini 的 function calling,将根据时间选择工具的任务交给 LLM。
注意事项
- 为了保持简洁,省略了错误处理和异常处理。
- 在实际业务或服务实现中,请添加适当的验证、日志和异常处理。
许可证
可自由使用 MIT 许可证等。
本内容仅供备忘和示例用途。请自行承担使用风险。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。