notion server
Enables Language Models to interact with Notion workspaces through standardized tools for searching, reading, creating, and updating pages and databases.
Enables Language Models to interact with Notion workspaces through standardized tools for searching, reading, creating, and updating pages and databases.
A Model Context Protocol (MCP) server that provides seamless integration with Notion. This server enables Language Models to interact with your Notion workspace through standardized tools for searching, reading, creating, and updating pages and databases.
Clone the repository:
git clone https://github.com/v-3/notion-server.git
cd notion-server
Install dependencies:
npm install
Set up your environment:
# Create .env file
echo "NOTION_API_KEY=your_notion_api_key_here" > .env
# Or export directly
export NOTION_API_KEY=your_notion_api_key_here
Build the server:
npm run build
Update your Claude Desktop configuration (claude_desktop_config.json
):
{
"mcpServers": {
"notion": {
"command": "node",
"args": ["/absolute/path/to/notion-server/build/index.js"],
"env": {
"NOTION_API_KEY": "your_notion_api_key_here"
}
}
}
}
Restart Claude Desktop to apply changes
// Search pages
{
query: string // Search query
}
// Read page
{
pageId: string // ID of the page to read
}
// Create page
{
title?: string, // Page title
content?: string, // Page content in markdown
parentPageId: string // Parent page ID
properties?: object // For database items
}
// Update page
{
pageId: string, // Page ID to update
content: string, // New content
type?: string // Content type
}
// Create database
{
parentPageId: string,
title: string,
properties: object
}
// Query database
{
databaseId: string,
filter?: object,
sort?: object
}
const result = await notion.create_page({
parentPageId: "page_id",
title: "My Page",
content: "# Welcome
This is a test page."
});
const result = await notion.query_database({
databaseId: "db_id",
filter: {
property: "Status",
select: {
equals: "In Progress"
}
}
});
Contributions are welcome! Please: 1. Fork the repository 2. Create a feature branch 3. Submit a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This project has been significantly improved by sweir1/notion-server, who has made following updates: - Enhanced markdown support with more block types - Comprehensive database operations - Improved error handling and debugging - Better property handling for database items - Cleaner page output formatting
To use sweir1's version, you can clone their repository:
git clone https://github.com/sweir1/notion-server.git