steward
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@stewardWhat's the current situation across workspaces?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Steward(管家账本)
The ledger behind the floating orb: every workspace reports what it did, the orb reads the report. An append-only event log plus four MCP tools — no chat transcripts, no models, no dependencies beyond the standard library.
悬浮球(管家)背后的账本:每个工作区干完活交一行回执,管家随时汇报。只增不改的事件表 + 四个 MCP 工具,纯标准库。
Platform support: macOS — supported (developed & verified on this machine) · Windows — unverified (paths are cross-platform in the codebase, but no real-machine testing yet).
中文说明 · License: AGPL-3.0-only
Why a ledger instead of a transcript
The orb has to answer "what is going on right now?" without holding every conversation in context. Events do that: who, what, outcome, file, at most three numbers. A transcript grows until the context window dies; a ledger stays bounded and stays answerable.
The injectable column is the gate: progress chatter is written down but never reaches the
brief. Only events that answer a question get injected.
Related MCP server: factlog
Tools (MCP)
Tool | Input | What it does |
|
| A workspace's one-line receipt. Returns |
|
| Pull event detail on demand — the orb asks for specifics. |
|
| What is going on right now: recent key events, unresolved failures, which actors are moving, plus |
|
| Page / project / selection changes are events too — that is how the orb knows where you are after you switch. |
The contract
Workspaces never write the ledger directly. They call
report_doneand hand back a receipt. One writer, one schema, no two code paths disagreeing about what an event means.Append-only. No updates, no deletes in the tool surface; history is the point.
Bounded injection.
metricskeeps the first three keys;injectable=falsemarks progress events that belong in the log but not in the brief.
Wire it up
# stdio MCP server, no third-party packages
python3 mcp_server.pyStorage: ~/Documents/ShadowRoom/_steward/ledger.db (SHADOWROOM_STEWARD_DB overrides it).
Delete that file to reset the ledger; nothing else references it.
Development
python3 -c "import ast,sys; ast.parse(open('mcp_server.py').read())"
printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | python3 mcp_server.pyThis server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP memory and agent control plane for durable conversations, jobs, and operations.
- OctopadOAuthapp.octopad
The back-office workspace for your team's AIs: tasks, knowledge and context shared over MCP.
Hosted MCP messaging across owners, tools, and machines, with readable transcripts.
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Related MCP Servers
- AlicenseBqualityAmaintenanceLocal MCP event log for multi-agent workspaces, enabling structured event publishing, cursor-based polling, and status checks via SQLite-backed sidecar.1058 PyPIMIT
- FlicenseNot gradedqualityBmaintenanceA shared, append-only fact log that enables AI agents to coordinate on a workspace via MCP, CLI, REST, and web interfaces.-
- FlicenseNot gradedqualityBmaintenanceCaptures AI-assisted work into a searchable ledger and exposes it via MCP for querying past conversations and decisions.-

roxabi-senseofficial
AlicenseBqualityBmaintenanceLocal workstation attention journal that tracks focus, idle, and agent sessions, exposing timeline data via MCP for AI agents to query current or past activity.5AGPL 3.0