Wolai MCP Server 🐺
English | 中文
Connect AI agents to your Wolai knowledge base via the Model Context Protocol (MCP).
Read, write, search, and navigate your Wolai pages — all from Claude, Cursor, OpenCode, or any MCP-compatible AI agent.
✨ Features
| Category | Tools | Description |
|---|---|---|
| 📖 Read | get_block, get_block_children, get_breadcrumbs | Read pages, list children, navigate hierarchy |
| ✏️ Write | create_block, update_block, delete_block | Create, update, and delete blocks |
| 📊 Database | get_database, create_database_row, query_database_rows | Query and modify database tables |
| 🔍 Search | search_pages | Fuzzy title search across page tree |
| 📎 Upload | upload_file | Upload file attachments to pages |
| 🔑 Token | create_token, refresh_token | Manage API authentication tokens |
| ⚙️ Config | get_config, update_config | Runtime configuration management |
16 tools total — covering read, write, database, search, upload, token, and configuration.
🚀 Quick Start
Install
npm install -g wolai-mcp
# or
npx wolai-mcp
Get Credentials
- Go to Wolai Developer Console
- Create an application → get App ID and App Secret
- Find the Root Page ID from your Wolai page URL (the part after
wolai.com/)
Interactive Setup
npx wolai-mcp init
Follow the prompts to enter your credentials. They will be saved to ~/.wolai-mcp/config.json.
Environment Variables
Alternatively, set environment variables:
export WOLAI_APP_ID="your_app_id"
export WOLAI_APP_SECRET="your_app_secret"
export WOLAI_ROOT_ID="your_root_page_id" # optional, for search
📋 Platform Configuration
OpenCode
Add to your opencode.json:
{
"mcp": {
"wolai-mcp": {
"command": "npx",
"args": ["wolai-mcp"],
"env": {
"WOLAI_APP_ID": "your_app_id",
"WOLAI_APP_SECRET": "your_app_secret",
"WOLAI_ROOT_ID": "your_root_page_id"
}
}
}
}
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"wolai-mcp": {
"command": "npx",
"args": ["wolai-mcp"],
"env": {
"WOLAI_APP_ID": "your_app_id",
"WOLAI_APP_SECRET": "your_app_secret",
"WOLAI_ROOT_ID": "your_root_page_id"
}
}
}
}
Cursor / CherryStudio / Other MCP Clients
{
"wolai-mcp": {
"command": "npx",
"args": ["wolai-mcp"],
"env": {
"WOLAI_APP_ID": "your_app_id",
"WOLAI_APP_SECRET": "your_app_secret",
"WOLAI_ROOT_ID": "your_root_page_id"
}
}
}
💡 Usage Examples
Once configured, ask your AI agent:
- "读取我 Wolai 知识库的首页内容"
- "搜索标题包含'项目计划'的页面"
- "在指定页面下创建一个新页面叫'会议纪要'"
- "往指定页面添加一段代码"
- "查询我的数据表格内容"
- "显示当前 Wolai 配置状态"
🔧 Tool Reference
Token Management
create_token
Create a new API token.
app_id(string): Wolai Application IDapp_secret(string): Wolai Application Secret
refresh_token
Refresh the current API token.
Block Operations
get_block
Get details of a specific block or page.
id(string): Block ID or Page ID
get_block_children
Get child blocks of a given block or page.
id(string): Parent block IDcursor(string, optional): Pagination cursorpage_size(number, optional): Results per page (default: 100)
create_block
Create a new block under a parent.
parent_id(string): Parent block or page IDtype(string): Block type (text, heading, bullet, code, etc.)content(string, optional): Block content texttext_alignment(string, optional): left, center, or rightlevel(number, optional): Heading level 1-3language(string, optional): Code language for code blocks
update_block
Update an existing block.
id(string): Block IDcontent(string, optional): New contenttext_alignment(string, optional): New alignmentlevel(number, optional): New heading level
delete_block
Delete a block.
id(string): Block ID
get_breadcrumbs
Get the breadcrumb path for a block.
id(string): Block ID
Database Operations
get_database
Get database structure and data.
id(string): Database ID
create_database_row
Add rows to a database.
database_id(string): Database IDcells(string): JSON string of cell data
query_database_rows
Query database rows with pagination.
database_id(string): Database IDcursor(string, optional): Pagination cursorpage_size(number, optional): Results per page
Search
search_pages
Search pages by title keyword.
query(string): Search keywordroot_id(string, optional): Root page to start search from
Upload
upload_file
Upload a file attachment.
parent_id(string): Parent block or page IDfile_path(string): Local file path
Configuration
get_config
Get current configuration (hides secret).
update_config
Update configuration.
app_id(string, optional): New App IDapp_secret(string, optional): New App Secretroot_id(string, optional): New root page ID
📄 License
MIT License — see LICENSE for details.