notion.com
notion.com logo

Notion

Integrates Notion's API, enabling workflows to interact with Notion databases and pages for dynamic content management a...

Created byApr 22, 2025

Notion MCP Server

A Model Context Protocol (MCP) server implementation for Notion integration, providing a standardized interface for interacting with Notion's API. Compatible with Claude Desktop and other MCP clients.

Features

  • List and query Notion databases
  • Create and update pages
  • Search across Notion workspace
  • Get database details and block children
  • Full async/await support with httpx
  • Type-safe with Pydantic v2 models
  • Proper error handling with detailed logging
  • Compatibility with MCP 1.6.0

Installation

  1. Clone the repository:
  1. Create a virtual environment and install dependencies (using uv):
Alternatively, using standard venv:
  1. Create a .env file in the project root:

Usage

  1. Test the server (it should run without errors):
  1. To use it with Claude Desktop, adjust your claude_desktop_config.json file (located at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Be sure to replace /Users/username/ with your actual home directory path.

Development

Project Structure

Running Tests

Configuration

The server requires a Notion integration token. To set this up:
  1. Go to https://www.notion.so/my-integrations
  1. Create a new integration with appropriate capabilities (read/write as needed)
  1. Copy the integration token
  1. Add it to your .env file in the project root directory:
  1. Share your Notion databases with the integration (from the database's "Share" menu)

Contributing

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

License

MIT License - Use at your own risk

Troubleshooting

Common Issues

  • Connection Errors: Make sure your Notion API key is correct and you have internet access
  • Permission Errors: Ensure your integration has been given access to the databases you're trying to access
  • Claude Desktop Integration: If Claude Desktop isn't connecting, check that your config path is correct and that the server is running without logging to stdout

Acknowledgments

  • Built to work with Claude Desktop and other MCP clients
  • Uses Notion's API (latest compatible version 2022-02-22)
  • MCP 1.6.0 compatibility maintained

Notion MCP Server

A Model Context Protocol (MCP) server implementation for Notion integration, providing a standardized interface for interacting with Notion's API. Compatible with Claude Desktop and other MCP clients.

Features

  • List and query Notion databases
  • Create and update pages
  • Search across Notion workspace
  • Get database details and block children
  • Full async/await support with httpx
  • Type-safe with Pydantic v2 models
  • Proper error handling with detailed logging
  • Compatibility with MCP 1.6.0

Installation

  1. Clone the repository:
  1. Create a virtual environment and install dependencies (using uv):
Alternatively, using standard venv:
  1. Create a .env file in the project root:

Usage

  1. Test the server (it should run without errors):
  1. To use it with Claude Desktop, adjust your claude_desktop_config.json file (located at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Be sure to replace /Users/username/ with your actual home directory path.

Development

Project Structure

Running Tests

Configuration

The server requires a Notion integration token. To set this up:
  1. Go to https://www.notion.so/my-integrations
  1. Create a new integration with appropriate capabilities (read/write as needed)
  1. Copy the integration token
  1. Add it to your .env file in the project root directory:
  1. Share your Notion databases with the integration (from the database's "Share" menu)

Contributing

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

License

MIT License - Use at your own risk

Troubleshooting

Common Issues

  • Connection Errors: Make sure your Notion API key is correct and you have internet access
  • Permission Errors: Ensure your integration has been given access to the databases you're trying to access
  • Claude Desktop Integration: If Claude Desktop isn't connecting, check that your config path is correct and that the server is running without logging to stdout

Acknowledgments

  • Built to work with Claude Desktop and other MCP clients
  • Uses Notion's API (latest compatible version 2022-02-22)
  • MCP 1.6.0 compatibility maintained