模型上下文协议服务器集合

MCP Toolbox是一个包含多个独立部署的Model Context Protocol(MCP)服务器的集合,用于扩展AI代理的功能,支持Kubernetes操作、外部系统访问(如Gitea和OCI注册表)以及天气服务等功能。

  • by no0ktheali3n
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 no0ktheali3n/mcp-toolbox

使用说明

MCP工具箱

一组扩展代理AI的模型上下文协议(MCP)服务器 使用专用工具运行时。每台服务器都是独立的 目录,独立版本,可自行部署。

概述

MCP工具箱托管一组模型上下文协议服务器 领域专用代理/角色项目使用-- Kubernetes操作+外部系统(Gitea+OCI注册表) 访问权限,以及从仓库中保存的参考天气服务器 原始模板。每个服务器都按照自己的标签节奏发展,因此 打破一个变化不会拖累其他变化。

项目结构

mcp-toolbox/
├── k8s/        # mcp-k8s — Kubernetes operations MCP server
├── external/   # mcp-external — Gitea + OCI registry MCP server
├── weather/    # reference National Weather Service MCP server (kept from template)
└── README.md   # this file

服务器概览

服务器 路径 传输 端口 工具计数 最新标记
mcp-k8s k8s/ 可流式传输http 8000 25(发现/诊断/修复/日志) v2.3.0
mcp外部 external/ 可流式传输的http 8002 10(4个OCI注册表+5个Gitea+检测器_submit_rca) external-v0.2.1
天气 weather/ stdio -- 2(警报、预报) --(参考)

标签惯例:

  • v* (例如。 v2.3.0) → mcp-k8s里程碑
  • external-v* (例如。 external-v0.2.1) → mcp外部里程碑
  • 活跃开发部门: v2.0-dev。里程碑标记在这个分支上。

mcp-k8s(k8s/)

Kubernetes操作MCP服务器。旨在支持任何 领域专用SRE/操作代理(代理零或任何 运行时使用可流式传输的http MCP)。25个工具跨度:

  • 发现 — get_cluster_summary, search_resources, list_*
  • 诊断 --事件+日志访问(get_events, get_pod_logs, get_resource_yaml),吊舱细节/集装箱状态检查
  • 补救(防护) — patch_resource_limits, restart_deployment, restart_container, restart_pod, scale_deployment, rollback_deployment
  • 日志查询(Loki) — query_loki, search_logs 通过 Kubernetes API服务代理(无需直接网络路径)

所有突变工具都通过可配置的denylist运行 (MCP_K8S_DENYLIST)因此,操作员可以限制代理是什么 允许根据环境进行更改。

看 k8s/README.md 对于完整目录,dev 工作流、kubeconfig设置和mutation denylist合约。

mcp外部(external/)

外部系统MCP服务器。让代理跨出Kubernetes 诊断跨系统故障(图像标签格式不匹配, 每个模式的Helm值无效等)。当前为只读;写 这些工具适用于PoC后。

  • OCI注册表 — harbor_list_tags, harbor_check_tag, harbor_list_projects, harbor_get_repository_info
  • Gitea — gitea_get_file_content, gitea_get_chart_metadata, gitea_get_recent_commits, gitea_list_branches, gitea_search_code

根据场景1进行端到端验证(图像标签格式不匹配 在注册表和Helm chart之间) external-v0.2.1.

看 external/README.md 对于env 配置、Gitea令牌引导序列和 可流化的http/双仓库工作流。

天气(weather/)

参考服务器与仓库的原始模板保持距离。整合 美国国家气象局API- get_alerts(state) 和 get_forecast(latitude, longitude)可用作最小MCP 示例以及通过stdio传输的Claude Desktop演示。 仅限NWS,因此仅限美国地区。

安装

