SmileWork
OfficialProvides optional Git pre-commit hook management that blocks commits containing registered work or plan IDs and can check staged changes.
Allows running Gradle verification tasks through the verify_run tool and captures the output as server evidence.
Allows running Pytest verification commands through the verify_run tool and captures the output as server evidence.
Allows running Swift verification commands through the verify_run tool and captures the output as server evidence.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
SmileWork
SmileWork 是跨代理共用的本機 MCP 伺服器。它透過 stdio 連上 Claude Code、OpenCode、Codex 等宿主,讓同一個專案的工作、證據、知識與對話索引由同一份資料庫管理。資料保存在 ~/.smilework/,伺服器本身不呼叫 LLM,也不連網。
目前版本是 0.1.1,已發佈到 npm。用 bun add -g smilework 安裝後執行 smilework,也可以從原始碼執行。
提供什麼
21 個 MCP 工具,分成工作、驗證、狀態、訊號、知識與對話六個領域。
三種工具 profile:
worker12 個、curator15 個、full21 個。工作流程:建立、更新、依賴、可開始清單、審查、結案。結案會檢查驗收結果、證據、依賴與高風險核准。
伺服器驗證:
verify_run只能執行白名單 runner(bun、npm、pytest、cargo、gradle、swift),輸出寫成可追查的伺服器證據。知識:寫入前檢查、版本、歷史、還原、退役與升級。
訊號:記錄糾正、失敗、修好、審查退回與教訓。
對話:索引 Claude Code、Codex 與 OpenCode 的對話紀錄,支援搜尋與讀取。
匯出與匯入:舊版
.ultrawork/匯出成smilework-exportv1,再匯入本機資料庫。MCP resources 與 prompts:工作看板、單一工作、知識索引,以及派工、審查、整理三個提示。
Related MCP server: todos
需求
Bun 1.3 以上
一個 git 專案(工作會綁定專案根目錄)
安裝與檢查
從 npm 全域安裝:
bun add -g smilework
smilework --help從原始碼開發時:
bun install
bun run typecheck
bun test
bun run build查看 CLI 說明:
bun run src/cli/index.ts --help檢查環境:
bun run src/cli/index.ts doctor --jsondoctor 只讀取現有狀態。資料庫或對話索引尚未建立時,它會回報警告與下一步,不會自動寫入資料。
連上宿主
先設定共用環境變數:
export SMILEWORK_ACTOR=my-agent
export SMILEWORK_MODEL=my-model
export SMILEWORK_PROFILE=workerSMILEWORK_ACTOR 與 SMILEWORK_MODEL 會寫進工作、證據與事件紀錄。SMILEWORK_PROFILE 選擇工具清單;未設定時預設 worker。SMILEWORK_PROJECT 可以指定專案根目錄,省略時從程序的工作目錄往上找 git 根目錄。
設定範例
Claude Code 的專案 .mcp.json:
{
"mcpServers": {
"smilework": {
"command": "/Users/you/.bun/bin/bun",
"args": ["/Users/you/src/SmileWork/src/cli/index.ts", "mcp"],
"env": {
"SMILEWORK_PROFILE": "worker",
"SMILEWORK_ACTOR": "claude-code",
"SMILEWORK_MODEL": "claude-sonnet-4-5",
"SMILEWORK_PROJECT": "/Users/you/src/your-project"
}
}
}
}OpenCode 的 opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"smilework": {
"type": "local",
"command": ["/Users/you/.bun/bin/bun", "/Users/you/src/SmileWork/src/cli/index.ts", "mcp"],
"enabled": true,
"environment": {
"SMILEWORK_PROFILE": "worker",
"SMILEWORK_ACTOR": "opencode",
"SMILEWORK_MODEL": "your-model",
"SMILEWORK_PROJECT": "/Users/you/src/your-project"
}
}
}
}Codex 的 ~/.codex/config.toml:
[mcp_servers.smilework]
command = "/Users/you/.bun/bin/bun"
args = ["/Users/you/src/SmileWork/src/cli/index.ts", "mcp"]
cwd = "/Users/you/src/your-project"
env = { SMILEWORK_PROFILE = "worker", SMILEWORK_ACTOR = "codex", SMILEWORK_MODEL = "your-model", SMILEWORK_PROJECT = "/Users/you/src/your-project" }整理代理用同一個指令,把 SMILEWORK_PROFILE 改成 curator,並換一個伺服器名稱(例如 smilework-curator),避免和執行代理混在一起。三家宿主的完整範例:
跑完一輪工作
連線成功後,請代理依序呼叫:
work_create:建立工作,填title、objective、acceptance與risk。高風險工作要設risk: "high"。work_update:把status改成in_progress。人工證據可以在這裡用evidence一起寫入。verify_run:指定workId、runner與script,由伺服器執行驗證並建立伺服器證據。例如runner: "bun"、script: "test"。work_review:由非 owner 的審查者記錄approve、concerns或reject。高風險工作一定要有非 owner 的approve。work_complete:逐項回報驗收結果,met: true的項目要附evidenceIds。缺少驗收、證據、依賴或高風險核准時,結案會失敗並回報原因。
完成後用 work_get 讀回工作,確認狀態是 done、resolution 是 completed,而且證據與審查都留下紀錄。
CLI
下表用安裝後的 smilework。從原始碼執行時,把 smilework 換成 bun run src/cli/index.ts。
指令 | 用途 |
| 啟動 MCP stdio 伺服器。 |
| 檢查設定、資料庫、專案、actor、技能連結與對話索引。 |
| 列出已登記的專案; |
| 專案搬移後,用 |
| 安裝選配的 git pre-commit 檢查,擋下含已登記工作或計畫 ID 的提交。 |
| 移除本工具建立的 pre-commit,不動別人的 hook。 |
| 顯示 pre-commit 狀態。 |
| 檢查暫存變更是否含已登記 ID。 |
| 顯示對話索引狀態。 |
| 建立或增量更新索引; |
| 把使用者層或專案層技能連到宿主技能資料夾。 |
| 從本機資料庫輸出 |
| 把舊版 |
| 把 |
| 記錄一次工具或知識使用事件。 |
每個子命令都支援 --help。
資料位置
路徑 | 內容 |
| 專案、工作、事件、證據、訊號、知識與使用量。 |
| 知識與技能的檔案快照。 |
|
|
| 對話索引。 |
| 使用者層 profile 與停用工具設定。 |
SMILEWORK_HOME 可以改掉整個資料目錄。多個宿主共用同一個資料庫時,SQLite 以 WAL 模式開啟,並設定 busy_timeout;同時大量寫入仍可能遇到忙碌,重試即可。
文件
開發
bun install
bun test
bun run typecheck
bun run build測試使用
bun test,型別檢查使用tsc --noEmit。bun.lock要進版控,不要手動編輯。研究筆記與 spike 放在
.ultrawork/research/,不進版控。
目前限制
只提供 stdio 傳輸,沒有 HTTP 常駐程式。
三個 profile 的工具數量固定為 12、15、21;專案層設定只能停用工具,不能改 profile。
不做雲端同步,也不在伺服器內呼叫 LLM。
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Project management shared by people and AI agents, with persistent project state through MCP.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceServer-enforced workflow discipline for AI agents. An MCP server providing persistent work items, dependency graphs, quality gates, and actor attribution. Schemas define what agents must produce — the server blocks the call if they don't. Works with any MCP-compatible client.214MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for task management, project knowledge, workspace trust, runner sandboxes, extension registry, and workflow prompts, enabling AI agents to manage tasks and collaborate locally.5,117 npmApache 2.0
- AlicenseNot gradedqualityCmaintenanceLocal-first MCP server that provides project context, verification gates, and structured tools for coding agents to discover knowledge, run diagnostics, and execute allowlisted commands within a repository.10 npmMIT
- FlicenseNot gradedqualityAmaintenanceA local-first MCP server and CLI that gives coding agents structured project memory, task contracts, context packs, backlog workflows, and verification evidence, storing data in reviewable Markdown/YAML with a fast SQLite index.4-