Mcp_servers

Mcp_servers

🚀 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()
  • 0 关注
  • 0 收藏,26 浏览
  • system 提出于 2025-10-05 18:57

相似服务问题

相关AI产品