Skip to main content
Glama

Notion MCP Server

by snowan
README.md2.47 kB
# 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 1. Clone this repository: ```bash git clone https://github.com/yourusername/notion-mcp-server.git cd notion-mcp-server ``` 2. Install dependencies: ```bash npm install ``` 3. Create a `.env` file 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_here ``` 4. Get your Notion API key: - Go to [https://www.notion.so/my-integrations](https://www.notion.so/my-integrations) - Create a new integration - Copy the "Internal Integration Token" - Add this token as your `NOTION_API_KEY` in the `.env` file 5. 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: ```bash npm run dev ``` Or in production mode: ```bash npm start ``` The 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: ```json { "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

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