MCP Server

by seonglae

6 stars
644 downloads
Not rated
GitHub

About

This TypeScript-based MCP server allows users to manage a simple notes system through creating and summarizing text notes using Model Context Protocol (MCP).

Details

Author
seonglae
Repository
seonglae/mcp-notion
GitHub stars
6
Downloads
644
Categories
Productivity, Other, Knowledge Base, Project Management, Developer Tools

- List and retrieve Notion pages as note:// URIs with UUID slugs
- Search notes using the search_notes tool with query text input
- Summarize individual pages with the summarize_note prompt
- Suggest structural improvements, fixes, and enhancements
- Content delivered in text/markdown format

Setting up with Highlight

Follow these steps to add this server as a custom Highlight plugin:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Server
    Command (node, npx, python, etc.) node
    Arguments
    • Argument 1 /path/to/mcp/build/index.js
    Environment
    • ROOT_PAGE $$SOME_UUID

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

To configure the server with Notion:

- Set environment variables:
- ROOT_PAGE: The root page ID of your Notion workspace.

To use this server with Claude Desktop, add the configuration:

- MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%/Claude/claude_desktop_config.json

Example configuration:

{
  "mcpServers": {
    "notion-texonom": {
      "command": "node",
      "args": [
        "/path/to/mcp/build/index.js"
      ],
      "env": {
        "ROOT_PAGE": "$SOME_UUID"
      }
    }
  }
}

The server now uses SSEServerTransport for remote communication, enabling shared usage of the server. Ensure that the necessary dependencies are installed and the server is configured correctly for remote deployment.

To run the server with SSEServerTransport, use the following command:

npx -y supergateway --port 8000 --stdio "npx -y @modelcontextprotocol/server-filesystem /some/folder"

Make sure to replace /some/folder with the appropriate path to your folder.

search_notes

Use the search_notes tool to search for Notion pages using a query string. Input: Query text to filter relevant pages. Output: Markdown content of matching notes.

summarize_note

Summarize a specific note by URI. Input: Notion page URI. Output: Structured message for summarization.

suggest_refactor

Propose structural improvements for a note. Input: Notion page URI. Output: Recommendations for structural changes.

suggest_fix

Identify potential fixes for note content. Input: Notion page URI. Output: Suggested fixes for the content.

suggest_enhance

Recommend enhancements to improve the note. Input: Notion page URI. Output: Suggestions for enhancements.

Tools Inspection

- Search Notes: Use the search_notes tool to search for Notion pages using a query string.
- Input: Query text to filter relevant pages.
- Output: Markdown content of matching notes.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp server": {
            "env": {
                "ROOT_PAGE": "$$SOME_UUID"
            },
            "args": [
                "/path/to/mcp/build/index.js"
            ],
            "command": "node"
        }
    }
}

Linux

{
    "env": {
        "ROOT_PAGE": "$$SOME_UUID"
    },
    "args": [
        "/path/to/mcp/build/index.js"
    ],
    "command": "node"
}

Macos

{
    "env": {
        "ROOT_PAGE": "$$SOME_UUID"
    },
    "args": [
        "/path/to/mcp/build/index.js"
    ],
    "command": "node"
}

Windows

{
    "env": {
        "ROOT_PAGE": "$$SOME_UUID"
    },
    "args": [
        "/path/to/mcp/build/index.js"
    ],
    "command": "node"
}

Browse your entire Notion workspace, not just one database

Markdown based Notion navigating MCP with just a single ROOT_PAGE variable, eliminating the need for a token.

- Notion MCP Server: notion-texonom
- Notion pages are converted into text/markdown mimeType notes.
- Search and retrieve relevant pages based on graph distance, considering parent-child and reference relationships.

A Model Context Protocol (MCP) server for managing and interacting with Notion-based notes. This TypeScript-based server demonstrates MCP concepts by integrating resources, tools, and prompts to interact with Notion pages efficiently.

Features

Resources

Resources Inspection

- Access Notes: List and retrieve Notion pages as note:// URIs with UUID slugs.
- Metadata: Each resource includes a title, description, and content in Markdown format.
- Mime Types: Content is accessible in text/markdown format.

Tools

Tools Inspection

- Search Notes: Use the search_notes tool to search for Notion pages using a query string.
- Input: Query text to filter relevant pages.
- Output: Markdown content of matching notes.

Prompts

Prompts Inspection

- Summarize Notes: Generate summaries for individual Notion pages.
- Available Prompts:
- summarize_note: Summarize a specific note by URI.
- suggest_refactor: Propose structural improvements.
- suggest_fix: Identify potential fixes for note content.
- suggest_enhance: Recommend enhancements to improve the note.
- Input: Notion page URI.
- Output: Structured messages for summarization and enhancement.

Development

Setup

Install dependencies:
pnpm install
Build the project:
pnpm build
For development with auto-rebuild:
pnpm watch

Configuration

To configure the server with Notion:

- Set environment variables:
- ROOT_PAGE: The root page ID of your Notion workspace.

Installation for Claude Desktop

To use this server with Claude Desktop, add the configuration:

- MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%/Claude/claude_desktop_config.json

Example configuration:

{
  "mcpServers": {
    "notion-texonom": {
      "command": "node",
      "args": [
        "/path/to/mcp/build/index.js"
      ],
      "env": {
        "ROOT_PAGE": "$SOME_UUID"
      }
    }
  }
}

Debugging

For troubleshooting and debugging the MCP server, use the MCP Inspector. To start the Inspector, run:
pnpm inspector
The Inspector provides a browser-based interface for inspecting stdio-based server communication.

Key Technologies

- Notion Integration: Powered by @texonom/nclient and @texonom/cli. - MCP SDK: Implements @modelcontextprotocol/sdk for server operations.

Remote Deployment

The server now uses SSEServerTransport for remote communication, enabling shared usage of the server. Ensure that the necessary dependencies are installed and the server is configured correctly for remote deployment.

Usage Instructions

To run the server with SSEServerTransport, use the following command:

npx -y supergateway --port 8000 --stdio "npx -y @modelcontextprotocol/server-filesystem /some/folder"

Make sure to replace /some/folder with the appropriate path to your folder.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.