About Notion Chakra MCP
Notion Chakra MCP is a Notion integration service for working with pages and databases. It supports extensible custom objects and functions, with stdio and SSE transport options.
Key features
- 01List and query databases
- 02Create and update pages
- 03Search Notion content
- 04Manage blocks and child blocks
- 05stdio and SSE transports
Use cases
- 01Finding content across a Notion workspace
- 02Querying and maintaining Notion databases
- 03Creating or updating Notion pages
- 04Managing page blocks and their children
MCP support
Exposes Notion database, page, search, and block operations to MCP clients. Supports stdio and SSE transports.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
docker run -i --rm -e TRANSPORT -e NOTION_API_KEY -e HOST -e PORT -e PYTHONPATH notion-chakra-mcpTRANSPORTNOTION_API_KEYSecretHOSTPORTPYTHONPATHLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMENotion Chakra MCP
This is a Notion integration service that provides MCP (Message Control Protocol) endpoints for interacting with Notion databases and pages.
Features
- List and query Notion databases
- Create and update pages
- Search Notion content
- Manage blocks and children
- Support for both stdio and SSE transports
Setup Options
1. MCP Client Configuration (Recommended)
Add the following to your ~/.cursor/mcp.json:
{
"mcpServers": {
"notion-chakra-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"/path/to/notion-chakra-mcp/data:/app/data",
"-e",
"TRANSPORT",
"-e",
"NOTION_API_KEY",
"-e",
"HOST",
"-e",
"PORT",
"-e",
"PYTHONPATH=/app/src",
"notion-chakra-mcp"
],
"env": {
"TRANSPORT": "stdio",
"NOTION_API_KEY": "your_notion_api_key",
"HOST": "0.0.0.0",
"PORT": "8050"
}
}
}
}
Make sure to:
- Replace
/path/to/notion-chakra-mcpwith your actual project path - Set your
NOTION_API_KEYvalue - Create a
datadirectory in your project root:mkdir -p data
2. Docker Compose Setup
For development or standalone usage, you can use Docker Compose:
# Build and start with stdio transport
TRANSPORT=stdio docker-compose up notion-chakra-mcp
# Or with SSE transport
TRANSPORT=sse docker-compose up notion-chakra-mcp
3. Direct Docker Usage
For manual testing or custom setups:
# Build the image
docker build -t notion-chakra-mcp .
# Run with stdio transport
docker run --rm -i \
-v $(pwd)/data:/app/data \
-e TRANSPORT=stdio \
-e NOTION_API_KEY=your_key \
-e PYTHONPATH=/app/src \
notion-chakra-mcp
# Run with SSE transport
docker run --rm -i \
-v $(pwd)/data:/app/data \
-e TRANSPORT=sse \
-e NOTION_API_KEY=your_key \
-e HOST=0.0.0.0 \
-e PORT=8050 \
-p 8050:8050 \
-e PYTHONPATH=/app/src \
notion-chakra-mcp
Configuration
Environment Variables
NOTION_API_KEY: Your Notion integration token (required)TRANSPORT: Transport type (stdioorsse, defaults tostdio)HOST: Server host for SSE transport (defaults to0.0.0.0)PORT: Server port for SSE transport (defaults to8050)PYTHONPATH: Python module path (should be/app/src)
Data Persistence
The service uses a data directory for persistent storage:
- Mounted at
/app/datainside the container - Stores schemas, database mappings, and other persistent data
- Must be created before running the container:
mkdir -p data
Development
Running Tests
# Install test dependencies
pip install -r requirements.txt
# Run tests
python -m pytest tests/ -v
Adding New Features
- Add your feature implementation in
src/ - Add tests in
tests/ - Update requirements.txt if needed
- Run tests to verify everything works
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.