Notion MCP Server
Notion MCP Server
A server that connects to the Notion API and exposes functionality through Claude's Machine Context Protocol (MCP).
Features
Search Notion pages by title or content
Retrieve page details and content
Query Notion databases
Create new pages in Notion
Setup
Clone this repository:
git clone https://github.com/yourusername/notion-mcp-server.git
cd notion-mcp-serverInstall dependencies:
npm installCreate a
.envfile in the root directory with the following content:
NOTION_API_KEY=your_notion_api_key_here
PORT=3000
# Optional: if you want to query a specific database by default
NOTION_DATABASE_ID=your_notion_database_id_hereGet your Notion API key:
Create a new integration
Copy the "Internal Integration Token"
Add this token as your
NOTION_API_KEYin the.envfile
Connect your Notion integration to your workspace:
Go to a page or database in your Notion workspace
Click the "..." menu in the top right
Select "Add connections"
Find and add your integration
Running the Server
Start the server in development mode:
npm run devOr in production mode:
npm startThe server will run on the port specified in your .env file (default: 3000).
API Endpoints
Regular HTTP Endpoints
POST /api/notion/search
Search for pages in Notion
Body:
{ "query": "search term" }
POST /api/notion/page
Get a page by ID
Body:
{ "page_id": "page-id-here" }
POST /api/notion/database/query
Query a database
Body:
{ "database_id": "database-id-here", "filter": {}, "sorts": [] }
POST /api/notion/page/create
Create a new page
Body:
{ "parent": {}, "properties": {}, "children": [] }
MCP Integration
The server exposes an MCP manifest at /mcp/manifest.json which describes the available functions.
To invoke an MCP function, send a POST request to /api/notion/mcp/invoke with the following structure:
{
"function_name": "search_pages",
"parameters": {
"query": "search term"
}
}Available MCP Functions
search_pages - Search Notion pages by title or content
get_page - Get a Notion page by ID
query_database - Query a Notion database
create_page - Create a new page in Notion
License
MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/snowan/notion-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server