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

MCP Portal

MCP Server

一个包含React前端和FastAPI后端的MCP门户部署工具,支持Docker和Kubernetes部署,提供Redis支持的任务和会话管理。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Docker云端部署服务器管理

安装说明

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

作者 / 组织

kliu2python

提供方

kliu2python

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install -r backend/requirements.txt

详细介绍

MCP门户部署

此仓库包含用于MCP门户的React前端和FastAPI后端。当前版本随附了容器化部署资源以及基于Redis的任务/会话管理功能。

先决条件

  • Docker 和 Docker Compose
  • 如果您打算运行MCP任务(设置 OPENAI_API_KEY

使用 Docker Compose 运行

  1. 将你的环境变量复制到一个(文件/地方)中 .env 文件(可选)或在你的 shell 中导出它们:
   export OPENAI_API_KEY=sk-...
   export OPENAI_MODEL=gpt-4.1-mini
   export OPENAI_BASE_URL=https://api.openai.com/v1
   export REACT_APP_API_BASE_URL=http://localhost:8000
  1. 构建并启动服务:
   docker-compose up --build

这会启动三个容器:

- Redis – 存储当前/之前的任务元数据和控制台流。 - 后端 – FastAPI 应用程序在 http://localhost:8000。 - 前端 – 使用静态React构建服务 http://localhost:3000

  1. 访问 http://localhost:3000 在您的浏览器中。

持久任务日志

任务输出被流式传输到 Redis,并持久化保存到文本文件中 backend/task_logs该目录被挂载到后端容器中,因此日志在重启后仍能保留。

您可以通过API下载任务日志:

curl -LO http://localhost:8000/tasks//log/download

构建和发布Docker镜像

该存储库附带了一个辅助脚本,用于构建前端和后端镜像,并(可选地)将它们推送到注册表。这避免了运行两个独立的进程 docker build 每次更新堆栈时都要执行命令。

# Build both images and tag them under your registry/namespace
./scripts/build-images.sh -r ghcr.io/your-org -t v1.2.3

# Build and push (requires registry login)
./scripts/build-images.sh -r ghcr.io/your-org -t v1.2.3 --push

使用 ./scripts/build-images.sh --help 要查看可用选项,包括如何覆盖前端构建期间使用的API基础URL。

部署到Kubernetes

后端API增强

  • Redis 现在可以追踪活跃、已完成、已取消和失败的任务,以及它们的控制台输出。
  • /tasks 相关终端点会公开任务历史记录、日志以及可下载的文本文件,以便进行长期存储。
  • 控制台日志在任务完成后会自动持久化,并通过 Redis 保留,以便进行重放或未来的存储解决方案使用。

后端项目结构

FastAPI 后端的组织结构如下 backend/app 采用受ftnt-qa-gpt启发的模块化布局:

  • backend/app/api/ – 按资源(测试用例、大型语言模型、任务等)分组的路由定义。
  • backend/app/models/ – SQLAlchemy ORM 模型。
  • backend/app/schemas/ – Pydantic 请求/响应模型。
  • backend/app/services/ – 共享业务逻辑(运行队列、任务编排、MCP辅助工具)。
  • backend/app/core/ 并且 backend/app/db/ – 应用配置、Redis 辅助工具和数据库会话管理。

backend/main.py 现在只是通过(某种方式)实例化应用程序 backend.app.create_app()这使得在不触及入口点的情况下更容易扩展单个层。

开发说明

  • 前端构建嵌入了 REACT_APP_API_BASE_URL 在编译时。在构建过程中覆盖默认设置,使用:
  REACT_APP_API_BASE_URL=http://your-backend:8000 docker-compose build frontend
  • 要在本地运行后端服务而不使用 Docker,请安装依赖项并启动 Uvicorn:
  pip install -r backend/requirements.txt
  uvicorn backend.main:app --reload

确保 REDIS_URL 指向一个可访问的 Redis 实例。

配置MCP服务器和OTP支持

后端会自动为每个任务建立MCP客户端连接。默认情况下,它会连接到一个单独的Chrome DevTools代理 MCP_SERVER_URL当多因素认证需要通过电子邮件发送一次性密码(OTP)时,您可以注册 gmail-otp-mcp 在浏览器会话中使用代理,以便代理能够无需额外设置即可获取验证码。

设置以下可选环境变量以自定义配置:

变量描述
MCP_PRIMARY_SERVER_NAME 用于主MCP服务器条目的名称(默认为 http)。
MCP_PRIMARY_SERVER_ALIASES用逗号分隔的别名,它们指向同一个主服务器URL。
MCP_GMAIL_OTP_URLGmail OTP MCP 代理的URL。定义后,该服务器将对所有任务可用。
MCP_GMAIL_OTP_SERVER_NAMEGmail OTP 服务器条目的可选别名(默认为 gmailOtp)。
MCP_SERVERS_FILE可选的JSON文件路径,用于描述MCP服务器。接受顶级(或根级)路径 { "mcpServers": { ... } } 对象或别名到服务器定义的简单映射。
MCP_ADDITIONAL_SERVERS描述额外MCP服务器的JSON对象。每个键是别名,每个值要么是URL字符串,要么是一个包含(此处原文未完整,假设后续内容为描述该对象应包含的属性或信息)... 的对象 url 关键和可选的额外配置。

示例 shell 配置:

export MCP_SERVER_URL=http://localhost:9000/sse
export MCP_GMAIL_OTP_URL=http://localhost:9100/sse
export MCP_ADDITIONAL_SERVERS='{"fileManager": {"url": "http://localhost:9200/sse", "capabilities": ["fs"]}}'

或者,将服务器定义放入一个JSON文件中,并通过引用该文件来使用 MCP_SERVERS_FILE

{
  "mcpServers": {
    "chrome:lab1": {"url": "http://localhost:9000/sse"},
    "gmail:otp": {"url": "http://localhost:9100/sse"}
  }
}
export MCP_SERVERS_FILE=./config/mcp-servers.json

诸如环境变量等 MCP_GMAIL_OTP_URL 并且 MCP_ADDITIONAL_SERVERS 继续覆盖文件中的条目,以便您可以在不同环境中重用相同的JSON配置。

基于这些值,代理可以调用Chrome DevTools MCP,从Gmail获取一次性密码(OTP),并连接到任何其他已注册的代理 无需对任务定义做进一步更改。

目录标签

目录标签

Docker云端部署服务器管理React前端Python本地部署FastAPI后端Docker部署Kubernetes部署Redis管理

接入字段

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

stdio

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

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP