Token导航 LogoToken导航TokenDH.com
MCP client with streamlit logo
运维云端stdio官方级别未说明来源级核验

MCP client with streamlit

MCP Server

一个基于Python的MCP客户端,集成了FastAPI后端和Streamlit前端,用于连接MCP服务器并通过交互式界面执行工具。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
API集成对话管理FastAPIClaudeClaude

安装说明

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

作者 / 组织

wylcetal

提供方

wylcetal

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install uv

详细介绍

MCP客户端Python

MCP(Model Context Protocol)客户机是用Python开发的,它集成了带有FastaAPI的后端API和带有StreamLit的交互式前端。该项目允许连接到MCP服务器并通过直观的Web界面运行工具。

📋 描述

MCP客户端Python是一个完整的应用程序,可以促进与MCP服务器的交互。提供:

  • 后端API:REST API使用FASTAPI构建,用于管理MCP连接和运行工具
  • 前端交互:使用StreamLit构建的聊天界面,用于与MCP客户端交互
  • 对话管理:存储和检索对话记录
  • 多工具支持:能够连接到多个MCP服务器并使用其工具

🏗️ 项目结构

mcp-client-py/
├── api/                          # Backend FastAPI
│   ├── main.py                   # Punto de entrada de la API
│   ├── mcp_client.py             # Cliente MCP principal
│   ├── conversations/            # Gestión de conversaciones
│   ├── utils/                    # Utilidades (logger, etc.)
│   └── .env                      # Variables de entorno (API keys)
├── front/                        # Frontend Streamlit
│   ├── main.py                   # Punto de entrada de Streamlit
│   ├── chatbot.py                # Lógica del chatbot
│   └── utils/                    # Utilidades del frontend
├── pyproject.toml                # Configuración del proyecto y dependencias
├── uv.lock                       # Lock file de dependencias
└── README.md                     # Este archivo

🔧 依赖性

该项目使用以下主要单位:

  • 人类 (>=0.71.0):用于与Claude交互的Anthropic SDK
  • fastapi (>=0.119.1):框架web后端
  • 流明 (>=1.50.0):前端交互框架
  • 主控程序 (>=1.18.0):Protocolo模型上下文协议
  • fastmcp (>=2.12.4):快速MCP工具
  • python dotenv (>=1.1.1):环境变量管理
  • HTTPX (>=0.28.1):异步HTTP客户端
  • 美容组4 (>=4.14.2):解析HTML

📦 软件包管理器

该项目使用 紫外线 作为包管理器,它比PIP更快、更有效。确保您的系统中安装了紫外线。

感谢UV!

# En Windows (usando pip)
pip install uv

# O descargar desde https://github.com/astral-sh/uv

⚙️ 配置

环境变量

该项目需要一个文件 .env 在文件夹中 api/ 要存储所需的API密钥:

# api/.env
ANTHROPIC_API_KEY=tu_api_key_aqui

重要:从不提交文件 .env 到您的存储库。包含在 .gitignore.

🚀 安装和执行

1.克隆存储库

git clone https://github.com/tu-usuario/mcp-client-py.git
cd mcp-client-py

2.安装依赖项

# Usando uv (recomendado)
uv sync

# O usando pip
pip install -e .

3.配置环境变量

创建新文件 .env 在文件夹中 api/:

# api/.env
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxxxxxxx

4.运行后端API

# Desde la raíz del proyecto
uvicorn api.main:app --reload

API将在 http://localhost:8000

互动文档: http://localhost:8000/docs

5.运行Frontend StreamLit(在另一个终端上)

# Desde la raíz del proyecto
streamlit run front/main.py

前端将在 http://localhost:8501

📡 运作

执行流程

  1. 用户与StreamLit交互:用户在StreamLit界面上键入消息
  2. 发送到API:前端通过HTTP向后端API发送消息
  3. MCP处理:API使用MCP客户端处理消息
  4. 执行工具:如有必要,运行MCP服务器工具
  5. 回答:API将响应返回到前端
  6. 可视化:StreamLit显示用户的响应

主要成分

后端(api/mcp_client.py)

  • MCP客户端:管理与MCP服务器连接的主类
  • 关键方法:

- connect_to_server():连接到MCP服务器 - call_tool():运行服务器工具 - chat():处理消息并生成响应

前端(front/chatbot.py)

  • 聊天机器人:管理用户界面的类
  • 关键方法:

- display_message():在界面上显示消息 - send_message():向API发送消息 - 管理工具和结果

API(API/main.py)

  • 端点fastapi:

- 连接到MCP服务器 - 发送消息 - 恢复对话记录 - 运行工具

🔌 API的终点

连接到MCP服务器

POST /connect
Body: {
  "server_script_path": "/ruta/al/servidor-mcp.py"
}

发送消息

POST /chat
Body: {
  "message": "Tu mensaje aquí",
  "conversation_id": "id_conversacion_opcional"
}

获取历史记录

GET /conversations/{conversation_id}

📝 使用示例

  1. 启动API:
uvicorn api.main:app --reload
  1. 在另一个终端上,StreamLit启动:
streamlit run front/main.py
  1. 打开 http://localhost:8501 在你的浏览器中
  1. 通过提供脚本路径连接到MCP服务器
  1. 开始通过输入信息进行互动

🛠️ 发展

配置文件结构

  • pyproject.toml:定义项目的名称、版本、依赖关系和配置
  • uv.lock:确保依赖关系一致版本的锁文件
  • .python-version:指定所需的Python版本(>=3.11)

添加新的依赖项

# Agregar una nueva dependencia
uv add nombre_paquete

# Agregar una dependencia de desarrollo
uv add --dev nombre_paquete

📚 有用的资源

📄 许可证

这个项目是在麻省理工学院的许可下进行的。

👤 作者

在Python中作为MCP客户端开发。

🤝 贡献

欢迎捐款。请打开一个问题或拉动请求以获得建议和改进。

目录标签

目录标签

API集成对话管理FastAPIClaudePython本地部署交互式前端多工具支持

支持客户端

Claude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP