We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/annyzhou/notion-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
README.md•2.52 KiB
# notion-mcp
A Notion MCP server using OAuth2 bearer token auth via the Dedalus framework.
## Features
This MCP server provides tools to interact with the Notion API:
### User Tools
- `notion_get_user` - Retrieve a specific user by ID
- `notion_list_users` - List all users in the workspace
- `notion_get_self` - Get the authenticated bot user's information
### Search Tools
- `notion_search` - Search pages and databases by title
### Block Tools
- `notion_get_block` - Retrieve a block by ID
- `notion_get_block_children` - Get child blocks of a parent
- `notion_append_block_children` - Append new blocks to a parent
- `notion_update_block` - Update a block's content
- `notion_delete_block` - Delete (archive) a block
### Page Tools
- `notion_get_page` - Get a page's metadata and properties
- `notion_get_page_property` - Get a specific property from a page
- `notion_create_page` - Create a new page
- `notion_update_page` - Update a page's properties
### Comment Tools
- `notion_get_comments` - Retrieve comments from a page or block
- `notion_create_comment` - Create a comment on a page
### Database Tools
- `notion_query_database` - Query a database with filters and sorts
- `notion_get_database` - Get database metadata and schema
- `notion_update_database` - Update database properties
- `notion_create_database` - Create a new database
## Installation
```bash
# Clone the repository
git clone https://github.com/dedalus-labs/notion-mcp.git
cd notion-mcp
# Install dependencies with uv
uv sync
```
## Configuration
Copy `.env.example` to `.env` and configure:
```bash
cp .env.example .env
```
### OAuth Configuration
The Notion API requires OAuth2 authentication. The access token is provided at runtime via Dedalus credential exchange.
Required OAuth scopes depend on your use case:
- Read content: Basic integration capabilities
- Insert content: Create pages and blocks
- Update content: Modify existing content
- Read user information (without email): List users
## Usage
### Running Locally
```bash
cd notion-mcp
uv sync
uv run python src/main.py
```
The server will start on port 8080.
### With Dedalus Platform
In your chat, reference the server with `@notion-mcp` followed by your instructions:
```
@notion-mcp Search for all pages containing "meeting notes"
```
```
@notion-mcp Create a new page titled "Project Plan" in my workspace
```
## Development
### Running Tests
```bash
uv run pytest
```
### Linting
```bash
uv run ruff check src/
uv run ruff format src/
```
## License
MIT License - see [LICENSE](LICENSE) for details.