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 AI interaction with Notion.
Key Features:
- Easy Installation: 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 Transport Modes:
- STDIO Transport (default) — standard input/output for communication
- Streamable HTTP Transport — for web applications or clients that prefer HTTP communication
Available API Endpoints:
- Retrieve block children
- Retrieve your token’s bot user
- Retrieve a user
- List all users
- Append block children
- Update page properties
- Query a database
Technical Requirements:
- Requires Notion integration token
- For HTTP transport, requires bearer token authentication
- When using Streamable HTTP transport, server available at
http://0.0.0.0:<port>/mcp
Security Considerations:
- Limited scope of Notion API’s exposed (e.g., cannot delete databases via MCP)
- Option to configure Integration’s Capabilities (e.g., create read-only integration)
Notion MCP Server Setup Guide
- Create a service account and assign it the
lockbox.payloadViewerrole; - Create a secret in Lockbox with two parameters:
YC_NOTION_TOKEN— Notion integration token (obtain it from Notion integrations settings)YC_AUTH_TOKEN— custom token for authenticating requests to the MCP server (create a strong password)
- In the Marketplace, find the
Notion MCP Serverproduct and click Install; - In the Additional section, specify the previously created service account;
- In the Product Configuration section:
- In the Lockbox Secret field, select the previously created secret
- Select a subnet with configured Internet access and create a security group with port
3000allowed; - Create a virtual machine;
- After installation:
- The MCP server will be available at
http://<VM IP address>:3000/mcp; - For authentication, use the header
Authorization: Bearer <YC_AUTH_TOKEN>;
- The MCP server will be available at
- To verify functionality, execute a test request:
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
Use Case 1: Automated Meeting Notes
> Create a note for a client meeting tomorrow at 3:00 PM about the "Marketing Strategy Optimization" project
Creating a new page in Notion with meeting information.
Page successfully created with the following details:
- Title: "Meeting: Marketing Strategy Optimization"
- Date: [tomorrow's date], 3:00 PM
- Type: Client Meeting
- Status: Upcoming
- Added template for recording meeting outcomes
Use Case 2: Document Analysis and Summarization
> Analyze the latest quarterly report in the "Financial Reports" database and create a brief summary of key metrics
Searching the "Financial Reports" database...
Found document "Q3 2024 Quarterly Report".
Analyzing content...
Creating a summary of key metrics:
Summary successfully added to Notion with the following key points:
- Revenue: 12% increase compared to previous quarter
- Operating expenses: 5% decrease
- Net profit: 18% growth
- Key growth factors: new product launch and expansion into Asian market
Use Case 3: Project Task Management
> Update the status of the "Prototype Development" task in the "New Website" project to "Completed" and add a comment about testing results
Looking for the "Prototype Development" task in the "New Website" project...
Task found.
Updating status to "Completed".
Adding comment about testing results.
Task successfully updated:
- Status changed to "Completed"
- Added comment: "Prototype testing completed successfully. All core functions are working properly. Identified 3 minor bugs that will be fixed in the next iteration."
- Automatically created a new task "Fix Prototype Bugs" with status "To Do"
Yandex Cloud technical support is available 24/7 to respond to requests. The types of requests available and their response time depend on your pricing plan. You can activate paid support in the management console. Learn more about requesting technical support.
Yandex Cloud does not provide technical support for this product. If you have any issues, please refer to the developer’s information resources.