FastAPI MCP服务器

一个基于FastAPI的MCP服务器,集成了Gemini CLI,提供数学计算、单位转换、文本处理和实用工具等功能。

  • by KHADIJA2008-KB
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 KHADIJA2008-KB/fastapi-mcp-demo

使用说明

🚀 FastAPI MCP 服务器 —— 集成 Gemini CLI

这个项目展示了如何 创建并集成一个基于FastAPI的MCP(模型上下文协议)服务器 与;带着;用;凭借 Gemini 命令行界面 (CLI).
服务器提供了多个工具端点,这些端点被分类为 数学的, 转换, 文本处理,和 公用设施/效用 操作。


🧩 概述

FastAPI MCP 服务器在本地运行,并提供工具,这些工具可以通过 Gemini 命令行界面 (CLI)。
每个工具都是一个REST端点(例如。, /tools/add, /tools/hello等),而Gemini CLI则作为客户端来执行它们。


🧠 工具概览

计算器 数学工具

工具 终点 描述 示例
项目 英文名称 中文名称 类型
** ** 乘以;繁殖;增加 /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 --reload

2️⃣ 设置虚拟环境 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 list

1️⃣ 用Gemini进行身份验证

gemini mcp list
  • 从Google AI Studio获取您的API密钥:
fastapi-mcp    local    configured

2️⃣ 验证身份 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。