{"_id":"@ramidecodes/mcp-server-notion","_rev":"4-d21d9d52bf59b1feb5779340fc6a4291","name":"@ramidecodes/mcp-server-notion","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.3":{"name":"@ramidecodes/mcp-server-notion","version":"1.0.3","keywords":["mcp","notion","model-context-protocol","llm","mcp-server","cursor","modelcontextprotocol","notion-api","notion-sdk-js"],"author":{"name":"Ramiro Ramirez","email":"ramidecodes@gmail.com"},"license":"MIT","_id":"@ramidecodes/mcp-server-notion@1.0.3","maintainers":[{"name":"ramidecodes","email":"ramidecodes@gmail.com"}],"homepage":"https://github.com/ramidecodes/mcp-server-notion#readme","bugs":{"url":"https://github.com/ramidecodes/mcp-server-notion/issues"},"bin":{"mcp-server-notion":"dist/bin.js"},"dist":{"shasum":"38e4bc299a30ab0610e719c54756f925f86ba240","tarball":"https://registry.npmjs.org/@ramidecodes/mcp-server-notion/-/mcp-server-notion-1.0.3.tgz","fileCount":19,"integrity":"sha512-m3TGTpxNyqOkHpkQRQ1bxO7FLXcKBLbb6CfPcPNjQQVu8D5DZZhjnIrWaGNeYoQ4agMzLGBP1Gola3A0UUhiRw==","signatures":[{"sig":"MEUCIQCvEYGn9Wzkx5bENaGfX0KDxeZtNaSoqa77m3h+bAunGQIgLB+axkKJe4CSZB87W6TfPL9X5zB5yv1epmI39g/rqp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122232},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"bf35fe371cad224798208e6c1aeee7d63f68940a","scripts":{"dev":"ts-node-dev --respawn --transpile-only src/bin.ts","lint":"eslint --ext .ts src/","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/bin.js","prepare":"npm run build","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"ramidecodes","email":"ramidecodes@gmail.com"},"repository":{"url":"git+https://github.com/ramidecodes/mcp-server-notion.git","type":"git"},"_npmVersion":"10.9.0","description":"A Model Context Protocol (MCP) server that exposes the official Notion SDK","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.24.2","cors":"2.8.5","dotenv":"16.4.7","express":"4.21.2","@notionhq/client":"2.2.16","@modelcontextprotocol/sdk":"1.6.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.21.0","typescript":"5.8.2","@types/cors":"2.8.17","@types/node":"22.13.8","ts-node-dev":"2.0.0","@types/express":"5.0.0","@typescript-eslint/parser":"8.26.0","@typescript-eslint/eslint-plugin":"8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-notion_1.0.3_1741080701156_0.9653014747550375","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@ramidecodes/mcp-server-notion","version":"1.0.4","keywords":["mcp","notion","model-context-protocol","llm","mcp-server","cursor","modelcontextprotocol","notion-api","notion-sdk-js"],"author":{"name":"Ramiro Ramirez","email":"ramidecodes@gmail.com"},"license":"MIT","_id":"@ramidecodes/mcp-server-notion@1.0.4","maintainers":[{"name":"ramidecodes","email":"ramidecodes@gmail.com"}],"homepage":"https://github.com/ramidecodes/mcp-server-notion#readme","bugs":{"url":"https://github.com/ramidecodes/mcp-server-notion/issues"},"bin":{"mcp-server-notion":"dist/bin.js"},"dist":{"shasum":"48f899b5c84cdd07bbc048dc929c56c09169961f","tarball":"https://registry.npmjs.org/@ramidecodes/mcp-server-notion/-/mcp-server-notion-1.0.4.tgz","fileCount":19,"integrity":"sha512-W58Ix0ztfTN49frtQu7B89TNlfnpp3xyadyX7E4u4MvNDEP01+Nxg7t34B1Z/QvCUL3M3vdU5B+fxifWoLNsaw==","signatures":[{"sig":"MEYCIQDrtVevxzIbk9ntHH85aOTgcr3wiJ5KCwYwUlEdvPZ8hQIhAIDNLqaUZGrWAPlZB5WODyyZS4lVaflwXhxzOp+ysI13","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117623},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"d0a769adcc819d53b86d02b7916e899adb23d284","scripts":{"dev":"ts-node-dev --respawn --transpile-only src/bin.ts","lint":"eslint --ext .ts src/","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/bin.js","prepare":"npm run build","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"ramidecodes","email":"ramidecodes@gmail.com"},"repository":{"url":"git+https://github.com/ramidecodes/mcp-server-notion.git","type":"git"},"_npmVersion":"10.9.0","description":"A Model Context Protocol (MCP) server that exposes the official Notion SDK","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.24.2","cors":"2.8.5","dotenv":"16.4.7","express":"4.21.2","@notionhq/client":"2.2.16","@modelcontextprotocol/sdk":"1.6.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.21.0","typescript":"5.8.2","@types/cors":"2.8.17","@types/node":"22.13.8","ts-node-dev":"2.0.0","@types/express":"5.0.0","@typescript-eslint/parser":"8.26.0","@typescript-eslint/eslint-plugin":"8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-notion_1.0.4_1741081145390_0.08343751567184587","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@ramidecodes/mcp-server-notion","version":"1.0.5","keywords":["mcp","notion","model-context-protocol","llm","mcp-server","cursor","modelcontextprotocol","notion-api","notion-sdk-js"],"author":{"name":"Ramiro Ramirez","email":"ramidecodes@gmail.com"},"license":"MIT","_id":"@ramidecodes/mcp-server-notion@1.0.5","maintainers":[{"name":"ramidecodes","email":"ramidecodes@gmail.com"}],"homepage":"https://github.com/ramidecodes/mcp-server-notion#readme","bugs":{"url":"https://github.com/ramidecodes/mcp-server-notion/issues"},"bin":{"mcp-server-notion":"dist/bin.js"},"dist":{"shasum":"a1b979a9ac2ef3e7b5626a416c7f96e8bbe66c79","tarball":"https://registry.npmjs.org/@ramidecodes/mcp-server-notion/-/mcp-server-notion-1.0.5.tgz","fileCount":19,"integrity":"sha512-/qc39j/03JxPy6YqgKGcB09LUKOOaQEeTtmX7xeNu22Vw65fFZ6LvVJ7uQmAQU9hCNk1TsMARmFy2EdwGb2K9w==","signatures":[{"sig":"MEYCIQCIuDBlyMuLWmQXIMJDfIY1gRDqS0OK6XJCwvzkWjja9gIhANMFGEhkQ6+WFSVrV+OHFoGP39f9q0ZsRqqVmnjJiRYO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118365},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"19b5be02cde67d731de208fd42c790a493270db0","scripts":{"dev":"ts-node-dev --respawn --transpile-only src/bin.ts","lint":"eslint --ext .ts src/","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node dist/bin.js","prepare":"npm run build","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"ramidecodes","email":"ramidecodes@gmail.com"},"repository":{"url":"git+https://github.com/ramidecodes/mcp-server-notion.git","type":"git"},"_npmVersion":"10.9.0","description":"A Model Context Protocol (MCP) server that exposes the official Notion SDK","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.24.2","cors":"2.8.5","dotenv":"16.4.7","express":"4.21.2","@notionhq/client":"2.2.16","@modelcontextprotocol/sdk":"1.6.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.21.0","typescript":"5.8.2","@types/cors":"2.8.17","@types/node":"22.13.8","ts-node-dev":"2.0.0","@types/express":"5.0.0","@typescript-eslint/parser":"8.26.0","@typescript-eslint/eslint-plugin":"8.26.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-notion_1.0.5_1741684001609_0.22923083858326132","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@ramidecodes/mcp-server-notion","version":"1.0.6","description":"A Model Context Protocol (MCP) server that exposes the official Notion SDK","type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"mcp-server-notion":"dist/bin.js"},"scripts":{"build":"tsc","start":"node dist/bin.js","dev":"ts-node-dev --respawn --transpile-only src/bin.ts","lint":"eslint --ext .ts src/","test":"echo \"Error: no test specified\" && exit 1","prepare":"npm run build","prepublishOnly":"npm run lint && npm run build"},"keywords":["mcp","notion","model-context-protocol","llm","mcp-server","cursor","modelcontextprotocol","notion-api","notion-sdk-js"],"author":{"name":"Ramiro Ramirez","email":"ramidecodes@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ramidecodes/mcp-server-notion.git"},"homepage":"https://github.com/ramidecodes/mcp-server-notion#readme","bugs":{"url":"https://github.com/ramidecodes/mcp-server-notion/issues"},"engines":{"node":">=18"},"dependencies":{"@modelcontextprotocol/sdk":"1.6.1","@notionhq/client":"2.2.16","cors":"2.8.5","dotenv":"16.4.7","express":"4.21.2","zod":"^3.24.2"},"devDependencies":{"@types/cors":"2.8.17","@types/express":"5.0.0","@types/node":"22.13.8","@typescript-eslint/eslint-plugin":"8.26.0","@typescript-eslint/parser":"8.26.0","eslint":"9.21.0","ts-node-dev":"2.0.0","typescript":"5.8.2"},"_id":"@ramidecodes/mcp-server-notion@1.0.6","gitHead":"ab4f06a10f828675a8ac9afd96ca66365af67768","_nodeVersion":"22.11.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-KoXkF2bzco7+3GCSeuU7oLHFQ42HiSEwGeJgtH1oR8E1mceQ/d+eGyHrCtZPOnwAbeVvZTix6Q4+7DDQD0CSHQ==","shasum":"4851f7d00af5843c7aa8b7f72cb598c49fa7844d","tarball":"https://registry.npmjs.org/@ramidecodes/mcp-server-notion/-/mcp-server-notion-1.0.6.tgz","fileCount":19,"unpackedSize":119405,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCb9Vn72o9Aau96ER6/NCDs8JvGz5FDcihoRJrA0yTvwgIhAPjyAjic0QuCNdFKnvLetpscC/zOwT1bz0030PTISPgm"}]},"_npmUser":{"name":"ramidecodes","email":"ramidecodes@gmail.com"},"directories":{},"maintainers":[{"name":"ramidecodes","email":"ramidecodes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server-notion_1.0.6_1742289814527_0.47905793276141817"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-04T09:31:41.056Z","modified":"2025-03-18T09:23:34.832Z","1.0.3":"2025-03-04T09:31:41.323Z","1.0.4":"2025-03-04T09:39:05.601Z","1.0.5":"2025-03-11T09:06:41.829Z","1.0.6":"2025-03-18T09:23:34.674Z"},"bugs":{"url":"https://github.com/ramidecodes/mcp-server-notion/issues"},"author":{"name":"Ramiro Ramirez","email":"ramidecodes@gmail.com"},"license":"MIT","homepage":"https://github.com/ramidecodes/mcp-server-notion#readme","keywords":["mcp","notion","model-context-protocol","llm","mcp-server","cursor","modelcontextprotocol","notion-api","notion-sdk-js"],"repository":{"type":"git","url":"git+https://github.com/ramidecodes/mcp-server-notion.git"},"description":"A Model Context Protocol (MCP) server that exposes the official Notion SDK","maintainers":[{"name":"ramidecodes","email":"ramidecodes@gmail.com"}],"readme":"# Notion MCP Server\n\nA Model Context Protocol (MCP) server that exposes the official Notion SDK, allowing AI models to interact with Notion workspaces.\n\n<a href=\"https://glama.ai/mcp/servers/bjc5iac7gt\">\n  <img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/bjc5iac7gt/badge\" alt=\"Notion Server MCP server\" />\n</a>\n\n## Quick Start\n\n### 1. Set up your Notion integration\n\n1. Go to [https://www.notion.so/my-integrations](https://www.notion.so/my-integrations)\n2. Create a new integration\n3. Copy the API key\n\n### 2. Connect your Notion pages to the integration\n\nFor your integration to access Notion content, you need to explicitly share your pages or databases with it:\n\n1. Navigate to the Notion page or database you want to access through the integration\n2. Click the \"Share\" button in the top-right corner\n3. In the \"Add people, groups, or integrations\" field, select your integration from the dropdown list\n4. Click \"Invite\"\n5. Repeat for each page or database you want to make accessible\n\n**Note:** An integration only has access to pages and databases that have been explicitly shared with it. Parent pages do not automatically grant access to child pages.\n\n### 3. Add to your AI assistant\n\nYou can add this MCP server to Claude Desktop, Cursor AI, or Claude.ai using either of these configuration formats:\n\n#### Command Line Format\n\n```bash\nnpx @ramidecodes/mcp-server-notion@latest -y --api-key=your-notion-integration-key\n```\n\n#### JSON Configuration Format\n\n```json\n{\n  \"name\": \"Notion\",\n  \"command\": {\n    \"args\": [\n      \"@ramidecodes/mcp-server-notion@latest\",\n      \"-y\",\n      \"--api-key=your-notion-integration-key\"\n    ],\n    \"env\": {},\n    \"executable\": \"npx\"\n  }\n}\n```\n\nReplace `your-notion-integration-key` with the API key from step 1.\n\n### Setup Instructions\n\n- **Claude Desktop**: Settings > Advanced > Model Context Protocol\n- **Cursor AI**: Settings > AI > MCP Servers\n- **Claude.ai (Web)**: Profile > Settings > API & Integrations > Model Context Protocol\n\n## Available Tools\n\nThe server provides tools for interacting with Notion:\n\n- **Search**: Find pages or databases\n- **Databases**: Query and retrieve database entries\n- **Pages**: Create, retrieve, and update pages\n- **Blocks**: Manage content blocks (paragraphs, lists, etc.)\n- **Users**: List users and get user information\n- **Comments**: Create and list comments\n- **Link Previews**: Create link previews for URLs\n\n## Alternative Setup Methods\n\n### Using Environment Variables\n\nInstead of passing the API key directly, you can use a `.env` file:\n\n1. Create a `.env` file with:\n\n```\nNOTION_API_KEY=your-notion-integration-key\n```\n\n2. Run the server:\n\n```bash\nnpx @ramidecodes/mcp-server-notion@latest -y\n```\n\n#### JSON Configuration with Environment Variables (for Claude Desktop)\n\nYou can also use environment variables in the JSON configuration format:\n\n```json\n{\n  \"name\": \"Notion\",\n  \"command\": {\n    \"args\": [\"@ramidecodes/mcp-server-notion@latest\", \"-y\"],\n    \"env\": {\n      \"NOTION_API_KEY\": \"your-notion-integration-key\"\n    },\n    \"executable\": \"npx\"\n  }\n}\n```\n\n### Command Line Options\n\n```\nOPTIONS:\n  -h, --help              Show help message\n  -v, --version           Show version information\n  --verbose               Enable verbose logging\n  --env-path <path>       Path to .env file\n  --api-key <key>         Notion API key\n  -y                      Skip confirmation prompts\n```\n\n## Troubleshooting\n\nIf you encounter \"Failed to create client\" errors:\n\n- On Windows, try using `cmd /c` before the npx command\n- On macOS/Linux, try using the full path to npx\n- Test the command in a terminal before adding it to your AI assistant\n\n### Common Issues\n\n- **\"No access to resource\" errors**: Make sure you've shared the specific Notion page or database with your integration (see step 2)\n- **Integration not appearing in share menu**: Try refreshing the page or restarting your browser\n- **Limited capabilities**: Check that your integration has the appropriate capabilities enabled in the Notion integration settings\n\n## Features\n\n- Full Notion API support through the official SDK\n- MCP compliant for seamless AI integration\n- Comprehensive tools for all Notion operations\n- Robust error handling with detailed messages\n- Easy configuration with environment variables\n\nFor detailed documentation on each tool, see the [Tools Documentation](docs/TOOLS.md).\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n","readmeFilename":"README.md"}