Website | Documentation | Blog
A high-performance Model Context Protocol (MCP) server that seamlessly integrates Notion into your AI workflows. This server enables AI agents to interact with Notion pages and databases through a standardized protocol. This server supports MCP Sampling, which is required to the MCP to create and update Notion pages.
A compatible MCP client is available here. Complicated AI usage is managed by sampling and LLMs.
const serverCapabilities: { capabilities: ServerCapabilities } = { capabilities: { resources: { listChanged: true, }, tools: {}, prompts: { listChanged: true, }, sampling: {}, }, };
-
📝 Comprehensive Content Management
- Create and update pages with rich text formatting
- Search across your Notion workspace
-
🛠 Developer-Friendly
- Extensive test coverage with Jest
- TypeScript support
- Comprehensive error handling
- Detailed logging and debugging tools
Before using this server, you'll need:
-
Systemprompt API Key (Free)
- Sign up at systemprompt.io/console
- Create a new API key in your dashboard
-
Notion Account and Workspace
- Active Notion account
- Workspace with content you want to access
-
Notion Integration
- Create at notion.so/my-integrations
- Required capabilities:
- Read/Update/Insert content
- Database management
- Search functionality
-
MCP-Compatible Client
- Systemprompt MCP Client
- Any other MCP-compatible client
-
Installation
To install systemprompt-mcp-notion for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install systemprompt-mcp-notion --client claude
npm install systemprompt-mcp-notion
-
Configuration Create a
.env
file:SYSTEMPROMPT_API_KEY=your_systemprompt_api_key NOTION_API_KEY=your_notion_integration_token
-
MCP Configuration Add the following to your MCP configuration JSON:
{ "mcpServers": { "notion": { "command": "npx", "args": ["systemprompt-mcp-notion"], "env": { "SYSTEMPROMPT_API_KEY": "your_systemprompt_api_key", "NOTION_API_KEY": "your_notion_integration_token" } } } }
Alternatively, if you've installed the package locally:
{ "mcpServers": { "notion": { "command": "node", "args": ["./node_modules/systemprompt-mcp-notion/build/index.js"], "env": { "SYSTEMPROMPT_API_KEY": "your_systemprompt_api_key", "NOTION_API_KEY": "your_notion_integration_token" } } } }
-
Clone the repository:
git clone https://github.com/systemprompt-io/systemprompt-mcp-notion.git cd systemprompt-mcp-notion
-
Install dependencies:
npm install
-
Set up environment:
cp .env.example .env # Edit .env with your API keys
We maintain high test coverage using Jest:
# Run all tests
npm test
# Watch mode for development
npm run test:watch
# Generate coverage report
npm run test:coverage
# Test Notion API connection
npm run test:notion