Workflowy MCP Server
by o4114o
README.md
# Workflowy MCP Server
Workflowy MCP Server for Nanobot - 讓 nanobot 可以透過 Model Context Protocol 操作 Workflowy。
## 功能
- `list_targets` - 列出所有可用的 targets (inbox, home 等)
- `list_nodes` - 列出指定 parent 的子節點
- `get_node` - 取得單一節點的詳細資訊
- `create_node` - 建立新節點
- `update_node` - 更新節點內容
- `delete_node` - 刪除節點
- `move_node` - 移動節點到新的父節點
- `complete_node` - 標記節點為完成
- `uncomplete_node` - 取消節點的完成狀態
- `export_all_nodes` - 匯出所有節點
## 安裝
```bash
# 使用 uvx 直接執行
uvx workflowy-mcp
# 或先安裝後使用
pip install workflowy-mcp
workflowy-mcp
# nanobot 使用特定的虛擬環境,先啟動該 venv,然後執行: (推薦)
source /path/to/nanobot-venv/bin/activate
pip install /home/user/workspace/workflowy-mcp
```
## 設定
### 1. 取得 Workflowy API Key
前往 https://workflowy.com/api-key 取得 API Key。
### 2. 設定 nanobot config
在 nanobot 的設定檔中加入:
```json
{
"tools": {
"mcpServers": {
"workflowy": {
"command": "uvx",
"args": ["workflowy-mcp"],
"env": {
"WORKFLOWY_API_KEY": "your-api-key",
"WORKFLOWY_DEFAULT_PARENT": "home"
}
}
}
}
}
```
## 環境變數
| 變數 | 說明 | 必填 | 預設 |
|------|------|------|------|
| `WORKFLOWY_API_KEY` | Workflowy API Key | 是 | - |
| `WORKFLOWY_DEFAULT_PARENT` | 預設 parent_id | 否 | inbox |
## 使用方式
nanobot 啟動後,LLM 可以使用以下 tools:
```
mcp_workflowy_list_targets - 列出所有 targets
mcp_workflowy_list_nodes - 列出子節點 (parent_id 預設為 inbox)
mcp_workflowy_get_node - 取得節點詳情
mcp_workflowy_create_node - 建立新節點
mcp_workflowy_update_node - 更新節點
mcp_workflowy_delete_node - 刪除節點
mcp_workflowy_move_node - 移動節點
mcp_workflowy_complete_node - 標記完成
mcp_workflowy_uncomplete_node - 取消完成
mcp_workflowy_export_all_nodes - 匯出所有節點
```
### 範例
```python
# 在 inbox 建立新任務
mcp_workflowy_create_node(
parent_id="inbox",
name="每週回顧",
note="每週五下午進行",
layout_mode="todo"
)
# 列出 inbox 的內容
mcp_workflowy_list_nodes(parent_id="inbox")
# 移動節點到 home
mcp_workflowy_move_node(
id="xxx-xxx-xxx",
parent_id="home",
position="top"
)
```
## parent_id 可用值
- `"inbox"` - 預設的收件匣
- `"home"` - 預設的首頁
- `"None"` - 頂層節點
- UUID - 任意節點的 ID
## 開發
```bash
# 安裝開發依賴
pip install -e ".[dev]"
# 執行
python -m workflowy_mcp
# 測試
pytest
```
## License
MIT
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues