MCP
A Model Context Protocol server wrapping the official Notion SDK
Install / Use
npx skills add ramidecodes/mcp-server-notionInstalls into whichever agent you are using.
Cursor Rules
Cursor IDE rules (v2)
Quality Score
Category
Development & EngineeringSupported Platforms
Skill content
View source on GitHubMCP Server Rules for Cursor AI
Overview
This rules file defines how Cursor AI should interact with the Model Context Protocol (MCP) server for Notion. These rules help Cursor AI understand the capabilities and limitations of the Notion MCP server.
Server Information
- Name: Notion MCP Server
- Purpose: Provides access to Notion workspaces via the Model Context Protocol
- Transport: stdio (standard input/output)
- Authentication: Requires a Notion API key provided via command-line parameter
--api-keyor stored in environment variableNOTION_API_KEY - Installation: Run directly via
npx @ecovirtual/mcp-server-notion@latest -y --api-key=your_notion_api_key
Command Format Best Practices
- Always use the
@latesttag to ensure you're using the most recent version - Include the
-yflag to skip confirmation prompts - When using the
--api-keyparameter, use the format--api-key=your_notion_api_key(with equals sign, no spaces) - When using environment variables, set
NOTION_API_KEY(not--api-key) - On Windows, prefix with
cmd /cto ensure proper execution:cmd /c npx @ecovirtual/mcp-server-notion@latest -y --api-key=your_notion_api_key - On macOS/Linux, consider using the full path to npx if you encounter issues
- For troubleshooting "Failed to create client" errors, try creating a shell script wrapper
Available Tools
Search Tools
search: Search for pages or databases in a Notion workspace- Parameters:
query(string),filter_object_type(string),page_size(number)
- Parameters:
Database Tools
query-database: Query a Notion database with optional filters and sorting- Parameters:
database_id(string),filter(string),sorts(string),page_size(number),start_cursor(string)
- Parameters:
get-database: Retrieve a Notion database by ID- Parameters:
database_id(string)
- Parameters:
Page Tools
create-page: Create a new page in Notion- Parameters:
parent_type(string),parent_id(string),properties(string),children(string)
- Parameters:
get-page: Retrieve a Notion page by ID- Parameters:
page_id(string)
- Parameters:
update-page: Update a Notion page- Parameters:
page_id(string),properties(string),archived(boolean)
- Parameters:
Block Tools
append-blocks: Add content blocks to a page or block- Parameters:
block_id(string),children(string)
- Parameters:
get-block: Retrieve a block by ID- Parameters:
block_id(string)
- Parameters:
get-block-children: Retrieve children blocks of a block or page- Parameters:
block_id(string),page_size(number),start_cursor(string)
- Parameters:
update-block: Update a block- Parameters:
block_id(string),properties(string)
- Parameters:
delete-block: Delete (archive) a block- Parameters:
block_id(string)
- Parameters:
Usage Patterns
Natural Language Queries
When the user asks about Notion content, use the search tool first to find relevant pages or databases.
Example:
User: Find my notes about project planning
Action: Use the search tool with query="project planning"
Database Operations
When working with databases, first get the database structure with get-database, then query it with query-database.
Example:
User: Show me all tasks with status "In Progress"
Action:
1. Use search to find the tasks database
2. Use get-database to understand its structure
3. Use query-database with appropriate filters
Content Creation
For creating content, use create-page for new pages and append-blocks for adding content to existing pages.
Example:
User: Create a new page with today's meeting notes
Action: Use create-page with appropriate properties and children blocks
Response Handling
- All responses are JSON strings that should be parsed before presenting to the user
- Large responses should be summarized or formatted for better readability
- Error responses include an
isErrorflag and should be presented clearly to the user
Error Handling
- Authentication errors: Prompt the user to check their Notion API key
- Permission errors: Suggest sharing the relevant pages/databases with the integration
- Rate limiting: Inform the user and suggest trying again later
- Invalid parameters: Provide clear guidance on the correct parameter format
Limitations
- The server cannot access pages/databases that haven't been shared with the integration
- Complex Notion features like comments and user mentions may have limited support
- Rate limits from the Notion API apply (approximately 3 requests per second)
- The server doesn't maintain state between requests
Best Practices
- Use IDs consistently: Always use the same ID format (UUID without hyphens)
- Minimize requests: Combine operations when possible to reduce API calls
- Handle pagination: For large datasets, use pagination parameters
- Format JSON: When showing JSON to users, format it for readability
- Validate input: Ensure parameters match the expected format before sending
Related Skills
Agent-Reach
84.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
73.4kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ruflo
73.0k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
career-ops
72.4kOpen-source AI job search: scan job portals, evaluate listings into a structured A-H report with a global 1-5 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)
Security Score
Audited on Invalid Date
