个人Notion MCP服务器
一个模型上下文协议(MCP)服务器,用于将人工智能助手连接到我的个人Notion工作区,专门设计用于访问和查询我多年来收集的学习笔记和讲义资料。
这个MCP的作用是什么
这台MCP服务器为AI助手提供了直接访问我的个人Notion工作区的权限,其中包含:
- 讲义笔记来自多门课程的综合笔记,包括MAS.665(代理网络)、CS242(大规模计算)以及其他技术课程
- 学习材料个人研究笔记、量化研究、人工智能/机器学习概念及技术文档
- 课程资源跨越多个学年的组织化知识库
该服务器支持针对此知识库进行自然语言查询,使人工智能助手能够实时检索、总结和分析我的个人学习资料。
后端架构
Notion API 集成
MCP服务器通过(某种方式)利用完整的Notion API notion-openapi.json 规范。以下是一些示例端点:
- 搜索API(应用程序编程接口):
POST /v1/search- 通过标题跨页面和数据库进行搜索 - 页面APIs:
GET /v1/pages/{page_id}- 获取特定页面的内容和属性 - 数据库应用程序编程接口(APIs):
POST /v1/databases/{database_id}/query- 使用过滤器查询结构化数据库 - 阻止API(应用程序编程接口):
GET /v1/blocks/{block_id}/children- 访问嵌套内容和层级结构 - 用户应用程序编程接口(APIs):
GET /v1/users- 获取用户信息和权限
智能路由
当用户提问时,MCP服务器会自动:
- 分析查询确定最合适的Notion API终端节点
- 路由请求从搜索、页面检索、数据库查询或区块内容API中进行选择
- 处理结果格式化并将相关信息返回给AI助手
- 保持上下文在访问多个知识源时保持对话流畅性
“Smithery Deployment”可以翻译为“史密斯里部署”或根据上下文可能调整为更贴切的表述,如“史密斯里系统的部署”(如果“Smithery”指的是某个特定系统或项目)。不过,由于“Smithery”并非一个广泛认知的英文词汇,其具体含义可能依赖于特定的上下文或领域,因此翻译时可能需要额外的解释或调整
此MCP服务器已配置为使用以下方式在Smithery平台上进行部署:
smithery.yaml运行时配置,用于指定TypeScript环境和注册表设置src/index.ts主服务器入口点,包含配置模式和MCP代理初始化- 项目结构组织了代码库,集成了OpenAPI、处理了认证流程,并管理了传输层
该部署利用了Smithery的云基础设施,以确保可靠且可扩展地访问Notion工作区。
演示使用
Smithery 集成
在这个演示中,我直接通过Smithery向MCP服务器查询我的MAS.665课程笔记。系统:
- 收到请求,要求提供我课程资料的高层次概要
- 自动调用相应的Notion API端点
- 从多个页面检索并综合内容
- 返回关于代理网络概念、人工智能代理以及课程主题的全面总结
光标集成
这个演示展示了MCP服务器与Cursor IDE的集成,我在其中询问了关于CS242课程中量化内容的笔记。工作流程如下:
- 通过MCP协议连接到我的个人Notion工作区
- 在我的学习笔记中搜索与量化相关的内容
- 检索有关均匀量化、能量成本和计算技术的详细信息
- 从我的个人知识库中提供复杂技术概念的结构化总结
技术实施
建立在官方Notion MCP服务器的基础之上(参见 README-notion-mcp.md (关于详细的技术文档),此实现增加了:
- 自定义配置以访问个人工作区
- 针对学术内容的优化查询路由
