石碑MCP堆叠
Stelae将本地WSL工作区转换为桌面代理、ChatGPT连接器和其他HTTP/SSE客户端可以使用的单个MCP端点。该仓库捆绑了基于Go的代理、辅助MCP服务器、捆绑安装程序和自动化,用于呈现配置、重启PM2和通过可选的Cloudflare隧道发布目录,同时允许您在不手动编辑文件的情况下发现/安装新的MCP服务器,并声明性地覆盖或聚合现有工具。
寻求深入的运营指导?所有以维护人员为中心的程序现在都已上线 Developpent.md。此README主要关注您通常在GitHub登录页面上期望的信息:项目是什么,如何尝试,以及在哪里可以找到其余的文档。
______________________________________________________________________
亮点
- 一个HTTP/SSE端点(
Dub1n/mcp-proxyfork),它聚合了文件系统、ripgrep、shell、内存、fetch和目录驱动的自定义工具。 - FastMCP电桥(
scripts/stelae_streamable_mcp.py)使stdio客户端与代理目录保持同步,并回退到search/fetch当代理服务器关闭时。 - Starter捆绑包安装开发人员友好的MCP服务器,而不会污染跟踪配置;额外的捆绑包落入
${STELAE_CONFIG_HOME}/bundles/,并且即将发布的版本将每个捆绑包作为一个可移植文件夹发布,您可以将其放入配置主页中,以加载自定义工具+服务器,而无需重复覆盖。 - 内建
manage_stelaeMCP工具完全通过MCP请求驱动发现、安装、删除和重新启动,因此您可以添加1mcp显示的服务器,而无需接触文件或shell脚本。 - 声明性覆盖和聚合片段允许您重命名工具、调整描述和模式、隐藏重复项,并将任何下游工具集打包到一个精心策划的调用中,使目录保持简洁。
- 管理渲染/重启流程(
make render-proxy,scripts/run_restart_stelae.sh)将运行时工件保持在${STELAE_STATE_HOME}并验证目录漂移。 - 可选的Cloudflare命名隧道向支持SSE的远程代理公开相同的目录。
堆栈快照
| 组件 | 运输 | 发射命令 | 目的 |
|---|---|---|---|
| mcp代理 | HTTP/SSE(:${proxy_PORT:-9090}) | ${PROXY_BIN} | 聚合下游MCP服务器和自定义工具。 |
| FastMCP网桥 | 可流式传输HTTP(/mcp(stdio 。 python -m scripts.stelae_streamable_mcp | 将代理目录流式传输到Codex/CLI客户端。 | |
| 工具聚合器MCP | stdio | ${PYTHON} ${STELAE_DIR}/scripts/tool_aggregator_server.py | 发布来自配置主目录片段和捆绑包的声明性复合工具,包括别名、描述/模式覆盖和隐藏规则,以便管理下游的混乱。 |
| Stelae积分器MCP | stdio | ${PYTHON} ${STELAE_DIR}/scripts/stelae_integrator_server.py | 通过1mcp安装/删除下游服务器并重新启动堆栈。 |
| 1mcp发现代理 | stdio | ${ONE_MCP_BIN} --transport stdio | 查找附近的MCP服务器并向 manage_stelae 安装flow,这样您就永远不会手动触摸文件。 |
| 文件系统/ripgrep/命令MCP | stdio | ${FILESYSTEM_BIN}, ${RG_BIN}, ${NPX_BIN} | 安装启动器包后,核心工作区帮助程序可用。 |
| 可选服务器 | 各不相同 | 查看启动包+发现安装 | 内存、Strata、Fetch、Scrapling、Cloudflared助手等。 |
快速开始
需求
- Python 3.11+、Go工具链和Node.js通过NVM。
- Cloudflare CLI(仅用于远程访问)和标准GNU工具(
make,jq). - WSL具有写入权限
${STELAE_CONFIG_HOME}(默认为~/.config/stelae).
设置
python scripts/setup_env.py # seed env + catalog defaults under ~/.config/stelae
make render-proxy # render proxy.json + merged overrides
source ~/.nvm/nvm.sh && make up # start pm2 services随时安装可选的MCP套件 python scripts/install_stelae_bundle.py.
验证
curl -s http://localhost:${PROXY_PORT:-9090}/.well-known/mcp/manifest.json | jq '{servers, tools: (.tools | map(.name))}'
source ~/.nvm/nvm.sh && pm2 status当清单列出预期的工具,PM2将代理、FastMCP网桥和附件MCP服务器显示为 online,您可以将Codex CLI/TUI或ChatGPT的连接器连接到 http://127.0.0.1:9090 (或启用后的Cloudflare主机名)。
用法
- 渲染+重新启动: 跑
make render-proxy编辑模板或目录片段后,然后scripts/run_restart_stelae.sh --keep-pm2 --no-bridge --no-cloudflared重建、重新启动和捕获目录漂移。添加--full当您还需要将清单推送到Cloudflare并重新启动隧道/工作者时。 - 启动/停止服务:
make up加载PM2生态系统(代理、网桥、MCP服务器、可选的cloudflared);make down阻止他们。总是source ~/.nvm/nvm.sh在PM2命令之前。 - 本地客户: FastMCP网桥上的Point Codex或其他MCP客户端(
scripts/stelae_streamable_mcp.py)与STELAE_PROXY_BASE=http://127.0.0.1:9090。网桥会自动附加/mcp和负载.env/${STELAE_CONFIG_HOME}/.env.local. - 远程访问: 配置
~/.cloudflared/config.yml随着stelae隧道,在PM2下运行(pm2 start "cloudflared tunnel run stelae" --name cloudflared),并验证https://mcp.infotopology.xyz/.well-known/mcp/manifest.json镜像本地目录。 - 发现驱动的安装: 使用
manage_stelaeMCP工具(可通过网桥使用)运行discover_servers,install_server,remove_server,或run_reconcilerCLI等效工具位于scripts/stelae_integrator_server.py --cli ....
文档
- Developpent.md –维护人员手册,涵盖环境分层、重启自动化、目录处理、捆绑工作流、发现安装和故障排除。
- docs/ARCHITECTURE.md –深入了解配置分层、目录流和预期/实时快照模型。
- 代理商.md –对在该回购内工作的代理人的运营期望。
- docs/e2e_clone_smoke_test.md –克隆烟雾防护带和验证步骤。
- 贡献.md –贡献者快速入门(env/restart/diag标志)。
支持和故障排除
大多数操作问题(PM2故障、目录漂移、隧道中断、SSE探头)记录在 Developpent.md。如果您只需要快速提醒:
- 确保
source ~/.nvm/nvm.sh && pm2 status显示online为了mcp-proxy,stelae-bridge、下游MCP服务器,以及(可选)cloudflared. - 重新运行
python scripts/process_tool_aggregations.py --scope local+make render-proxy每当工具元数据发生变化时。 - 使用
make verify-clean在发布模板或捆绑包更新之前,请确认重新启动自动化git status保持清洁。
黑客快乐!
路线图
- 便携式捆绑包: 飞行中工作(见
dev/tasks/completed/intended-catalog-plan-untracked-configs.md)使每个包都成为您放入的独立文件夹${STELAE_CONFIG_HOME}/bundles//该文件夹包含其目录片段、自定义工具元数据和安装标记,因此服务器/脚本可以自动连接,而无需克隆覆盖数据。 - 分层整合: TODO项目跟踪更深层次的Strata路由:通过对账器进行能力驱动的升级,可选
make promote CAPABILITY="…" TARGET=strata通过Strata可以满足如此罕见的功能,而不会使核心清单膨胀或需要重新启动代理。
