- Home
- MCP servers
- Notion
Notion
- python
0
GitHub Stars
python
Language
7 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"ar-codelabs-mcp_notionmcp_webviewer": {
"command": "streamlit",
"args": [
"run",
"application/app_webview_mcp_simple.py"
],
"env": {
"NOTION_API_KEY": "YOUR_NOTION_API_KEY",
"NOTION_PAGE_ID": "YOUR_NOTION_PAGE_ID"
}
}
}
}This MCP server provides a Notion page viewer powered by Streamlit, enabling you to view Notion pages in four modes with an easy setup and direct control from an MCP client.
How to use
Connect this MCP server to your MCP client and start the Streamlit-based viewer. You will be able to switch between four viewing modes to explore Notion pages: All content, Title + Image, Sub-pages, and Original JSON data for debugging. Use the client to select the notion MCP server and initiate the view, then interact through the provided four buttons to render content as you need.
Practical usage patterns you can follow:
- Start the server via the MCP client, then open the web app in your browser.
- Use the Full Content mode to render every block including toggles, images, and sub-pages.
- Switch to Title + Image for a clean overview that highlights the page title and main image.
- Explore Sub-pages to see linked pages and navigate through your Notion hierarchy.
- Use Original Data only for debugging when you need the raw JSON payload being produced.
How to install
Prerequisites: you need Python 3.8+ and a working internet connection.
Step-by-step commands to set up the MCP server locally:
git clone https://github.com/ar-codelabs/MCP_NotionMCP_Webviewer.git cd MCP_notion_webviewer
Install dependencies
pip install -r requirements.txt
## Additional setup tips
Configure the MCP server by supplying your Notion integration details. The following JSON snippet shows how to wire the MCP server with the Notion API key and page ID.
{ "mcpServers": { "notion": { "command": "python3", "args": ["./application/mcp_server_notion.py"], "env": { "NOTION_API_KEY": "your_notion_integration_token", "NOTION_PAGE_ID": "your_notion_page_id" } } } }
## Run the MCP server
Start the Streamlit-based viewer using the MCP command path described in the configuration. The usual run command is included in the setup and may look like the following.
streamlit run application/app_webview_mcp_simple.py
## Security and usage notes
Ensure the Notion Integration has read permissions for the pages you intend to view. Note that images may use temporary Notion URLs which can expire. Large pages may require more loading time.
## Troubleshooting
If the viewer does not start, verify that Python 3.8+ is installed, dependencies are installed, and environment variables NOTION\_API\_KEY and NOTION\_PAGE\_ID are correctly set in the run environment.
## Available tools
### view\_all\_content
Display all content on a page, including toggles, images, and sub-pages in a structured view.
### view\_title\_image
Show only the main page title and image for a clean overview.
### view\_sub\_pages
List linked sub-pages with titles and links for easy navigation.
### view\_raw\_json
Provide the original JSON payload for debugging and development purposes.