Enables interaction with Notion workspaces, providing capabilities to search pages, retrieve page content, query databases, and create new pages through the Notion API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Notion MCP Serversearch for meeting notes from last week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Notion MCP Server
A server that connects to the Notion API and exposes functionality through Claude's Machine Context Protocol (MCP).
Features
Search Notion pages by title or content
Retrieve page details and content
Query Notion databases
Create new pages in Notion
Related MCP server: Notion MCP Server
Setup
Clone this repository:
git clone https://github.com/yourusername/notion-mcp-server.git
cd notion-mcp-serverInstall dependencies:
npm installCreate a
.envfile in the root directory with the following content:
NOTION_API_KEY=your_notion_api_key_here
PORT=3000
# Optional: if you want to query a specific database by default
NOTION_DATABASE_ID=your_notion_database_id_hereGet your Notion API key:
Create a new integration
Copy the "Internal Integration Token"
Add this token as your
NOTION_API_KEYin the.envfile
Connect your Notion integration to your workspace:
Go to a page or database in your Notion workspace
Click the "..." menu in the top right
Select "Add connections"
Find and add your integration
Running the Server
Start the server in development mode:
npm run devOr in production mode:
npm startThe server will run on the port specified in your .env file (default: 3000).
API Endpoints
Regular HTTP Endpoints
POST /api/notion/search
Search for pages in Notion
Body:
{ "query": "search term" }
POST /api/notion/page
Get a page by ID
Body:
{ "page_id": "page-id-here" }
POST /api/notion/database/query
Query a database
Body:
{ "database_id": "database-id-here", "filter": {}, "sorts": [] }
POST /api/notion/page/create
Create a new page
Body:
{ "parent": {}, "properties": {}, "children": [] }
MCP Integration
The server exposes an MCP manifest at /mcp/manifest.json which describes the available functions.
To invoke an MCP function, send a POST request to /api/notion/mcp/invoke with the following structure:
{
"function_name": "search_pages",
"parameters": {
"query": "search term"
}
}Available MCP Functions
search_pages - Search Notion pages by title or content
get_page - Get a Notion page by ID
query_database - Query a Notion database
create_page - Create a new page in Notion
License
MIT