@debuggingmax/mcp-server-notion
by DebuggingMax
README.md
# @debuggingmax/mcp-server-notion
<div align="center">
[](https://www.npmjs.com/package/@debuggingmax/mcp-server-notion)
[](https://www.npmjs.com/package/@debuggingmax/mcp-server-notion)
[](https://opensource.org/licenses/MIT)
[](https://github.com/sponsors/DebuggingMax)
**The most comprehensive MCP server for Notion** 🚀
*Pages • Databases • Blocks • Users • Comments • Search*
[Installation](#-quick-install) • [Tools](#-available-tools) • [Configuration](#%EF%B8%8F-configuration) • [Examples](#-examples) • [Pro Features](#-pro--enterprise)
</div>
---
## ✨ Features
- **22 Tools** covering the entire Notion API
- **Full CRUD** for Pages, Databases, and Blocks
- **Advanced Filtering** with Notion's powerful query syntax
- **Rich Text Support** for all content types
- **Pagination** for large datasets
- **Comments & Discussions** support
- **User Management** including bot info
- **Type-Safe** with full TypeScript support
## 📦 Quick Install
```bash
# Using npx (no installation required)
npx @debuggingmax/mcp-server-notion
# Global installation
npm install -g @debuggingmax/mcp-server-notion
# As a dependency
npm install @debuggingmax/mcp-server-notion
```
## ⚙️ Configuration
### 1. Get Your Notion API Key
1. Go to [notion.so/my-integrations](https://www.notion.so/my-integrations)
2. Create a new integration
3. Copy the "Internal Integration Token"
4. Share your pages/databases with the integration
### 2. Configure Claude Desktop
Add to your Claude Desktop config (`claude_desktop_config.json`):
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@debuggingmax/mcp-server-notion"],
"env": {
"NOTION_API_KEY": "secret_your_api_key_here"
}
}
}
}
```
### 3. Alternative: Environment Variable
```bash
export NOTION_API_KEY="secret_your_api_key_here"
npx @debuggingmax/mcp-server-notion
```
## 🛠 Available Tools
### 📄 Pages (6 tools)
| Tool | Description |
|------|-------------|
| `notion_search_pages` | Search pages by title |
| `notion_get_page` | Get page by ID with all properties |
| `notion_create_page` | Create page in database or as child page |
| `notion_update_page` | Update properties, icon, cover |
| `notion_archive_page` | Soft-delete (archive) a page |
| `notion_restore_page` | Restore archived page |
### 🗄 Databases (4 tools)
| Tool | Description |
|------|-------------|
| `notion_query_database` | Query with filters, sorts, pagination |
| `notion_get_database` | Get schema and properties |
| `notion_create_database` | Create with custom schema |
| `notion_update_database` | Update title, description, properties |
### 📦 Blocks (5 tools)
| Tool | Description |
|------|-------------|
| `notion_get_block_children` | Get all child blocks |
| `notion_append_blocks` | Add new content blocks |
| `notion_get_block` | Get specific block |
| `notion_update_block` | Modify block content |
| `notion_delete_block` | Remove block from page |
### 👥 Users (3 tools)
| Tool | Description |
|------|-------------|
| `notion_list_users` | List all workspace users |
| `notion_get_user` | Get user by ID |
| `notion_get_current_user` | Get bot/integration info |
### 💬 Comments (2 tools)
| Tool | Description |
|------|-------------|
| `notion_list_comments` | Get comments on page/block |
| `notion_create_comment` | Add comment to page/discussion |
### 🔍 Search (1 tool)
| Tool | Description |
|------|-------------|
| `notion_search` | Unified search across everything |
## 📖 Examples
### Search for Pages
```typescript
// Find pages containing "Project"
notion_search_pages({ query: "Project", page_size: 10 })
```
### Create a Task in Database
```typescript
notion_create_page({
parent_type: "database",
parent_id: "your-database-id",
properties: {
"Name": {
"title": [{ "text": { "content": "New Task" } }]
},
"Status": {
"select": { "name": "To Do" }
},
"Priority": {
"select": { "name": "High" }
}
}
})
```
### Query Database with Filters
```typescript
notion_query_database({
database_id: "your-database-id",
filter: {
"and": [
{
"property": "Status",
"select": { "equals": "In Progress" }
},
{
"property": "Priority",
"select": { "equals": "High" }
}
]
},
sorts: [
{ "property": "Due Date", "direction": "ascending" }
]
})
```
### Add Content to a Page
```typescript
notion_append_blocks({
block_id: "page-id",
children: [
{
"type": "heading_2",
"heading_2": {
"rich_text": [{ "text": { "content": "New Section" } }]
}
},
{
"type": "paragraph",
"paragraph": {
"rich_text": [{ "text": { "content": "This is the content." } }]
}
},
{
"type": "to_do",
"to_do": {
"rich_text": [{ "text": { "content": "Task item" } }],
"checked": false
}
}
]
})
```
### Create a Comment
```typescript
notion_create_comment({
parent_type: "page",
parent_id: "page-id",
rich_text: [
{ "text": { "content": "Great progress! 🎉" } }
]
})
```
## 🚀 Pro & Enterprise
**Coming Soon!** Pro features for power users:
- 📊 **Analytics Dashboard** - Usage stats, popular pages, activity insights
- ⚡ **Bulk Operations** - Update hundreds of pages at once
- 📋 **Templates** - Pre-built page and database templates
- 🔄 **Sync Tools** - Two-way sync with external systems
- 🔔 **Webhooks** - Real-time notifications on changes
- 🏢 **Enterprise SSO** - SAML/OIDC integration
Interested? [Contact us](https://github.com/DebuggingMax/mcp-server-notion/issues) or [sponsor the project](https://github.com/sponsors/DebuggingMax)!
## 🤝 Contributing
Contributions are welcome! Please:
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Submit a pull request
## 💖 Support
If this project helps you, consider:
- ⭐ **Starring** the repository
- 💝 **[Sponsoring](https://github.com/sponsors/DebuggingMax)** the development
- 🐛 **Reporting** bugs and issues
- 💡 **Suggesting** new features
## 📄 License
MIT © [DebuggingMax](https://github.com/DebuggingMax)
---
<div align="center">
**Built with ❤️ for the Claude & Notion community**
[Report Bug](https://github.com/DebuggingMax/mcp-server-notion/issues) • [Request Feature](https://github.com/DebuggingMax/mcp-server-notion/issues)
</div>
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues