Brian Hung
Projects
Spreadsheet MCP
Real spreadsheets for agents over MCP, with a demo where an agent and a person edit one sheet.
One core, two runtimes
src/core
no I/O
Claude Desktop, Cursor
launches it over stdio
Remote agent
MCP over HTTP or SSE
src/local/stdio.ts
MemoryStore, optional WB_DIR
worker.ts, WorkbookDO
one Durable Object per id
createSpreadsheetServer
20 tools, spreadsheet://{id}
Workbook.edit()
stamps the author, logs a version
IronCalc engine (WASM)
real formulas, .ic and .xlsx
An agent and a person on one sheet
WebSocket diffs
MCP tool calls
Your browser tab
the @ironcalc/workbook grid
Chat panel
useChat, POST /api/chat
Harness, server.ts
streamText, MCP client over SSE
WorkbookDO
one Durable Object per workbook id
serializes edits, stamps user or agent
Other tabs
applyExternalDiffs
MCP subscribers
resources/updated
Change feed
/changes for hooks
DO storage
the workbook as .ic
The server owns the sheet and its tools. The harness owns the agent loop.