一个基于模型上下文协议(MCP)的服务器,通过Notion的API提供高级待办事项管理和内容组织能力。MCP使AI模型能够与外部工具和服务进行交互,实现与Notion强大功能的无缝集成。
基于Python的MCP服务器,使AI模型能够与Notion的API进行交互,提供以下功能:
# 克隆并设置
git clone https://github.com/yourusername/notion-api-mcp.git
cd notion-api-mcp
uv venv && source .venv/bin/activate
# 安装和配置
uv pip install -e .
cp .env.integration.template .env
# 在.env中添加您的Notion凭据:
# NOTION_API_KEY=ntn_your_integration_token_here
# NOTION_PARENT_PAGE_ID=your_page_id_here # 创建新数据库时使用
# NOTION_DATABASE_ID=your_database_id_here # 使用现有数据库时使用
# 运行服务器
python -m notion_api_mcp
NOTION_API_KEY
您需要一个父页面(用于创建新数据库)或一个现有的数据库ID:
https://notion.so/myworkspace/123456abcdef...中,ID是123456abcdef...NOTION_PARENT_PAGE_IDhttps://notion.so/myworkspace/123456abcdef...?v=...中,ID是123456abcdef...NOTION_DATABASE_IDcd notion-api-mcp
uv venv
source .venv/bin/activate # 在Windows上:.venv\Scripts\activate
uv pip install -e .
cp .env.integration.template .env
NOTION_API_KEY=ntn_your_integration_token_here
# 根据需要选择其中一个或两个:
NOTION_PARENT_PAGE_ID=your_page_id_here # 创建新数据库时使用
NOTION_DATABASE_ID=your_database_id_here # 使用现有数据库时使用
重要提示:虽然服务器支持.env文件和环境变量,但Claude Desktop特别需要在其配置文件中进行配置才能使用MCP。
添加到Claude Desktop的配置(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"notion-api": {
"command": "/path/to/your/.venv/bin/python",
"args": ["-m", "notion_api_mcp"],
"env": {
"NOTION_API_KEY": "ntn_your_integration_token_here",
// 根据需要选择其中一个或两个:
"NOTION_PARENT_PAGE_ID": "your_page_id_here",
"NOTION_DATABASE_ID": "your_database_id_here"
}
}
}
}
注意:即使您已经配置了.env文件,也必须将这些环境变量添加到Claude Desktop的配置中,以便Claude可以使用MCP。.env文件主要用于本地开发和测试。
服务器在整个过程中使用现代Python异步特性:
服务器包括全面的日志记录:
运行时设置PYTHONPATH以包含项目根目录:
PYTHONPATH=/path/to/project python -m notion_api_mcp
计划增强: