返回市场
MCP服务器

MCP服务器

作者:priteshshah963 星标更新:2025-03-26

项目介绍

基本MCP应用程序

一个简单的应用,展示了如何使用FastAPI和Gradio实现模型上下文协议(MCP)(因为我不喜欢处理Streamlit带来的问题)。

概述

该项目演示了一个基本的MCP服务器,前端使用Gradio(Streamlit带来了太多麻烦,生命太短暂,不值得承受不必要的痛苦)。用户可以通过所谓的“简单界面”与AI模型进行对话,而开发者则认为这是“在我继续前进之前能做的最好尝试”。

技术栈

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

已知问题

⚠️ 请注意

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

加速设置

这个项目非常适合使用uv,这是一个超级快速的Python包安装器!无需等待pip在下一个世纪完成安装,您可以使用uv在几秒钟内安装依赖项。强烈推荐这种方式以获得更流畅的体验(并夺回盯着进度条的时间)。

快速开始

所需条件

  • Python 3.11或更新版本(对不起,还在使用Python 2的恐龙们)
  • pip包管理器(或它的更快、更酷的表亲uv
  • RCB的耐心(Google一下)(可选但推荐)

设置步骤

  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           # API密钥模板(请不要公开您的API密钥🙏)
├── .gitignore             # Git忽略的文件(就像情感包袱)
├── README.md              # 这个帮助文件,直到绝望才有人阅读
├── requirements.txt       # 需要的包(即依赖地狱)
├── run.py                 # 启动两个服务器的脚本
├── backend/
│   └── main.py            # 包含MCP的后端服务器代码(真正的魔法发生的地方)
└── frontend/
    └── app.py             # Gradio前端界面(漂亮的按钮放在这里)

功能

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

许可证

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

致谢