Notion MCP Server
Integration für Notion mit MCP

Beschreibung

Eine MCP Server Implementierung zur Integration von Notion, die eine standardisierte Schnittstelle zur Interaktion mit der Notion API bereitstellt.

Details

Typ

API Integration

Notion MCP Server

A Model Context Protocol (MCP) server implementation for Notion integration, providing a standardized interface for interacting with Notion's API.

Features

  • List and query Notion databases
  • Create and update pages
  • Search across Notion workspace
  • Full async/await support
  • Type-safe with Pydantic models
  • Proper error handling

Installation

  1. Clone the repository:

git clone https://github.com/ccabanillas/notion-mcp.git cd notion-mcp
  1. Create a virtual environment and install dependencies:

python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -e .
  1. Create a .env file in the project root:

NOTION_API_KEY=your_notion_integration_token

Usage

  1. Test the server(it should just run without errors):

python -m notion_mcp
  1. 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
    },

Development

Project Structure

notion-mcp/
├── src/
│   └── notion_mcp/
│       ├── models/
│       │   ├── __init__.py
│       │   └── notion.py
│       ├── __init__.py
│       ├── __main__.py
│       ├── client.py
│       └── server.py
├── .env
├── .gitignore
├── pyproject.toml
└── README.md

Running Tests

pytest

Configuration

The server requires a Notion integration token. To set this up:

  1. Go to https://www.notion.so/my-integrations
  2. Create a new integration
  3. Copy the integration token
  4. Add it to your .env file

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License - Use at your own risk

Acknowledgments

  • Built to work with Claude Desktop
  • Uses Notion's API
  • Special thanks to [danhilse], I referenced his notion-mcp-server project