# notion-mcp

> MCP Server

This repository provides a Model Context Protocol (MCP) server for Notion integration, offering a standardized interface to interact with Notion's API. It supports querying databases, creating pages, searching workspaces, and

## Overview

- **Category:** Productivity
- **Language:** Python
- **Stars:** 111
- **Forks:** 8
- **Owner:** ccabanillas
- **GitHub:** https://github.com/ccabanillas/notion-mcp
- **Created:** 2024-12-04T19:48:51+00:00
- **Updated:** 2025-03-27T08:17:30+00:00
- **Source:** https://model-context-protocol.com/servers/notion-mcp-server-model-context-protocol

## Setup

## Setup

1. Clone the repository:
```bash
git clone https://github.com/ccabanillas/notion-mcp.git
cd notion-mcp
```

2. Create a virtual environment and install dependencies:
```bash
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -e .
```

3. Create a `.env` file in the project root:
```bash
NOTION_API_KEY=your_notion_integration_token
```

4. To actually use it with Claude Desktop as intended you need to adjust your claude_desktop_config.json file

```
"notion-mcp": {
            "command": "/Users/username/Projects/notion-mcp/venv/bin/python3", <--Path your virtual environment
            "args": ["-m", "notion_mcp"],
            "cwd": "/Users/username/Projects/notion-mcp" <-- Path to your project
    },
```

## Tools

## Available Tools

1. List and query Notion databases (Provides functionality to list and query Notion databases.)
2. Create and update pages (Enables the creation and updating of pages within Notion.)
3. Search across Notion workspace (Allows searching across the entire Notion workspace.)
4. Full async/await support (Offers asynchronous programming support.)
5. Type-safe with Pydantic models (Ensures type safety using Pydantic models.)
6. Proper error handling (Implements robust error handling mechanisms.)
