Skip to main content
Glama
SystemPrompt MCP Notion Server

SystemPrompt MCP Notion Server

by Ejb503

systemprompt-mcp-notion

npm version Coverage Status Twitter Follow Discord

Website | Documentation

SystemPrompt MCP Notion Server

A high-performance Model Context Protocol (MCP) server that seamlessly integrates Notion into your AI workflows. This server enables AI agents to interact with Notion pages and databases through a standardized protocol. This server supports and requires MCP Sampling, which is required to the MCP to create and update Notion pages.

A compatible MCP client is available here.

Server Capabilities

const serverCapabilities: { capabilities: ServerCapabilities } = {
  capabilities: {
    resources: {
      listChanged: true,
    },
    tools: {},
    prompts: {
      listChanged: true,
    },
    sampling: {},
  },
};

Related MCP server: Notion MCP Server

Key Features

  • 📝 Comprehensive Content Management

    • Create and update pages with rich text formatting

    • Search across your Notion workspace

  • 🛠 Developer-Friendly

    • Extensive test coverage with Jest

    • TypeScript support

    • Comprehensive error handling

    • Detailed logging and debugging tools

Prerequisites

Before using this server, you'll need:

  1. Systemprompt API Key (Free)

  2. Notion Account and Workspace

    • Active Notion account

    • Workspace with content you want to access

  3. Notion Integration

  4. MCP-Compatible Client

Quick Start

  1. Installation

    Installing via Smithery

    To install systemprompt-mcp-notion for Claude Desktop automatically via Smithery:

    npx -y @smithery/cli install systemprompt-mcp-notion --client claude
    npm install systemprompt-mcp-notion
  2. Configuration Create a .env file:

    SYSTEMPROMPT_API_KEY=your_systemprompt_api_key
    NOTION_API_KEY=your_notion_integration_token
  3. MCP Configuration Add the following to your MCP configuration JSON:

    {
      "mcpServers": {
        "notion": {
          "command": "npx",
          "args": ["systemprompt-mcp-notion"],
          "env": {
            "SYSTEMPROMPT_API_KEY": "your_systemprompt_api_key",
            "NOTION_API_KEY": "your_notion_integration_token"
          }
        }
      }
    }

    Alternatively, if you've installed the package locally:

    {
      "mcpServers": {
        "notion": {
          "command": "node",
          "args": ["./node_modules/systemprompt-mcp-notion/build/index.js"],
          "env": {
            "SYSTEMPROMPT_API_KEY": "your_systemprompt_api_key",
            "NOTION_API_KEY": "your_notion_integration_token"
          }
        }
      }
    }

Development

Setup

  1. Clone the repository:

    git clone https://github.com/systemprompt-io/systemprompt-mcp-notion.git
    cd systemprompt-mcp-notion
  2. Install dependencies:

    npm install
  3. Set up environment:

    cp .env.example .env
    # Edit .env with your API keys

Testing

We maintain high test coverage using Jest:

# Run all tests
npm test

# Watch mode for development
npm run test:watch

# Generate coverage report
npm run test:coverage

# Test Notion API connection
npm run test:notion

Available Tools

8 tools
systemprompt_create_notion_pageB

Creates a rich, comprehensive Notion page that expands upon basic user inputs. Takes simple instructions and content, then generates a detailed, well-structured page with appropriate sections, formatting, and supplementary content.

Inputs: databaseId (required), userInstructions (required).

systemprompt_delete_notion_pageA

Permanently deletes a specified Notion page and all its contents. This action cannot be undone, so use with caution.

Inputs: pageId (required).

systemprompt_get_notion_pageA

Retrieves comprehensive details of a specific Notion page, including its content, properties, and metadata. Returns the complete page structure and all nested content blocks.

Inputs: pageId (required).

systemprompt_list_notion_databasesA

Lists all accessible Notion databases in your workspace, sorted by last edited time. Returns key metadata including database title, schema, and last edited timestamp.

Inputs: maxResults.

systemprompt_list_notion_pagesA

Lists all accessible Notion pages in your workspace, sorted by last edited time. Returns key metadata including title, URL, and last edited timestamp.

Inputs: maxResults.

systemprompt_search_notion_pagesB

Performs a full-text search across all accessible Notion pages using the provided query. Searches through titles, content, and metadata to find relevant matches.

Inputs: query (required), maxResults.

systemprompt_search_notion_pages_by_titleA

Searches specifically for Notion pages with titles matching the provided query. Useful for finding exact or similar title matches when you know the page name.

Inputs: title (required), maxResults.

systemprompt_update_notion_pageB

Updates an existing Notion page with rich, comprehensive content based on user instructions. Takes simple inputs and transforms them into well-structured, detailed page content while preserving existing information. Can enhance, reorganize, or expand the current content while maintaining page integrity.

Inputs: pageId (required), userInstructions (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 8 tools

    Disambiguation4/5

    Most tools have distinct purposes, such as create, delete, get, list, and update for pages, and list for databases. However, there is some overlap between 'systemprompt_search_notion_pages' and 'systemprompt_search_notion_pages_by_title', as both handle page searches, which could cause confusion for an agent. The descriptions help clarify the difference, but the overlap is notable.

    Naming Consistency5/5

    All tool names follow a consistent 'systemprompt_verb_notion_noun' pattern, with verbs like create, delete, get, list, search, and update, and nouns like page, pages, or databases. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming style.

    Tool Count5/5

    With 8 tools, the server is well-scoped for managing Notion pages and databases, covering essential operations like CRUD for pages, listing resources, and searching. Each tool serves a clear purpose without redundancy, making the count appropriate for the domain.

    Completeness4/5

    The tool set provides comprehensive coverage for Notion page management, including create, read, update, delete, list, and search operations, and extends to databases with listing. A minor gap is the lack of tools for managing databases beyond listing, such as creating or updating them, but core workflows for pages are fully covered.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      An MCP server that enables natural language interaction with the Notion API, allowing users to search, comment, create pages, and access content within their Notion workspace.
      265,848 npm
      -
    • A
      license
      A
      quality
      D
      maintenance
      An MCP server for Notion API with optimized token efficiency and full database property filtering, enabling AI assistants to manage pages, databases, and blocks.
      32
      16 npm
      1
      MIT