使用说明
MCP服务器概念
与Notion集成的模型上下文协议(MCP)服务器,允许AI助手通过标准化的工具和资源与您的Notion工作区进行交互。
特性
工具(动作)
- 创建页面:在您的Notion工作区中创建新页面
- update_page:更新现有页面的内容
- 搜索页面:在工作区中按标题搜索页面
- append_to_page:将内容附加到现有页面
- create_database_entry:向Notion数据库添加新条目
资源(数据访问)
- 最近页面:获取最近编辑的页面列表
- 页面内容:阅读特定页面的内容
先决条件
- Python 3.10或更高版本
- Notion账户
- Notion集成令牌
获取您的通知API密钥
- 首选 https://www.notion.so/my-integrations
- 点击“+新集成”
- 为其命名(例如,“MCP服务器”)
- 选择要与之集成的工作区
- 点击“提交”
- 复制“内部集成令牌”-这是您的API密钥
- 重要:您必须与集成共享页面/数据库:
- 在Notion中打开页面或数据库
- 点击右上角的“…”菜单
- 向下滚动到“连接”或“添加连接”
- 选择您的集成
安装
- 克隆或下载此存储库
- 安装依赖项:
# Using pip
pip install -e .
# Or using uv (recommended)
uv add "mcp[cli]"
- 创建
.env项目根目录中的文件:
NOTION_API_KEY=your_notion_integration_token_here
用法
直接运行服务器
python -m notion_mcp.server
与Claude Desktop一起使用
将此配置添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"notion": {
"command": "python",
"args": ["-m", "notion_mcp.server"],
"env": {
"NOTION_API_KEY": "your_notion_integration_token_here"
}
}
}
}
或者,如果你正在使用 uv:
{
"mcpServers": {
"notion": {
"command": "uv",
"args": ["run", "notion-mcp"],
"env": {
"NOTION_API_KEY": "your_notion_integration_token_here"
}
}
}
}
MCP检验员测试
npx @modelcontextprotocol/inspector python -m notion_mcp.server
示例用法
连接到Claude Desktop后,您可以问以下问题:
- “在我的Notion工作区中创建一个名为“会议笔记”的新页面”
- “搜索有关‘project alpha’的页面”
- “显示我最近编辑的页面”
- “将这些操作项附加到我的会议笔记页面”
- “在我的任务数据库中创建新条目”
建筑
服务器实现MCP规范,并提供:
- 工具:Claude可以调用以在Notion中执行操作的函数
- 资源:对Notion数据的只读访问
- 正确的错误处理:优雅地处理API错误和速率限制
安全须知
- 永远不要承诺你的
.env文件或共享您的Notion API密钥 - 集成只能访问您明确与其共享的页面/数据库
- 所有API调用都是通过HTTPS进行的
- 考虑在生产部署中使用环境变量
故障排除
找不到数据库或找不到页面
- 确保您已将页面/数据库与Notion中的集成共享
- 检查页面/数据库ID是否正确
“未经授权”的错误
- 在中验证您的API密钥是否正确
.env文件 - 确保集成具有必要的权限
服务器未出现在Claude Desktop中
- 检查配置文件路径是否正确
- 验证命令中的Python路径
- 查看Claude Desktop日志以获取错误消息
发展
要扩展此服务器,请执行以下操作:
- 使用添加新工具
@mcp.tool()装饰器 - 使用添加新资源
@mcp.resource()装饰器 - 部署前使用MCP检查器进行测试
许可证
MIT许可证
贡献
欢迎投稿!请随时提交问题或拉取请求。
