npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@debuggingmax/mcp-server-notion

v1.0.0

Published

The most comprehensive MCP server for Notion - Pages, Databases, Blocks, Users, Comments & Search

Downloads

147

Readme

@debuggingmax/mcp-server-notion

npm version npm downloads License: MIT GitHub Sponsors

The most comprehensive MCP server for Notion 🚀

Pages • Databases • Blocks • Users • Comments • Search

InstallationToolsConfigurationExamplesPro Features


✨ 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

# 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
  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

{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["-y", "@debuggingmax/mcp-server-notion"],
      "env": {
        "NOTION_API_KEY": "secret_your_api_key_here"
      }
    }
  }
}

3. Alternative: Environment Variable

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

// Find pages containing "Project"
notion_search_pages({ query: "Project", page_size: 10 })

Create a Task in Database

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

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

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

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 or sponsor the project!

🤝 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 the development
  • 🐛 Reporting bugs and issues
  • 💡 Suggesting new features

📄 License

MIT © DebuggingMax


Built with ❤️ for the Claude & Notion community

Report BugRequest Feature