Token导航 LogoToken导航TokenDH.com
Fastmcp Fastapi MCP logo
AI代理stdio官方级别未说明来源级核验

Fastmcp Fastapi MCP

MCP Server

该项目展示了使用FastMCP和FastAPI-MCP构建MCP服务器的实现,包括STDIO和HTTP传输协议的示例,适用于构建MCP工具的学习和开发。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
HTTP服务器PythonVS CodeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Vishal150494

提供方

Vishal150494

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r deployment/requirements_deploy.txt

详细介绍

MCP服务器-FastMCP和FastAPI MCP

一个全面的项目展示 模型上下文协议(MCP) 服务器实现使用 FastMCPFastAPI MCP此存储库展示了不同的传输协议(STDIO、HTTP)和构建启用MCP的工具的实际用例。

📋 目录

- 场景1:计算器(STDIO) - 场景2:计算器(HTTP/FastAPI) - 场景3:FreeCodeCamp Feed(STDIO) - 部署:FreeCodeCamp Feed(HTTP)

🎯 概述

该项目可作为构建MCP服务器的学习资源和参考实现。它表明:

  • FastMCP:具有STDIO和HTTP传输的轻量级MCP服务器框架
  • FastAPI MCP:MCP与基于HTTP的工具的FastAPI集成
  • 多种场景:从基本算术到RSS提要搜索的真实世界示例

✨ 特性

🧮 计算器MCP服务器

  • STDIO传输 (场景1):直接流程沟通
  • HTTP传输 (场景2):RESTful API与FastAPI集成
  • 操作:加、减、乘、除

📰 FreeCodeCamp Feed搜索器

  • STDIO传输 (场景3):开发版本
  • HTTP传输 (部署):生产就绪服务器
  • 按标题/描述搜索FreeCodeCamp新闻文章
  • 按标题搜索FreeCodeCamp YouTube视频
  • 基于RSS的提要解析,结果可配置

📁 项目结构

mcp-servers/
├── .vscode/
│   ├── mcp.json              # VS Code MCP server configurations
│   └── settings.json         # VS Code workspace settings
├── Scenario1/
│   └── calculator.py         # Calculator MCP (STDIO)
├── Scenario2/
│   └── calculator_api.py     # Calculator MCP (HTTP/FastAPI)
├── Scenario3/
│   └── feed_mcp.py           # FreeCodeCamp Feed MCP (STDIO)
├── deployment/
│   ├── feed.py               # Production FreeCodeCamp Feed MCP (HTTP)
│   └── requirements_deploy.txt
├── tests/                    # Test files
├── .env                      # Environment variables (not tracked)
├── .gitignore
├── pyproject.toml            # Poetry dependencies
├── poetry.lock
└── README.md

🔧 先决条件

  • python:3.13或更高
  • 诗歌:用于依赖关系管理
  • Git:用于版本控制

📦 安装

1.克隆存储库

git clone https://github.com/Vishal150494/mcp-server-FastMCP-FastAPI-MCP.git
cd mcp-servers

2.安装依赖项

使用诗歌(推荐):

poetry install

或者使用pip:

pip install -r deployment/requirements_deploy.txt

3.设置环境变量

创建一个 .env 项目根目录中的文件:

RSS_URL=https://www.freecodecamp.org/news/rss/
YOUTUBE_DEFAULT_URL=https://www.youtube.com/feeds/videos.xml?channel_id=
YOUTUBE_CHANNEL_ID=UC8butISFwT-Wl7EV0hUK0BQ

⚙️ 配置

VS代码MCP配置

该项目包括 .vscode/mcp.json 与VS Code无缝集成:

{
    "servers": {
        "Calculator-STDIO": {
            "command": "path/to/.venv/Scripts/python.exe",
            "args": ["Scenario1/calculator.py"]
        },
        "Calculator-HTTP": {
            "command": "path/to/.venv/Scripts/python.exe",
            "args": ["-m", "uvicorn", "Scenario2.calculator_api:app", 
                     "--host", "localhost", "--port", "8080"]
        },
        "FreeCodeCamp-Feed-STDIO": {
            "command": "path/to/.venv/Scripts/python.exe",
            "args": ["Scenario3/feed_mcp.py"]
        }
    }
}

🚀 用法

场景1:计算器(STDIO)

使用STDIO传输运行计算器MCP服务器:

python Scenario1/calculator.py

可用工具:

  • multiply(x: float, y: float) -将两个数字相乘
  • add(x: float, y: float) -加两个数字
  • subtract(x: float, y: float) -减去两个数字
  • divide(x: float, y: float) -除以两个数字

场景2:计算器(HTTP/FastAPI)

将计算器作为HTTP API运行:

python -m uvicorn Scenario2.calculator_api:app --host localhost --port 8080

API终点:

  • POST /multiply?x=123&y=456 -退货: {"Result": 56088.0}
  • POST /add?x=10&y=20 -退货: {"Result": 30.0}
  • POST /subtract?x=50&y=20 -退货: {"Result": 30.0}
  • POST /divide?x=100&y=5 -退货: {"Result": 20.0}

交互式文档:

  • Swagger用户界面: http://localhost:8080/docs
  • 重新记录: http://localhost:8080/redoc

场景3:FreeCodeCamp Feed(STDIO)

使用STDIO运行FreeCodeCamp提要搜索器:

python Scenario3/feed_mcp.py

可用工具:

  • fcc_news_search(query: str, max_results: int = 5) -搜索FCC新闻文章
  • fcc_youtube_search(query: str, max_results: int = 5) -搜索FCC YouTube视频

部署:FreeCodeCamp Feed(HTTP)

运行生产就绪的HTTP版本:

python deployment/feed.py

服务器在上运行 http://localhost:8003

示例用法:

# Search for Python-related articles
curl -X POST "http://localhost:8003/fcc_news_search?query=python&max_results=3"

# Search for JavaScript videos
curl -X POST "http://localhost:8003/fcc_youtube_search?query=javascript&max_results=5"

🔌 VS代码集成

此项目配置为与VS Code的MCP支持无缝集成:

  1. 在VS Code中打开项目
  2. .vscode/mcp.json 配置将被自动检测
  3. MCP服务器将在VS Code MCP面板中可用
  4. 直接从IDE启动/停止服务器

🛠️ 发展

运行测试

poetry run pytest tests/

代码质量

该项目使用:

  • 键入提示 为了更好的代码清晰度
  • 文档字符串 适用于所有公共职能
  • 错误处理 用于稳健运行

添加新的MCP服务器

  1. 创建新的场景文件夹(例如。, Scenario4/)
  2. 使用FastMCP或FastAPI MCP实现您的MCP服务器
  3. 将配置添加到 .vscode/mcp.json
  4. 用使用说明更新此README

📚 依赖项

核心依赖关系

  • fastmcp (^2.13.1)-FastMCP框架
  • fastapi (^0.123.0)-FastAPI web框架
  • fastapi-mcp (^0.4.0)-FastAPI MCP集成
  • uvicorn (^0.38.0)-ASGI服务器
  • feedparser (^6.0.12)-RSS源解析
  • python-dotenv (^1.2.1)-环境变量管理

🤝 贡献

欢迎投稿!请随时提交拉取请求。

  1. 复刻仓库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'feat: add some amazing feature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

📄 许可证

这个项目是开源的,可以在MIT许可证下使用。

👤 作者

维沙尔·赫格德

🙏 致谢

______________________________________________________________________

快乐编码! 🚀

目录标签

目录标签

HTTP服务器PythonVS CodeMCP协议本地部署FastAPI集成STDIO通信RSS解析

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP