🚀 FastAPI MCP 服务器 —— 集成 Gemini CLI
这个项目展示了如何 创建并集成一个基于FastAPI的MCP(模型上下文协议)服务器 与;带着;用;凭借 Gemini 命令行界面 (CLI).\ 服务器提供了多个工具端点,这些端点被分类为 数学的, 转换, 文本处理,和 公用设施/效用 操作。
______________________________________________________________________
🧩 概述
FastAPI MCP 服务器在本地运行,并提供工具,这些工具可以通过 Gemini 命令行界面 (CLI)。\ 每个工具都是一个REST端点(例如。, /tools/add, /tools/hello等),而Gemini CLI则作为客户端来执行它们。
______________________________________________________________________
🧠 工具概览
计算器 数学工具
| 工具 | 终点 | 描述 | 示例 | ||||
|---|---|---|---|---|---|---|---|
| 项目 | 英文名称 | 中文名称 | 类型 | ** | ** 添加 /tools/add?a=5&b=3 | {"result": 8} | 加两个数 |
| ** | ** 乘以;繁殖;增加 /tools/multiply?a=4&b=6 | {"result": 24} | 将两个数相乘 | ||||
| ** | ** sqrt 翻译为中文是“平方根” /tools/sqrt?value=9 | {"result": 3.0} 计算平方根 |
______________________________________________________________________
| 🌡️
转换工具 | 工具 | 端点 | 描述 | 示例 | |------|-----------|--------------|----------| | 温度转换 /tools/temp-convert?celsius=25 | {"fahrenheit": 77, "kelvin": 298.15} | 将摄氏温度转换为华氏温度和开尔文温度 |
______________________________________________________________________
| 📝(便签纸或笔记的符号,无实际文字含义,可理解为“待记录”或“笔记”)
文本处理 | 工具 | 终点 | 描述 | 示例 | |------|-----------|--------------|----------| | 项目 | 类别 | 描述 | 数量 | | /tools/analyze-text?text=Hello+World 分析文本 {"characters": 11, "words": 2} |
______________________________________________________________________
| 分析字符数和单词数 | |
⚙️ 表示“齿轮”或“机械装置”的符号,常用于表示机械、工程或技术相关的概念。在中文中,它可以直接用作描述或指代与机械装置相关的事物,或者在需要强调机械性、技术性时使用。 实用工具 | 工具 | 终点 | 描述 | 示例 | |------|-----------|--------------|----------| | 项目 | 类别 | 描述 | 数量 | /tools/hello?name=Khadija | {"message": "Hello, Khadija! 👋", "timestamp": "2025-10-04 17:30:00"} 你好
______________________________________________________________________
|
| 返回带有时间戳的个性化问候 |
python3 -m venv venv
source venv/bin/activate|
pip install -r requirements.txt🧰 项目结构
uvicorn main:app --reload2️⃣ 设置虚拟环境 3️⃣ 安装依赖项
🚀 运行MCP服务器
- 服务器将在 http://127.0.0.1:8000/docs 上启动
{
"servers": {
"fastapi-mcp": {
"command": "uvicorn",
"args": ["main:app", "--host", "127.0.0.1", "--port", "8000"]
}
}
}- 。
mkdir -p ~/.gemini
cp .mcp-config.json ~/.gemini/🔌 配置Gemini CLI集成 步骤1:创建.mcp-config.json文件
- 步骤2:将其移动到Gemini配置文件夹
export GEMINI_API_KEY="your_api_key_here"🧠 使用Gemini CLI(Gemini命令行界面)
gemini models list1️⃣ 用Gemini进行身份验证
gemini mcp list- 从Google AI Studio获取您的API密钥:
fastapi-mcp local configured2️⃣ 验证身份 3️⃣ 列出MCP服务器 预期输出: 4️⃣ 通过CLI调用MCP工具 示例 命令 问候工具 gemini mcp 调用 fastapi-mcp /tools/hello 姓名=Khadija 添加数字 gemini mcp 调用 fastapi-mcp /tools/add a=5 b=8 乘法运算 gemini mcp 调用 fastapi-mcp /tools/multiply a=3 b=7 平方根 gemini mcp 调用 fastapi-mcp /tools/sqrt 值=49
- 转换温度 gemini mcp 调用 fastapi-mcp /tools/temp-convert 摄氏温度=30
- 分析文本:gemini mcp 调用 fastapi-mcp /tools/analyze-text,文本内容为“Hello FastAPI MCP”
- 📽️ 演示视频
- 录制的屏幕视频:
MCP 服务器正在运行
双子座MCP列表输出
- 调用工具的CLI命令
- 本仓库中包含一个名为 demo.mp4 的演示文件。
- 🧾 要求
- Python 3.8及以上版本
- FastAPI
Uvicorn(通常翻译为“乌维康”或直接音译为“乌维科恩”,但具体翻译可能因语境和品牌策略而异)
- Node.js + npm
- Gemini CLI(通过npm全局安装:npm install -g @google/gemini-cli)
✨ 作者
哈迪贾·B。
