M

MCP演示工具

@priteshshah96/MCP
0 Stars 56 次浏览 priteshshah96 更新于 2026-08-23

一个简单的应用程序,展示如何将模型上下文协议(MCP)与FastAPI和Streamlit集成,使用户能够通过简洁的界面与大型语言模型(LLM)进行交互。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

基本的 MCP 应用

一个简单的应用程序,展示了 Model Context Protocol (MCP) 如何与 FastAPI 和 Gradio 一起工作(因为我不是一个喜欢 Streamlit 带来的头痛问题的开发者)。

概述

该项目展示了一个基本的 MCP 服务器,前端使用了 Gradio(Streamlit 很头疼,而生命太短暂了,不应该有不必要的痛苦)。用户可以通过营销人员所说的“简单界面”以及开发者所知道的“在我继续前进之前我能做的最好的事情😂”与 AI 模型进行聊天。

技术栈

  • 后端: FastAPI + MCP Python SDK(天作之合,不像披萨上的菠萝)
  • 前端: Gradio(因为漂亮的按钮会让多巴胺飙升)
  • AI 集成: Google Gemini API(不是星座,而是 Sundar Pichai 的那个 AI AI AI AI AI AI 东西)

已知问题

⚠️ 请注意

  • 引用工具目前无法正常工作。您在尝试分析论文引用或使用某些高级搜索功能时可能会看到错误。我正在努力修复这个问题。什么时候能修好?谁知道呢 ¯\(ツ)/¯。也许当有了 AGI 之后吧。
  • Semantic Scholar API 有速率限制,这可能会导致搜索功能有时返回一个错误消息:“我不能直接搜索并为您提供论文。”这就是免费 API 遇到热情用户时会发生的情况——我们爱它们至死。请稍等片刻再试一次(或者在速率限制重置期间喝杯咖啡分散注意力)。

加速您的设置

这个项目与 uv 一起使用效果非常好,uv 是一个超级快速的 Python 包安装器!与其等待 pip 在下个世纪完成,不如使用 uv 在几秒钟内安装依赖项。我强烈推荐这样做以获得更流畅的体验(并且可以节省您盯着进度条的时间)。

快速开始

您需要什么

  • Python 3.11 或更新版本(对还在使用 Python 2 的恐龙表示抱歉)
  • pip 包管理器(或其更酷、更快的表亲 uv
  • RCB 的耐心(谷歌一下他们)(可选但推荐)

设置步骤

  1. 克隆此项目:

    git clone https://github.com/yourusername/basic-mcp-app.git
    cd basic-mcp-app
    
  2. 创建虚拟环境(因为全局依赖是导致情绪问题的根源):

    python -m venv venv
    source venv/bin/activate  # 在 Windows 上: venv\Scripts\activate
    
  3. 安装所需的包:

    使用 pip(慢速但稳妥的方式):

    pip install -r requirements.txt
    

    使用 uv(快速且实际上更胜一筹的方式):

    # 如果你还没有安装 uv,先安装它
    curl -LsSf https://astral.sh/uv/install.sh | sh
    

    或者

    pip install uv
    

    然后用 uv 安装依赖项:

    uv pip install -r requirements.txt
    

    使用 uv 可以让 Python 包的安装变得飞快!它比普通的 pip 快得多(真的很快,我保证🤞)。在 pip 刚刚意识到你要做什么的时候,uv 已经完成了安装,甚至还有时间煮了一杯咖啡,并开始为你编写下一个应用。

  4. 设置你的 API 密钥(那些你不应该提交到 GitHub 的东西,但总有人会这样做):

    cp .env.example .env
    # 打开 .env 并添加你的 API 密钥
    
  5. 用一条命令运行两个服务器(像魔法一样,但用了更多的分号):

    python run.py
    

    这将同时启动后端和前端。就像既吃到了蛋糕又不会增加卡路里一样。

    如果需要,你也可以分别启动它们(对于控制狂来说):

    • 后端: uvicorn backend.main:app --reload
    • 前端: python frontend/app.py
  6. 打开你的网页浏览器并访问 http://localhost:8501(如果这不起作用,请尝试重启 😑)

项目文件

看看这个漂亮的目录结构,在开发真正开始后它永远不会保持这么整洁:

basic-mcp-app/
├── .env.example           # Template for your API keys(Please don't make your api keys public🙏)
├── .gitignore             # Files to ignore in git (like the emotional baggage)
├── README.md              # This help file that nobody reads until desperate
├── requirements.txt       # Required packages (aka dependency hell)
├── run.py                 # Script to start both servers
├── backend/
│   └── main.py            # Backend server code with MCP (where the real magic happens)
└── frontend/
    └── app.py             # Gradio frontend interface (pretty buttons go here)

特性

  • 使用 Semantic Scholar 搜索科学论文(当 Google Scholar 太主流时)
  • 论文分析工具(每次都能工作 60% 的时间)
  • 简单的聊天界面(对用户简单,对开发者却是噩梦)
  • 简单的设置过程(如果你曾经攀登过珠穆朗玛峰,这对你来说就像是公园散步)

许可证

MIT(因为我很好,也不想读长篇大论的许可证)

致谢

相关 MCP 服务