J

mcp-notion-server

...
Created 12/11/2024bygabornyergesX

Categories

claude-aimodelcontextprotocolnotion

Language:

JavaScript

Stars:

0

Forks:

0

mcp-notion-server

A Model Context Protocol server for Notion integration

This TypeScript-based MCP server implements a bridge between Claude and Notion, allowing seamless interaction with Notion's databases and pages. It demonstrates core MCP concepts through:

  • Resource management for Notion pages and databases
  • Tools for CRUD operations on Notion content
  • AI-powered prompts for content analysis

Features

Resources

  • Access Notion pages and databases via URIs
  • Support for plain text and rich text content types
  • Metadata extraction from Notion properties

Tools

Database Operations

  • list_databases - List all accessible Notion databases
  • create_database - Create a new database with custom properties
  • query_database - Search and filter database entries
  • update_database - Modify database properties and schema

Page Operations

  • create_page - Create new pages in databases or as subpages
    • Support for title, properties, and markdown content
  • update_page - Update existing page properties
  • get_page - Retrieve page content and metadata
  • delete_page - Remove pages from databases or parent pages

Block Operations

  • append_blocks - Add new blocks to a page
  • delete_blocks - Remove blocks from a page
  • get_blocks - Retrieve block content
  • update_blocks - Modify existing block content

Prompts

  • summarize_notes - Generate concise summaries of notes
  • analyze_content - Provide insights and analysis of page content
  • suggest_tags - Recommend relevant tags based on content

Setup

Prerequisites

  • Node.js 18 or higher
  • Notion API Key and Integration setup
  • Claude Desktop application

Integration with Claude Desktop

Create a Notion Integration:

  1. Visit the Notion Your Integrations page.

  2. Click "New Integration".

             3. Name your integration and select appropriate permissions (e.g., "Read content", "Update content").
    
  3. Retrieve the Secret Key:

  4. Copy the "Internal Integration Token" from your integration. This token will be used for authentication.

  5. Add the Integration to Your Workspace:

  6. Open the page or database you want the integration to access in Notion.

  7. Click the navigation button in the top right corner.

  8. Click "Connect to" button and select your integration.

Configuration Setup

Add the server configuration to Claude Desktop:

MacOS:

~/Library/Application Support/Claude/claude_desktop_config.json

Windows:

%APPDATA%/Claude/claude_desktop_config.json

Configuration content:

{
  "mcpServers": {
   "mcp-notion-server": {
      "command": "npx",
      "args": [
        "-y",
        "@gabornyerges/mcp-notion-server"
      ],
      "env": {
        "NOTION_API_KEY": "your-notion-api-key"
      }
    }
  }
}

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

  1. MCP Inspector
npm run inspector

MIT License - see LICENSE for details

Last updated: 12/12/2024

Publisher info

gabornyergesX's avatar

Gabor Nyerges

0
followers
1
following
4
repos

More MCP servers built with JavaScript

emergency-medicare-planner-mcp-server

emergency-medicare-planner-mcp-server

By manolaz1
mcp-warpcast-server

MCP Server for Warpcast integration

By zhangzhongnan9281
mcp-tavily-server

Tavily MCP Server for Cline

By dkmaker1