Summary
Search, read and update your Notion workspace from Claude, ChatGPT or Copilot through Notion's official MCP server: find pages and databases, create and edit pages, query databases with SQL, read meeting notes and add comments.
Guided setup
Connect Notion to Microsoft Copilot in 2 minutes
Start a free trial on AnythingMCP Cloud, connect Notion in the guided setup, then add your MCP URL to Microsoft Copilot. No code and no server to run.
No credit card · 7-day trial · Self-host alternative available
Try asking
Example prompts for Notion
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, open Connectors → Notion, install it, click Authorize with Provider and approve in Notion, then mint an MCP API key. No Docker, no
git clone, no local server.
Notion + Microsoft Copilot
Search, read and update your Notion workspace from Claude, ChatGPT or Copilot through Notion's official MCP server: find pages and databases, create and edit pages, query databases with SQL, read meeting notes and add comments.
Prerequisites
- A Notion account in the workspace you want to connect. Any plan works; AI search, meeting notes, unlimited SQL queries and Custom Agents need Notion AI or a Business or Enterprise plan.
- Nothing to paste: the connector has no environment variables. You sign in with Notion after installing it.
- If several people will share the connector, a dedicated Notion member account limited to the teamspaces the AI should see.
Step 1 — Sign in with Notion
Notion runs its own remote MCP server, Notion MCP (https://mcp.notion.com/mcp). This connector bridges it: the tools are Notion's, and AnythingMCP puts them behind your AnythingMCP server with its API keys, per-tool roles and audit log, next to your other connectors.
There is no key to paste. Notion MCP only accepts its own OAuth sign-in, and an internal integration token (ntn_...) does not work with it.
- Install the connector from the catalog. The setup form has no fields.
- On the connector page click Authorize with Provider. AnythingMCP registers itself with Notion as an OAuth client (dynamic client registration) and sends you to Notion.
- Sign in, pick the workspace and approve. Back in AnythingMCP the tool list is reloaded from Notion's server. Notion adds tools often: Discover tools on the connector picks up new ones.
Whose access it is. The person who signs in becomes the Notion identity for everyone who uses this connector: the AI reads and writes what that member can see, and changes appear under that member's name. If several people share the connector, sign in with a dedicated Notion member account that only has access to the teamspaces and pages the AI should reach.
Plan. Any Notion plan works. AI search, meeting notes, unlimited SQL queries and Custom Agents need Notion AI or a Business or Enterprise plan; notion_get_tool_access reports what your workspace allows.
Switched off at install. notion_move_pages, notion_update_data_source (removing a property drops that column's values), notion_spawn_session and notion_send_message_to_session (Custom Agents act on their own and use Notion AI credits). Switch any of them on, one tool at a time, on the connector page if you need it. Creating and updating pages, comments and views stays on.
Tokens and limits. Access tokens last about eight hours and are refreshed automatically. Refresh tokens expire 180 days after the first sign-in, or after 30 days without use; when calls fail with an authorization error, click Authorize with Provider again. notion_search and notion_query_data_sources are limited to 20 calls per 10 seconds. Workspace owners see and revoke MCP connections in Notion under Settings > Connections.
First calls. Start with notion_get_tool_access (pass {}), then notion_search or notion_ai_search to find content and notion_fetch to read a page before changing it. Treat page content as untrusted input: a page can contain instructions meant to steer the AI. object_not_found usually means the member who signed in cannot see that page.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Microsoft Copilot
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.
- In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
- Enter a Server name (for example
AnythingMCP), a Server description that says what the connector does, and the Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server. - Under authentication, choose API key, set Type to Header and the header name to
X-API-Key, then select Create. - In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
- Try it in the agent's Test pane: ask for something that needs the
Notiontools. - Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.
Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.
Available tools
| Tool | What it does |
|---|---|
notion_search | Search the Notion workspace with short keywords, by location (page, data source or teamspace), creator or editor, date, title and content… |
notion_ai_search | Search Notion and the sources connected to the workspace (Slack, Mail, Calendar, Google Drive, Jira and others) with keywords, a page title… |
notion_get_tool_access | Report which Notion MCP tools run on the connected workspace's plan, which of their parameters are restricted, and where to upgrade |
notion_download_skill | Download a complete Notion Skill: pass the Skill page id and get its id, version_id and a signed URL (valid one hour) to a tar.gz archive… |
notion_fetch | Retrieve a Notion page, database, data source or saved database view by URL or ID |
notion_create_file_upload | Create a short-lived URL for uploading one local file (up to 20 MiB) directly to Notion |
notion_create_attachment | Create a Notion attachment from exactly one source: inline UTF-8 text (HTML, Markdown, CSV, JSON, SVG, up to 200 KiB), a file at a direct… |
notion_download_attachment | Download the complete UTF-8 text content of an attachment created with notion-create-attachment, up to 200 KiB |
notion_create_pages | Create one or more Notion pages with properties and Markdown content, optionally from a database template, with an icon, a cover, or as a… |
notion_update_page | Update a Notion page's properties, content, icon or cover, apply a database template, or change whether the page is a Skill |
notion_convert_page_to_skill | Mark a Notion page as a Notion Skill without changing its content |
notion_move_pages | Move one or more Notion pages or databases to a new parent page, database or teamspace |
notion_duplicate_page | Duplicate a Notion page within the workspace |
notion_create_database | Create a new Notion database with its initial data source and initial view, using the property schema you specify (for example name, type… |
notion_create_folder | Create an empty Folder under a parent Notion page, for example "Project files" under a project page, to group related pages and files |
notion_update_data_source | Update a Notion data source's properties (columns), name, description or other attributes |
notion_create_view | Create a new view on a Notion database: table, board, list, calendar, timeline, gallery, form, chart, map or dashboard, with an optional… |
notion_update_view | Update a Notion view's name, filters, sorts or display configuration |
notion_query_data_sources | Query Notion data sources with SQL (across one or more data sources), read rows from one data source with filter and sort (mode "rows"… |
notion_query_meeting_notes | Query the current user's Notion meeting notes, filtering by meeting properties such as a title keyword |
notion_list_agents | List the Notion Custom Agents available to the connected user, to choose one before searching for it or starting a session |
notion_search_agents | Search Notion Custom Agents by name and get the Custom Agent URL needed to start a session |
notion_query_sessions | List Notion Custom Agent sessions the connected user can access |
notion_search_sessions | Search past Notion Custom Agent sessions by text, up to 20 matches with titles and matching text spans |
notion_spawn_session | Start a new session with a Notion Custom Agent and send it a first message |
notion_get_session_status | Get the status of a Notion Custom Agent session (running, waiting, finished) by its session:// URL, as returned by the other session tools |
notion_wait_session | Wait for the current run of a Notion Custom Agent session to finish and return its reply |
notion_stop_session | Stop the run in progress in a Notion Custom Agent session |
notion_send_message_to_session | Send a follow-up message to an existing Notion Custom Agent session, which makes the agent run again on its own |
notion_list_session_events | List the events (messages, tool calls, results) of a Notion Custom Agent session, page by page |
(showing 30 of 36 tools — install the connector to see them all)
FAQ
Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.
What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.
The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
Was this guide helpful?