Wraps the Notion API to let Claude manipulate your workspace pages and databases directly. Exposes tools for searching, creating, reading, and updating pages with markdown support, plus full database operations including queries with filters and sorting. Handles various Notion property types like select, multi-select, dates, and checkboxes. You'd reach for this when you want Claude to manage your Notion content, create project pages, update task databases, or pull information from your workspace during conversations. Requires a Notion integration with appropriate permissions and works through Claude Desktop's MCP configuration.
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.
git clone https://github.com/v-3/notion-server.git
cd notion-server
npm install
# 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
npm run build
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"
}
}
}
}
// 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\nThis is a test page."
});
const result = await notion.query_database({
databaseId: "db_id",
filter: {
property: "Status",
select: {
equals: "In Progress"
}
}
});
Contributions are welcome! Please:
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:
To use sweir1's version, you can clone their repository:
git clone https://github.com/sweir1/notion-server.git
hovecapital/read-only-local-postgres-mcp-server
cocaxcode/database-mcp
io.github.infoinlet-marketplace/mcp-mysql
io.github.cybeleri/database-admin
io.github.yash-0620/postgres-mcp-secured