@neuroequalityorg/mcp-notion
v1.0.0
Published
MCP server for Notion API integration - search, create, update pages and query databases
Maintainers
Readme
@neuroequalityorg/mcp-notion
MCP (Model Context Protocol) server for Notion API integration. Enables AI assistants to interact with Notion workspaces through a standardized protocol.
Features
- 🔍 Search pages and databases - Find content across your Notion workspace
- 📝 Create pages - Add new pages to databases or as subpages
- ✏️ Update pages - Modify page properties, archive pages, change icons/covers
- 📊 Get database schema - Retrieve database structure and properties
- 🔎 Query databases - Filter and sort database entries
- 📄 Append blocks - Add content blocks to pages
Installation
npm install -g @neuroequalityorg/mcp-notionOr use with npx:
npx @neuroequalityorg/mcp-notionConfiguration
Environment Variables
Set your Notion API key:
export NOTION_API_KEY=secret_xxxxxxxxxxxxx
# or
export NOTION_TOKEN=secret_xxxxxxxxxxxxxGetting a Notion API Key
- Go to Notion Developers
- Click "New integration"
- Give it a name and select the workspace
- Copy the "Internal Integration Token"
- Share pages/databases with your integration (click "..." → "Add connections")
Usage with Claude Desktop
Add to your Claude Desktop config (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["@neuroequalityorg/mcp-notion"],
"env": {
"NOTION_API_KEY": "secret_xxxxxxxxxxxxx"
}
}
}
}Available Tools
search_pages
Search for pages and databases in your Notion workspace.
{
"query": "meeting notes",
"filter": {
"property": "object",
"value": "page"
},
"page_size": 10
}create_page
Create a new page in a database or as a child of another page.
{
"parent": {
"database_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"properties": {
"Name": {
"title": [
{
"text": {
"content": "New Task"
}
}
]
},
"Status": {
"select": {
"name": "To Do"
}
}
}
}update_page
Update an existing page's properties or archive it.
{
"page_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"properties": {
"Status": {
"select": {
"name": "Done"
}
}
}
}get_database
Retrieve a database's schema and metadata.
{
"database_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}query_database
Query a database with filters and sorts.
{
"database_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"filter": {
"property": "Status",
"select": {
"equals": "In Progress"
}
},
"sorts": [
{
"property": "Created",
"direction": "descending"
}
],
"page_size": 50
}append_blocks
Add content blocks to a page.
{
"block_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"children": [
{
"object": "block",
"type": "paragraph",
"paragraph": {
"rich_text": [
{
"type": "text",
"text": {
"content": "Hello, World!"
}
}
]
}
},
{
"object": "block",
"type": "heading_2",
"heading_2": {
"rich_text": [
{
"type": "text",
"text": {
"content": "Section Title"
}
}
]
}
}
]
}Development
# Clone the repo
git clone https://github.com/neuroequalityorg/mcp-notion.git
cd mcp-notion
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run buildLicense
MIT © NeuroEquality
