Notion MCP 服务器

by v-3

支持与 Notion 集成的模型上下文协议(MCP)服务器,允许语言模型与您的 Notion 工作区进行交互,包括搜索、读取、创建和更新页面及数据库。需要通过环境变量 NOTION_API_KEY 配置的 Notion API 密钥。

ProductivitystdioCommunity

Repository-wide counts · Cached 2026-03-07

Overview

The Notion MCP 服务器 MCP server is a publicly available project. Review the upstream repository for installation instructions, supported tools, compatibility, permissions, and current maintenance status.

Configuration

Configuration, transport, authentication, and runtime requirements vary by project. Open the repository before connecting and use the smallest set of credentials and permissions required.

Open the Notion MCP 服务器 repository to read the latest documentation.

KEEP EXPLORING

Compare source, connection, and authentication details before choosing an implementation.

View the complete category

AIHawk

feder-cr

Community

AIHawk is an LLM-based tool that writes application documents and drives a browser AI client. Requires Python 3.12 and Chrome. It uses local YAML config files in data_folder/ (created from data_folder_example/) for user resume, work preferences, and OpenAI API key.

Obsidian 的 MCP 服务器

MarkusPfundstein

Community

用于与 Obsidian 通过本地 REST API 社区插件交互的 MCP 服务器。需要预先安装并运行 Obsidian REST API 社区插件。通过环境变量或服务器配置,使用 Obsidian API 密钥、主机和端口来配置服务器。

Office-Word-MCP-Server

GongRzhe

Community

用于创建、读取和操作 Microsoft Word 文档的 MCP 服务器。该服务器通过标准化接口支持 AI 助手与 Word 文档进行交互,提供丰富的文档编辑功能。

Office-PowerPoint-MCP-Server

GongRzhe

Community

用于 PowerPoint 操作的 MCP 服务器,基于 python-pptx。提供通过 MCP 协议创建、编辑和操作 PowerPoint 演示文稿的工具。

FROM THE SOURCE

Repository README

Build-time snapshot · Retrieved 2026-10-05

View original

Notion MCP Server

A Model Context Protocol (MCP) server that provides seamless integration with Notion. This server enables Language Models to interact with your Notion workspace through standardized tools for searching, reading, creating, and updating pages and databases.

🌟 Key Features

Page Operations

  • 🔍 Search through your Notion workspace
  • 📝 Create new pages with rich markdown content
  • 📖 Read page content with clean formatting
  • 🔄 Update existing pages
  • 💬 Add and retrieve comments
  • 🧱 Block-level operations (update, delete)

Enhanced Markdown Support

  • Multiple heading levels (H1-H3)
  • Code blocks with language support
  • Interactive todo items with checkbox states
  • Blockquotes with multi-line support
  • Horizontal dividers
  • Images with captions
  • Nested bullet points

Database Operations

  • Create and manage databases
  • Add and update database items
  • Query with filters and sorting
  • Support for various property types:
    • Title, Rich text, Number
    • Select, Multi-select
    • Date, Checkbox
    • And more!

🚀 Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • Notion API key
  • MCP-compatible client (e.g., Claude Desktop)

Installation

  1. Clone the repository:
git clone https://github.com/v-3/notion-server.git
cd notion-server
  1. Install dependencies:
npm install
  1. Set up your environment:
# Create .env file
echo "NOTION_API_KEY=your_notion_api_key_here" > .env

# Or export directly
export NOTION_API_KEY=your_notion_api_key_here
  1. Build the server:
npm run build

🔧 Configuration

Claude Desktop Setup

  1. Update your Claude Desktop configuration (claude_desktop_config.json):
{
    "mcpServers": {
        "notion": {
            "command": "node",
            "args": ["/absolute/path/to/notion-server/build/index.js"],
            "env": {
                "NOTION_API_KEY": "your_notion_api_key_here"
            }
        }
    }
}
  1. Restart Claude Desktop to apply changes

🛠️ Available Tools

Page Operations

// Search pages
{
    query: string // Search query
}

// Read page
{
    pageId: string // ID of the page to read
}

// Create page
{
    title?: string,      // Page title
    content?: string,    // Page content in markdown
    parentPageId: string // Parent page ID
    properties?: object  // For database items
}

// Update page
{
    pageId: string,   // Page ID to update
    content: string,  // New content
    type?: string    // Content type
}

Database Operations

// Create database
{
    parentPageId: string,
    title: string,
    properties: object
}

// Query database
{
    databaseId: string,
    filter?: object,
    sort?: object
}

🔐 Setting Up Notion Access

Creating an Integration

  1. Visit Notion Integrations
  2. Click "New integration"
  3. Configure permissions:
    • Content: Read, Update, Insert
    • Comments: Read, Create
    • User Information: Read

Connecting Pages

  1. Open your Notion page
  2. Click "..." menu → "Connections"
  3. Add your integration
  4. Repeat for other pages as needed

📝 Usage Examples

Creating a Page

const result = await notion.create_page({
  parentPageId: "page_id",
  title: "My Page",
  content: "# Welcome\nThis is a test page."
});

Querying a Database

const result = await notion.query_database({
  databaseId: "db_id",
  filter: {
    property: "Status",
    select: {
      equals: "In Progress"
    }
  }
});

🤝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Submit a Pull Request

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

This project has been significantly improved by sweir1/notion-server, who has made following updates:

  • Enhanced markdown support with more block types
  • Comprehensive database operations
  • Improved error handling and debugging
  • Better property handling for database items
  • Cleaner page output formatting

To use sweir1's version, you can clone their repository:

git clone https://github.com/sweir1/notion-server.git