返回 MCP 目录
public公开dns本地运行

mcp_servers

00_master_mcp是MCP多智能体系统的核心协调器,负责管理所有下游服务容器的连接、上下文路由、安全策略执行和复杂工作流编排,并提供统一的SSE端点供外部工具访问。

article

README

🚀 00_master_mcp 容器技术文档

本项目的00_master_mcp容器作为多代理系统的中央编排器,能够协调和管理多个专业化服务器,实现系统资源和服务的高效调用与整合。通过单一入口点复用所有下游服务器功能,并提供层次化命名空间组织工具,极大提升了系统的管理效率和扩展性。

🚀 快速开始

构建镜像

docker build -t mcp_master .

运行容器

docker run --network host -d mcp_master

访问接口

通过http://<宿主机>:8000访问MCP服务

✨ 主要特性

  1. 集中控制:通过FastMCPHost暴露单个API端点,统一管理多个专业化服务器。
  2. 命名空间隔离:采用层次化命名空间(如os.linux, cloud.azure)避免工具名称冲突,提升系统扩展性。
  3. 上下文聚合:协调各个专业化服务器的交互,实现跨服务功能调用。
  4. 安全策略:通过命名空间层级权限控制,确保资源访问安全性。

📦 安装指南

构建镜像

docker build -t mcp_master .

运行容器

docker run --network host -d mcp_master

💻 使用示例

基础用法

通过以下命令构建并运行容器,然后通过http://<宿主机>:8000访问MCP服务。

# 构建镜像
docker build -t mcp_master .
# 运行容器
docker run --network host -d mcp_master

📚 详细文档

容器结构

  • Dockerfile:定义了容器构建基础镜像、安装运行时依赖及启动脚本配置。
  • entrypoint.sh:配置了容器启动时的网络接口绑定和用户权限限制,保障运行安全。
  • mcp_host.py:实现了MCP协议的具体逻辑,包括服务器注册、请求分发和响应处理。

命名空间策略

  • 顶级域名:按功能类别划分(如os, cloud, infra, web等)。
  • 服务 specificity:在每个顶级域名下使用子命名空间指定具体技术(如os.linux, cloud.azure)。
  • 子系统粒度:通过进一步的子命名空间组织特定功能,避免过多容器化工具。

层次化 MCP 示例

master (:8000)
 ├─ os
 │  ├─ linux           (01_linux_cli_mcp:8001)
 │  │  ├─ cli.*        # 基本命令和文件操作
 │  │  ├─ ceph.*       # Ceph集群管理
 │  │  ├─ nginx.*      # Nginx服务配置
 │  │  ├─ mta.*        # 邮件传输代理操作
 │  │  └─ sftp.*       # SFTP服务器管理
 │  ├─ windows.*     (02_windows_mcp:8002)
 │  └─ macos.*       (10_macos_mcp:8010)
 ├─ cloud
 │  ├─ azure.*       (03_azure_mcp:8003)
 │  └─ gcloud.*      (04_google_cloud_mcp:8004)
 ├─ infra
 │  ├─ vmware.*      (05_vmware_mcp:8005)
 │  └─ k8s.*         (08_k8s_mcp:8008)
 ├─ web
 │  ├─ search.*      (06_web_search_mcp:8006)
 │  └─ browse.*      (07_web_browsing_mcp:8007)
 ├─ workflows
 │  └─ n8n.*         (09_n8n_mcp:8009)
 ├─ trading
 │  └─ freq.*        (11_freqtrade_mcp:8011)
 ├─ cmdb              (12_cmdb_mcp:8012)
 │  ├─ local.*       # 本地CSV/SQLite数据库工具
 │  └─ servicenow.*  # ServiceNow集成工具
 └─ secrets           (13_secrets_mcp:8013)
    ├─ keepass.*     # KeePass后端工具
    ├─ azurekv.*     # Azure Key Vault后端工具
    └─ gcloudsa.*    # Google Cloud Secret Manager后端工具

代码实现

Dockerfile

# 基础镜像
FROM python:3.9-slim

# 安装运行时依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
    ca-certificates \
 && rm -rf /var/lib/apt/lists/*

# 设置工作目录
WORKDIR /app

# 复制文件
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

# 配置启动脚本
ENTRYPOINT ["./entrypoint.sh"]

entrypoint.sh

#!/bin/sh
set -e

# 绑定8000端口到宿主机
sed -i "s/127.0.0.1/0.0.0.0/g" /app/mcp_host.py

# 以非root用户运行
useradd -m mcp_user
chown -R mcp_user /app
su -c "python3 /app/mcp_host.py" mcp_user

mcp_host.py

import sys
from fast_mcp import FastMCPHost

def main():
    host = FastMCPHost()
    try:
        host.start("0.0.0.0", 8000)
    except KeyboardInterrupt:
        print("\nStopping MCP Host...")
    except Exception as e:
        print(f"Error: {e}")
        sys.exit(1)

if __name__ == "__main__":
    main()
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端