Notion MCP 服务器是一个用于 Notion 集成的 Model Context Protocol (MCP) 服务器实现,它提供标准化接口,可与 Notion 的 API 进行交互。该服务器兼容 Claude Desktop 和其他 MCP 客户端,能帮助用户更便捷地使用 Notion 相关功能。
git clone https://github.com/ccabanillas/notion-mcp.git
cd notion-mcp
uv venv
source .venv/bin/activate # Windows 上:.venv\Scripts\activate
uv pip install -e .
或者,使用标准 venv:
python -m venv venv
source venv/bin/activate # Windows 上:venv\Scripts\activate
pip install -e .
.env 文件:NOTION_API_KEY=your_notion_integration_token
测试服务器(应正常运行且无错误):
python -m notion_mcp
要与 Claude Desktop 一起使用,请调整你的 claude_desktop_config.json 文件(位于 ~/Library/Application Support/Claude/claude_desktop_config.json,macOS 上):
{
"servers": {
"notion-mcp": {
"command": "/Users/username/Projects/notion-mcp/.venv/bin/python",
"args": ["-m", "notion_mcp"],
"cwd": "/Users/username/Projects/notion-mcp"
}
}
}
请将 /Users/username/ 替换为你的实际用户目录路径。
notion-mcp/
├── src/
│ └── notion_mcp/
│ ├── models/
│ │ ├── __init__.py
│ │ └── notion.py # Pydantic 模型,用于 Notion 对象
│ ├── __init__.py
│ ├── __main__.py # 入口点
│ ├── client.py # Notion API 客户端
│ └── server.py # MCP 服务器实现
├── .env # 环境变量(在此添加你的 Notion API 密钥)
├── .gitignore
├── pyproject.toml # 项目依赖项
└── README.md
pytest
服务器需要一个 Notion 整合令牌。要设置此配置:
.env 文件中:NOTION_API_KEY=your_api_key_here
要为项目做出贡献,请遵循以下步骤:
请确保在提交代码之前运行所有测试,并保持代码的高质量和文档的清晰性。
.env 文件中的 API 密钥,并且所有依赖项已正确安装。claude_desktop_config.json 中的路径和命令是否正确。如果有任何问题或反馈,请通过 GitHub Issues 提交。
本项目受 MIT License 保护。