先决条件

  • Python 3.12+
  • 紫外线 包管理器
  • Docker(适用于mcp-k8s和mcp-external——两者都运行容器化)
  • 一个正在运行的Kubernetes集群,用于mcp-k8s(建议开发人员使用k3d)
  • 为mcp-external运行Gitea+OCI注册表(轻量级 registry:2 + joxit/docker-registry-ui 配对记录在案 在Persona堆栈中 k8/docker/registry/ 编写文件)
  • 克劳德桌面版 (仅适用于标准/天气)

设置

git clone https://github.com/no0ktheali3n/mcp-toolbox.git
cd mcp-toolbox

每台服务器都有自己的构建/运行说明——请参阅子文件夹README。

运输注意事项

  • mcp-k8s 和 mcp外部 使用 可流式传输http 运输和 在Docker内部运行。由Agent Zero(或任何支持流式传输的http)使用 MCP客户端) http://<host>:<port>/mcp.
  • 天气 用途 标准 传输并由Claude Desktop使用 通过 claude_desktop_config.json 下面的图案。

克劳德桌面(stdio)--天气

添加 claude_desktop_config.json (在Windows上 %AppData%\Roaming\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": [
        "--directory",
        "C:/absolute/path/to/mcp-toolbox/weather",
        "run",
        "weather.py"
      ]
    }
  }
}

重新启动克劳德桌面,确认 weather 出现在连接器下方,以及 验证 get_alerts + get_forecast 已启用。

代理零(可流式传输http)--mcp-k8s+mcp外部

Agent Zero通过HTTP发现MCP服务器。典型的集装箱到集装箱 共享上的URL traefik-proxy Persona堆栈使用的Docker网络:

http://mcp-k8s:8000/mcp
http://mcp-external:8002/mcp

子文件夹README涵盖了完整的Agent Zero配置块。

发展

MCP检验员测试

# Weather (stdio)
npx @modelcontextprotocol/inspector uv run weather/weather.py

# mcp-k8s (HTTP)
npx @modelcontextprotocol/inspector --transport sse http://localhost:8000/mcp

# mcp-external (HTTP)
npx @modelcontextprotocol/inspector --transport sse http://localhost:8002/mcp

用于迭代开发的FastMCP CLI:

cd weather && fastmcp dev weather.py

添加新服务器

  1. 创建新目录: mcp-toolbox/<server-name>/
  2. 使用FastMCP(工具装饰器+传输选择)实现服务器
  3. 添加子文件夹 README.md 覆盖目的、工具表面、, env-var配置和dev循环
  4. 将服务器添加到此README的“服务器概览”表中
  5. 在与任何代理运行时集成之前,使用MCP Inspector进行测试

双仓库工作流程(mcp-k8s/mcp外部)

Persona堆栈为角色内的每个服务器提供一个开发副本 回购(persona/k8/docker/mcp-k8s/, persona/k8/docker/mcp-external/) 因此MCP服务器与Agent Zero和 集成测试期间的探测器。 此回购是权威的 来源 --Persona侧边编辑在每个里程碑都会反映在这里。 别让这两份文件混淆了。看 external/README.md “双重回购 注意”和 k8s/README.md 以获取精确的镜像命令。

技术栈

  • MCP-SDK --模型上下文协议实现
  • FastMCP --MCP服务器的高级Python框架
  • 运输 --stdio(天气/克劳德桌面)和可流式传输的http (mcp-k8s/mcp外部/零号代理)
  • 包管理 --紫外线
  • python — 3.12+

消费者

这些服务器专为任何能够说话的代理运行时而设计 可流式传输的http MCP。参考消费者模式是一个代理 运行域专用代理(例如SRE)的零部署 专家)加载 mcp-k8s 用于集群内诊断+ 补救和 mcp-external 用于查找真相来源 事件分流期间的Gitea+OCI注册表。

覆盖其他域的附加MCP服务器(票务, 数据库、构建/CI、云供应商API)可以与 使用自己的标签cadence对等顶级目录。

资源

许可证

麻省理工学院——见 LICENSE.

致谢


上次更新时间: 2026-04-23 最新标签: v2.3.0 (mcp-k8s)· external-v0.2.1 (mcp外部)