Fusebase MCP Server
Enables AI assistants to manage Fusebase workspaces by providing 46 tools for handling pages, tasks, folders, and organizational administration. It features a two-tier tool system and secure session management using reverse-engineered internal endpoints.
README
Fusebase MCP Server
An MCP server that lets AI assistants manage your Fusebase (formerly Nimbus Note) workspaces — pages, folders, tasks, tags, files, members, and more.
Note: Fusebase has no public REST API. This server uses reverse-engineered internal endpoints with cookie-based authentication.
✨ Features
- 46 tools across content, tasks, members, org admin, portals, databases, and more
- Two-tier system — 18 core tools load by default; 28 extended tools on demand
- Auto auth retry — detects 401/403 and refreshes session automatically
- Encrypted secrets — cookies stored encrypted at rest (AES-256-GCM)
- Version checking — built-in update detection from GitHub
- API logging — all requests logged for debugging
🚀 Quick Start
Prerequisites
1. Install
Option A — Install from GitHub (recommended):
npm install -g github:ryan-haver/fusebase-mcp
This automatically installs dependencies, compiles TypeScript, and downloads Chromium for auth.
Option B — Clone and build manually:
git clone https://github.com/ryan-haver/fusebase-mcp.git
cd fusebase-mcp
npm install
npm installautomatically builds the project and installs Playwright's Chromium via theprepareandpostinstallscripts.
2. Configure
Copy .env.example to .env and set your Fusebase details:
cp .env.example .env
FUSEBASE_HOST=yourorg.nimbusweb.me # Your org's Fusebase hostname
FUSEBASE_ORG_ID=your_org_id # Found in Fusebase URL or API responses
Where to find these: Log into Fusebase → look at the URL bar. Your hostname is
<something>.nimbusweb.me. The org ID appears in API requests (open browser DevTools → Network tab → look for/v2/api/requests).
3. Authenticate
Run the auth script to capture your session cookies securely:
npx tsx scripts/auth.ts
This opens a browser window → log into Fusebase → cookies are automatically captured and saved encrypted to data/cookie.enc.
Headless mode: After the first login, you can re-authenticate without a browser window:
npx tsx scripts/auth.ts --headless
4. Connect to Your AI Assistant
Add to your MCP client config. Examples:
<details> <summary><strong>Gemini CLI</strong> — <code>mcp_config.json</code></summary>
{
"fusebase": {
"command": "node",
"args": ["/path/to/fusebase-mcp/dist/index.js"],
"env": {
"FUSEBASE_HOST": "yourorg.nimbusweb.me",
"FUSEBASE_ORG_ID": "your_org_id"
}
}
}
</details>
<details> <summary><strong>Claude Desktop</strong> — <code>claude_desktop_config.json</code></summary>
{
"mcpServers": {
"fusebase": {
"command": "node",
"args": ["/path/to/fusebase-mcp/dist/index.js"],
"env": {
"FUSEBASE_HOST": "yourorg.nimbusweb.me",
"FUSEBASE_ORG_ID": "your_org_id"
}
}
}
}
</details>
<details> <summary><strong>VS Code Copilot</strong> — <code>settings.json</code></summary>
{
"mcp": {
"servers": {
"fusebase": {
"command": "node",
"args": ["/path/to/fusebase-mcp/dist/index.js"],
"env": {
"FUSEBASE_HOST": "yourorg.nimbusweb.me",
"FUSEBASE_ORG_ID": "your_org_id"
}
}
}
}
}
</details>
Note: Replace
/path/to/fusebase-mcpwith the actual path where you cloned the repo. On Windows, use double backslashes:"C:\\path\\to\\fusebase-mcp\\dist\\index.js".
5. Verify
Ask your AI assistant:
"List my Fusebase workspaces"
If it works, you're all set! 🎉
🔧 Tool Tiers
The server uses a core/extended tier system to optimize agent context usage:
| Tier | Tools | Description |
|---|---|---|
| Core (default) | 18 | Day-to-day: pages, folders, tasks, tags, members |
| Extended | +28 | Admin, analytics, content mutations, portals, databases |
Enable extended tools:
- Mid-session: ask your AI to use
set_tool_tierwithtier: "all" - Always-on: add
FUSEBASE_TOOLS=allto your.env
Core Tools (18)
| Category | Tool | Description |
|---|---|---|
| Meta | set_tool_tier |
Enable extended tools or check current tier |
| Meta | check_version |
Check for server updates from GitHub |
| Auth | refresh_auth |
Refresh session cookies via Playwright |
| Content | list_workspaces |
List all workspaces |
| Content | list_pages |
List pages (filter by folder, pagination) |
| Content | get_page |
Get page metadata |
| Content | get_page_content |
Get raw page content (HTML) |
| Content | get_recent_pages |
Recently accessed pages |
| Content | create_page |
Create a new blank page |
| Content | list_folders |
Folder tree for a workspace |
| Tags | get_tags |
Workspace or page tags |
| Tags | update_page_tags |
Set tags on a page |
| Members | get_members |
Workspace or org members |
| Tasks | search_tasks |
Search tasks (by workspace/page) |
| Tasks | list_task_lists |
Task boards and tasks |
| Tasks | create_task |
Create a task in a task list |
Extended Tools (28)
Enable with set_tool_tier(tier: "all"):
- Content mutations:
delete_page,update_page_content - Files & attachments:
get_page_attachments,list_files,get_file_count - Labels & tags:
get_labels,get_note_tags - Activity & comments:
get_activity_stream,get_comment_threads - Tasks (advanced):
get_task_description,get_task_count,get_task_usage - Organization:
get_org_usage,get_org_limits,get_usage_summary,get_org_permissions,get_org_features,get_ai_usage - Workspaces:
get_workspace_detail,get_workspace_emails,get_workspace_info - Navigation & AI:
get_navigation_menu,get_mention_entities,list_agents,get_recently_updated_notes - Databases & Portals:
get_database_data,list_portals,get_portal_pages
🔐 Security
- No plaintext secrets on disk — cookies are encrypted with AES-256-GCM using a machine-scoped key
- Auto-refresh — expired sessions are transparently refreshed via Playwright
.envis gitignored — credentials never enter version control- Cookie via env var — optionally pass
FUSEBASE_COOKIEin your MCP config for environments where the encrypted store isn't available
🗂️ Project Structure
src/
index.ts → MCP server (46 tools, stdio transport, tier system)
client.ts → HTTP client (cookie auth, 401 auto-retry, logging)
crypto.ts → AES-256-GCM encryption for secrets at rest
types.ts → TypeScript interfaces for API responses
scripts/
auth.ts → Capture session cookies via Playwright
discover.ts → Crawl Fusebase UI to discover API endpoints
data/ → (gitignored) Cookie store, API logs, workspace cache
.browser-data/ → (gitignored) Playwright persistent browser profile
🗺️ Roadmap
See UNIMPLEMENTED_ENDPOINTS.md for 36 discovered but unimplemented API endpoints, prioritized by value:
- Automation — ActivePieces flow/run management (11 endpoints)
- Databases — entity/table CRUD (3 endpoints)
- AI assistant — thread and preference management
🤝 Contributing
- Fork the repo
- Create a feature branch
- Run
npm run buildto verify TypeScript compiles - Submit a PR
📄 License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。