Notion MCP Server
Notion MCP is a remote MCP server that implements the Model Context Protocol for the Notion API. Developed using TypeScript and distributed under the MIT license, this product provides powerful tools for interaction between AI and Notion.
Benefits
- Easy setup: Standard OAuth authentication without the need to configure JSON or API tokens.
- Optimized token consumption: Tools specifically designed for efficient interaction with AI agents.
- Two modes of transport:
- STDIO Transport (default): Standard input/output for communication.
- Streamable HTTP Transport: For web applications or clients that prefer HTTP communication.
Available API endpoints
- Getting child blocks.
- Getting info about the bot user of your token.
- Getting user info.
- Getting a list of all users.
- Adding child blocks.
- Updating page properties.
- Database queries.
Technical requirements
- Notion integration token.
- Authentication with a Bearer token for HTTP transport.
- Server availability at
http://0.0.0.0:<port>/mcpwhen using Streamable HTTP Transport.
Security
- Limited set of Notion APIs (e.g., you cannot delete databases via MCP).
- Customizable integration access permissions (e.g., creating a read-only integration).
-
Create a cloud network and a subnet to host the virtual machine (VM).
-
Create a security group in your new cloud network and add a rule:
Traffic direction Description Port range Protocol Source / Destination CIDR blocks Ingressmcp-notion3000TCPCIDR0.0.0.0/0 -
Get an SSH key pair for connection to the VM.
-
Create a service account and assign the
lockbox.payloadViewerrole to it. -
Create a Yandex Lockbox secret with two keys:
YC_NOTION_TOKEN: Notion integration token. You can get it in the Notion integration settings.YC_AUTH_TOKEN: Random token for authentication of requests to the MCP server. Use a complex token you make up yourself.
-
In Cloud Marketplace, find Notion MCP Server and click Create VM.
-
Configure the application:
-
Under Product configuration, do the following:
- In the Notion Token field, select the secret ID, secret version ID, and the
YC_NOTION_TOKENkey you created earlier. - In the Auth Token field, select the secret ID, secret version ID, and the
YC_AUTH_TOKENkey you created earlier.
- In the Notion Token field, select the secret ID, secret version ID, and the
-
Under Network settings, specify the cloud network, subnet, and security group you created earlier.
-
Under Access, specify the username and SSH key you created earlier for connection to the VM.
-
Under Additional, specify the service account.
-
-
Click Create VM and wait for the virtual machine to be created.
Once installation is complete:
- The MCP server will be available at
http://<VM_IP_address>:3000/mcp. - Use the
Authorization: Bearer <YC_AUTH_TOKEN>header for authentication.
As a functional test, run this test query:
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <YC_AUTH_TOKEN>" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "0.1",
"clientInfo": { "name": "curl", "version": "0.1" },
"capabilities": {}
}
}' \
http://<VM_IP_address>:3000/mcp
Automatic generation of meeting notes
> Create a note about a meeting with a client on the _Marketing strategy optimization_ project tomorrow at 3:00 p.m.
Creating a new page in Notion with meeting info.
Page created successfully:
- Name: "Meeting: Marketing strategy optimization".
- Date: [tomorrow's date], 3:00 p.m.
- Type: Meeting with a client.
- Status: Upcoming.
- Added a template to record the results of the meeting.
Document analysis and summarization
> Analyze the last quarterly report in the _Financial reports_ database and create a short summary of the key indicators.
Searching through the _Financial reports_ database...
Found a document titled _Q3 Report 2024_.
Analyzing the contents...
Summary successfully added to Notion:
- Revenue: up 12% quarter-on-quarter.
- Operating expenses: down by 5%.
- Net profit: up by 18%.
- Key growth factors: launch of new product and expansion into the Asian market.
Project task management
> Update the _Prototype development_ task status in the _New website_ project to _Completed_ and add a comment about the test results.
Searching for the _Prototype development_ task in the _New website_ project.
Task found.
Task successfully updated:
- Status changed to _Completed_.
- Comment added: "Prototype testing completed successfully. All main functions work correctly. Detected three minor bugs which will be fixed in the next iteration."
- Automatically created a new task named _Prototype debugging_ with _For execution_ status.
Yandex Cloud technical support is available 24/7. The types of requests you can submit and the relevant response times depend on your pricing plan. You can switch to the paid support plan in the management console. You can learn more about the technical support terms and conditions here.