使用说明
MCP代理通知
一个强大的基于Python的AI代理,使用官方的模型上下文协议(MCP)连接到您的Notion工作区。它利用了谷歌最先进的技术 gemini-2.5-pro 通过LangChain进行建模,以理解自然语言命令,搜索您的Notion页面,并执行摘要等任务。
该项目是构建与Notion深度集成的更复杂的AI驱动应用程序的完美起点。
✨ 主要特点
- 无缝概念集成:直接连接到Notion的官方托管MCP服务器。
- 自然语言理解:用简单的英语提问(例如,“总结我的‘凤凰计划’PRD”)。
- 由Gemini Pro提供技术支持:利用强大的LLM进行推理和任务执行。
- 安全认证:使用以下方式安全地处理Notion OAuth
mcp-remote代理工具。 - 可扩展:轻松添加更多工具和功能(例如,创建页面、更新数据库)。
- 轻量级和现代堆栈:内置
mcp-useLangChainuv获得快速、干净的开发体验。
⚙️ 技术栈
- 语言:Python 3.11+
- 人工智能框架:朗链,
mcp-use - LLM:谷歌双子座2.5 Pro
- 程序包管理器:
uv - 核心协议:模型上下文协议(MCP)
- 身份验证助手:
mcp-remote(通过npm/npx)
🚀 入门指南
按照以下步骤在本地计算机上启动并运行Notion MCP代理。
先决条件
- Python 3.11或更高版本
- Node.js和npm(用于
mcp-remote身份验证工具) uv(一个快速的Python包安装程序):pip install uv- Google Gemini API密钥:从 谷歌人工智能工作室.
- 一个名义账户。
1.克隆存储库
git clone https://github.com/AmirUpSkill/Notion-MCP.git
cd Notion-MCP
2.设置环境
使用创建和激活虚拟环境 uv.
# Create the virtual environment
uv venv
# Activate it
# On Windows:
.venv\Scripts\activate
# On macOS/Linux:
source .venv/bin/activate
3.安装依赖项
从以下位置安装所需的Python包 requirements.txt 文件。
uv pip install -r requirements.txt
4.配置您的API密钥
创建一个 .env 在项目根目录中的文件,以存储Gemini API密钥。
# Create the file (e.g., using 'touch' on macOS/Linux or 'echo.' on Windows)
touch .env
打开 .env 文件并添加密钥:
GEMINI_API="YOUR_GOOGLE_GEMINI_API_KEY_HERE"
这 config/mcp_config.json 文件已设置为使用 mcp-remote 用于Notion身份验证。那里不需要改变。
🏃♀️ 如何运行代理
首次运行:身份验证
第一次运行脚本时, mcp-remote 将自动打开您的web浏览器,进入Notion身份验证页面。
- 登录您的Notion帐户。
- 选择要授予代理访问权限的工作区和页面。
- 点击“允许访问".
成功授权后,您的凭据将在本地缓存(在 ~/.mcp-auth),除非令牌过期或被撤销,否则您不需要再次执行此操作。
执行脚本
从终端运行主Python脚本:
python notion_mcp.py
代理将初始化、连接到Notion并执行脚本中的预定义任务。
自定义任务
要提出其他问题,只需编辑 notion_mcp.py 文件:
# in notion_mcp.py
...
# --- Example: Search Notion for a PRD ---
result = await agent.run(
"Find the page titled 'Q3 Marketing Plan' and tell me the key objectives."
)
...
🔧 运作原理
代理人使用 mcp-use 库来管理与MCP服务器的连接。
- 客户端初始化:The
MCPClient读取config/mcp_config.json. - 本地代理:它找到了
notionMCP服务器配置和运行npx mcp-remote作为本地子流程。 - 认证:
mcp-remote处理基于浏览器的OAuth2流,以从Notion获取安全访问令牌。 - 连接:当地
mcp-remote该进程现在充当一个经过身份验证的代理,将请求从我们的Python脚本转发到Notion的托管MCP服务器(https://mcp.notion.com/mcp). - 代理执行:The
MCPAgent将LLM的推理能力与Notion MCP服务器提供的工具(如search和fetch)执行你的命令。
💡 故障排除
- 401未经授权的错误:这通常意味着身份验证失败。
- 确保你的浏览器没有屏蔽弹出窗口。
- 清除身份验证缓存,然后重试:
- 视窗:
rmdir /s /q %USERPROFILE%\.mcp-auth - macOS/Linux:
rm -rf ~/.mcp-auth
- 视窗:
- Google API配额错误:如果你看到
429 ResourceExhausted错误,您已超过Gemini API的免费层限制。您可以等待配额重置,也可以在Google Cloud项目上设置更高限额的计费。
🗺️ 全面MVP路线图
该项目是基础客户。构建一个完整的“Notion AI Chat”应用程序的下一步将是:
- 构建聊天界面:创建web UI(例如,使用Streamlit、Gradio或带有React前端的FastAPI)。
- 实施更多工具:扩展代理以使用其他Notion工具,如
create-page,update-page,以及create-comment. - 动态配置:添加UI元素以启用/禁用Notion连接。
- 改进错误处理:为API错误或失败的工具调用提供用户友好的反馈。
📜 许可证
该项目根据MIT许可证获得许可。请参阅 LICENSE 文件以获取详细信息。
