Notion Multi Workspace
FreeNot checkedConnects any number of Notion workspaces through a single MCP server, exposing four tools for connecting, listing, searching, and fetching Notion content. Ensur
About
Connects any number of Notion workspaces through a single MCP server, exposing four tools for connecting, listing, searching, and fetching Notion content. Ensures constant tool surface regardless of workspace count, with OAuth-based security.
README
A distributable Codex plugin backed by one OAuth-protected remote MCP server. It connects any number of Notion workspaces while exposing only six tools:
notion_connect_workspacenotion_list_workspacesnotion_searchnotion_fetchnotion_querynotion_mutate
The number of tools is constant. Adding workspaces adds encrypted connection rows, not MCP servers or duplicate tools.
Why one MCP instead of one MCP per workspace?
A separate MCP server for every workspace multiplies the exposed tool surface. With N workspaces and M Notion tools, the client can end up seeing roughly N × M tools. That increases tool-selection ambiguity, configuration work, and the chance of querying the wrong workspace.
This plugin keeps one remote MCP server and stores workspace authorizations as data:
Codex
└─ one Notion Multi Workspace MCP
├─ connection A → workspace A
├─ connection B → workspace B
└─ connection N → workspace N
The MCP surface therefore stays at six tools regardless of how many workspaces are connected. Search fans out across selected connections; all other content operations require one explicit connectionId.
notion_query exposes an allowlist of 21 public Notion read operations and notion_mutate exposes 21 write operations. This covers pages and Markdown, blocks, databases, data sources, users, comments, meeting notes, async tasks, views, and file-upload lifecycle operations without multiplying tools per workspace. See the operation reference.
Install in Codex
Add this repository as a Codex marketplace, then install the plugin:
codex plugin marketplace add psh4607/notion-multi-workspace
codex plugin add notion-multi-workspace@notion-multi-workspace
Restart Codex if prompted. The first use opens OAuth for both the MCP service and the first Notion workspace. No Notion developer account or integration token is required for installers.
What installers do
- Install the plugin from the marketplace.
- Complete the Notion OAuth screen and choose the first workspace.
- Ask Codex to connect another workspace. Open the one-time URL returned by
notion_connect_workspaceand choose that workspace in Notion.
Installers do not create integration tokens, use macOS Keychain, or maintain workspaces.json. The plugin publisher operates one Notion public integration and the remote MCP service.
Architecture and security boundary
- Codex authenticates to
/mcpusing OAuth 2.1 with PKCE. - Notion authorization is a separate upstream OAuth flow.
- D1 rows are scoped by
(user_id, bot_id).bot_idpreserves multiple authorizations even when they target the same workspace. - Notion access and refresh tokens are encrypted with AES-256-GCM before D1 storage.
- The encryption key and Notion client secret are Cloudflare Worker secrets.
- Additional-workspace links are random, one-use states in KV with a 10-minute TTL.
- Search is the only operation that can fan out. Fetch, query, and mutation require one explicit connection ID.
- Write calls are user-invoked, single-workspace, allowlisted, and marked destructive for conservative client confirmation.
- OAuth tokens are never returned in tool results or accepted as tool arguments.
- Binary upload transfer is intentionally not accepted through the generic JSON mutation tool; create, inspect, and complete upload records are supported.
Troubleshooting
| Symptom | Likely cause | Resolution |
|---|---|---|
| Marketplace says the connection cannot be found | Creator dashboard is using a different Notion account | Switch to the account that owns the public developer connection and reload the listing form |
| Plugin installs but tools are not visible | Codex has not reloaded the new plugin | Restart Codex, then confirm the plugin is enabled |
| First OAuth succeeds but another workspace is missing | The additional one-time URL expired or the wrong Notion workspace was selected | Run notion_connect_workspace again and complete the new URL within 10 minutes |
| Search returns no pages from a connected workspace | The integration was not granted the relevant pages | Reopen the connection in Notion and grant the required pages; the connector only sees authorized content |
Development and self-hosting
- Contributing guide
- Self-hosting and publisher setup
- Notion operation reference
- Architecture decisions and lessons learned
Contributions are licensed under the Apache License 2.0. Please review the contributing and security guidelines before opening a pull request or reporting a vulnerability.
Service documents
For bugs and support requests, use this repository's GitHub Issues or email [email protected]. Do not include Notion page content, OAuth tokens, or other secrets in a public issue.
Installing Notion Multi Workspace
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/psh4607/notion-multi-workspaceFAQ
Is Notion Multi Workspace MCP free?
Yes, Notion Multi Workspace MCP is free — one-click install via Unyly at no cost.
Does Notion Multi Workspace need an API key?
No, Notion Multi Workspace runs without API keys or environment variables.
Is Notion Multi Workspace hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Notion Multi Workspace in Claude Desktop, Claude Code or Cursor?
Open Notion Multi Workspace on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Notion
Read and write pages in your workspace
by NotionLinear
Issues, cycles, triage — from Claude
by LinearGoogle Drive
Search and read your Drive files
by Googlemindsdb/mindsdb
Connect and unify data across various platforms and databases with [MindsDB as a single MCP server](https://docs.mindsdb.com/mcp/overview).
by mindsdbfulcradynamics/fulcra-context-mcp
MCP server for accessing personal health and biometric data including sleep stages, heart rate, HRV, glucose, workouts, calendar, and location via the Fulcra Li
by fulcradynamicsaymericzip/intlayer
A MCP Server that enhance your IDE with AI-powered assistance for Intlayer i18n / CMS tool: smart CLI access, access to the docs.
by aymericziprinadelph/Agent-MCP
A framework for creating multi-agent systems using MCP for coordinated AI collaboration, featuring task management, shared context, and RAG capabilities.
by rinadelphWhenLabs-org/when
Developer toolkit: auto-detect stack for AI context files, catch port conflicts, validate .env schemas, spot docs drift, audit dependency licenses, and time cod
by WhenLabs-orgBeltran12138/wecom-docs-mcp-server
WeCom (Enterprise WeChat) document operations via MCP: create, read, and edit Docs and Smartsheets (9 tools). Fills the doc-CRUD gap — existing WeCom MCP server
by Beltran12138madbonez/caldav-mcp
Universal MCP server for CalDAV protocol integration. Works with any CalDAV-compatible calendar server including Yandex Calendar, Google Calendar (via CalDAV),
by madbonezCompare Notion Multi Workspace with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All productivity MCPs
