2.8 KiB
2.8 KiB
Changelog
All notable changes to totalmcp will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Added
- Phase 0 scaffold — Express + MCP SDK bootstrap, plugin registry with chokidar hot-reload, Streamable HTTP + legacy SSE transports, per-agent bearer auth, Zod-validated env config, structured JSON logger, Prisma event-log schema, Dockerfile + docker-compose for local dev.
MCPPlugininterface contract with semver-based gateway compatibility check.- Health and plugin-list endpoints.
- Phase 1 —
giteaplugin (8 tools: list/get/create repos, list/create issues, list branches, get/commit files) against the Gitea v1 REST API. - Phase 1 —
unraidplugin (6 tools: host summary, list/get containers, list shares, list VMs, disk health) against the unraid-api GraphQL endpoint. - Phase 2 —
dockerplugin (6 tools: list containers, start/stop/restart, get logs, get stats) via direct Docker socket usingdockerode. Decodes the multiplexed stdout/stderr log stream automatically. - Phase 2 —
openclawplugin (3 tools: list models, get model info, chat) against NOVA's Ollama-compatible HTTP API athttp://10.2.0.26:18789. - Phase 3 —
unifiplugin (4 tools: list access events, list users, get door status, list sites) against the UniFi Access developer REST API. - Phase 3 —
codex-mrpplugin (5 tools: list/get/create work orders, get inventory, list BOMs) via direct SQLite usingbetter-sqlite3. Queries use placeholder table/column names — adjust to match your CODEX schema before relying on these tools. - Phase 3 —
streamvaultplugin (4 tools: list jobs, add download, get job status, cancel job) — REST stub; awaits StreamVault deployment. - Phase 3 —
rackmapperplugin (4 tools: list racks, get rack, list devices, map service) against RackMapper at 10.2.0.23. - Shared HTTP helper at
src/util/http.ts— timeout, JSON serialization, structuredHttpError. - Dependencies:
dockerode,@types/dockerode,better-sqlite3,@types/better-sqlite3.
Changed
- Dockerfile: install
python3/make/g++in the builder stage andlibstdc++in the runtime stage sobetter-sqlite3compiles cleanly on Alpine/musl. - docker-compose.yml: Docker socket is now mounted read-write (Phase 2 needs it for start/stop). Added a commented-out mount line for the CODEX SQLite file.
Changed
- Tool naming: plugins now provide fully-qualified tool names (e.g.,
gitea_list_repos) directly. The registry no longer auto-prefixes withpluginName__. This matches PLAN.md's naming and handles plugins likecodex-mrpwhose tool prefix (codex_) differs from the directory name.