Enables interaction with Notion workspaces, providing capabilities to search pages, retrieve page content, query databases, and create new pages through the Notion API.
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:
Install dependencies:
Create a
.envfile in the root directory with the following content:
Get 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:
Or in production mode:
The 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:
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