Notion Query MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "NOTION_API_KEY=${NOTION_API_KEY}" notion-query -- npx -y @advitrocks9/notion-mcp
Required:NOTION_API_KEY
README.md

Structured, SQL-style query access to any Notion database.

Notion Query MCP Server

A custom MCP server that gives Claude structured, SQL-style query access to any Notion database. Deployed on Cloudflare Workers (free tier).

Why

Claude's built-in Notion connector only supports semantic search (max 10 fuzzy results). It cannot filter by property values like Status, Module, or Type. This server wraps the Notion REST API to expose proper structured filtering, sorting, and pagination.

Tools

Tool Description
query_database Query with filters, sorts, and pagination (SQL-style WHERE/ORDER BY/LIMIT)
get_page Fetch a single page with all properties
update_page Update page properties (status, dates, text, etc.)
list_databases Discover all accessible databases and their schemas

Setup

Prerequisites

1. Create a Notion Integration

  1. Go to notion.so/profile/integrations
  2. Click New integration, name it (e.g. Claude MCP Bridge)
  3. Enable Read content and Update content
  4. Copy the Internal Integration Secret (starts with ntn_)

2. Share Databases

Open each Notion database you want Claude to access, click ... > Connections > Connect to > select your integration.

3. Install and Deploy

git clone <this-repo>
cd notion-query-mcp
npm install

# Login to Cloudflare
npx wrangler login

# Set your Notion API key as a secret
npx wrangler secret put NOTION_API_KEY
# Paste your ntn_XXXXX token

# Deploy
npm run deploy

The deploy outputs a URL like https://notion-query-mcp.<your-subdomain>.workers.dev.

4. Connect to Claude.ai

  1. Go to Settings > Integrations > Add custom connector
  2. Enter a name and your worker URL with /sse path (e.g. https://notion-query-mcp.example.workers.dev/sse)
  3. Leave OAuth fields empty
  4. Click Add

5. Test

Open a new Claude conversation and try:

"List all my Notion databases"

"Show me all tasks where Status is 'Not started', sorted by Date"

Endpoints

The server exposes two MCP transports:

  • SSE: /sse (used by Claude.ai)
  • Streamable HTTP: /mcp

Development

npm run dev        # Local dev server
npm run type-check # TypeScript validation
npm run deploy     # Deploy to Cloudflare

Cost

$0/month. Cloudflare Workers free tier provides 100,000 requests/day. The Notion API is free for internal integrations.

License

MIT

Tools (4)

query_databaseQuery with filters, sorts, and pagination (SQL-style WHERE/ORDER BY/LIMIT)
get_pageFetch a single page with all properties
update_pageUpdate page properties (status, dates, text, etc.)
list_databasesDiscover all accessible databases and their schemas

Environment Variables

NOTION_API_KEYrequiredThe Internal Integration Secret from your Notion integration

Configuration

claude_desktop_config.json
{"mcpServers": {"notion-query": {"command": "npx", "args": ["-y", "@advitrocks9/notion-mcp"], "env": {"NOTION_API_KEY": "ntn_XXXXX"}}}}

Try it

List all my Notion databases
Show me all tasks where Status is 'Not started', sorted by Date
Update the status of the page with ID 'xyz' to 'Completed'
Find all pages in my 'Project Roadmap' database that are assigned to me

Frequently Asked Questions

What are the key features of Notion Query?

SQL-style query access to Notion databases. Advanced property-based filtering (Status, Module, Type, etc.). Database schema discovery. Support for sorting and pagination. Direct page property updates.

What can I use Notion Query for?

Managing project tasks by filtering for specific statuses. Automating database updates based on Claude's analysis. Retrieving specific project documentation using property filters. Auditing database schemas and structures within a workspace.

How do I install Notion Query?

Install Notion Query by running: npx wrangler secret put NOTION_API_KEY && npm run deploy

What MCP clients work with Notion Query?

Notion Query works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Notion Query docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare