Basic MCP Application

Basic MCP Application

一个简单的应用程序,演示了模型上下文协议(MCP)与 FastAPI 和 Streamlit 的集成,允许用户通过简洁的界面与 LLM 进行交互。

Category
访问服务器

README

Basic MCP Application

一个简单的应用,展示了模型上下文协议 (MCP) 如何与 FastAPI 和 Gradio 协同工作(因为我不是一个喜欢 Streamlit 带来的头痛的开发者)。

概述

这个项目演示了一个基本的 MCP 服务器,带有一个 Gradio 前端(Streamlit 太让人头疼了,人生苦短,何必自寻烦恼)。用户可以通过营销人员所谓的“简单界面”与 AI 模型聊天,而开发者则认为这是“在我离开之前能做到的最好的程度 🥲”。

技术栈

  • 后端: FastAPI + MCP Python SDK(天作之合,不像披萨上的菠萝)
  • 前端: Gradio(因为漂亮的按钮能让人多巴胺激增)
  • AI 集成: Google Gemini API(不是星座,而是桑达尔·皮查伊的 AI AI AI AI AI AI 玩意)

已知问题

⚠️ 请注意

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

加速您的设置

这个项目与 uv 配合得很好,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. 打开您的 Web 浏览器并转到 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(因为我很好,也不想阅读冗长的许可证)

感谢

  • Anthropic 的 MCP - https://www.anthropic.com/news/model-context-protocol
  • https://modelcontextprotocol.io/introduction
  • Claude 为演示的部分内容进行了氛围编码,并非完全如此,只是一小部分 🤏。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选