MCP Notes应用程序:人工智能驱动的“第二大脑”
该应用程序在您首选的AI助手(Codex、Claude、Cursor)和您的本地环境之间起着强大的桥梁作用,将其转化为开发人员永恒、无限扩展的“第二大脑”。
当前已实现的魔术功能
- 双数据库架构: 使用以下方式将注释安全地持久化为结构化文本
SQLAlchemy(SQLite),而数学向量表示会自动推送到高性能的本地 ChromaDB 用于语义上下文处理的向量存储。 - 语义RAG搜索: 因为你的笔记100%都是使用矢量化的
sentence-transformers,你可以通过概念意义而不是关键字匹配来搜索你的代码库学习。 - 自动扩充(Web剪贴): 如果你给AI一个URL(比如GitHub问题或维基百科文章),FastMCP服务器将暂停,使用macOS User-Agent标头安全地获取网页,从HTML中剪切原始文本,并将上下文自动嵌入到你的Vector内存中!
- 代码上下文自动标记: 当通过像Cursor这样的IDE进行交互时
add_note该工具会自动读取您当前的file_path和code_snippet并将该代码绑定到向量嵌入中以供将来查询。 - 本地目录摄取: 这
ingest_project_directory该工具允许您将AI指向计算机上的任何本地代码库。它将每个Python、JavaScript和Markdown文件分割成块,并将源代码直接转储到您的矢量工作区。 - 智能待办事项/任务提取: 服务器本机使用NLP正则表达式来跟踪输入是“动作项”、“待办事项”还是“会议”,从而允许您在整个数据库中动态生成全面的动作报告。
- 机器学习组织者: 这
organize_my_notes该工具执行无监督机器学习算法(KMeans在Chroma数据库中的每个向量上进行聚类,以数学方式发现主题桶(如“前端问题”或“DevOps”),并自动标记您的笔记! - 动态入职提示和资源: 无缝注射
@mcp.prompt("project_onboarding")在您的AI上下文窗口中,将您过去的所有历史笔记合成到AI规则中。通过以下方式本地访问文件@mcp.resource("note://{note_id}").
完整的工具套件已公开
AI可以访问以下完整的CRUD+ML操作:
add_note:编写并保存新笔记(具有自动文件上下文和URL抓取功能)。get_my_notes:使用ML集群读取所有保存的笔记。search_notes:在ChromaDB上本地执行语义RAG搜索。update_note:修改现有笔记并立即重新嵌入。delete_note:在SQLite和ChromaDB之间永久同步注释删除。ingest_project_directory:将代码库解析为语义块。extract_todos:生成待处理任务的降价报告。organize_my_notes:运行K-Means ML,对你的学习进行数学映射和分组。generate_standup_report:过滤过去24小时的笔记。
先决条件
- Python 3.12+
uv已安装包管理器。
本地设置和运行
- 克隆存储库并进入目录。
- 启动MCP服务器
uv run main.py*这会自动配置双数据库(notes.db 和 chroma_db/),下载 MiniLM-L6-v2 本地HuggingFace嵌入模型,并运行fastmcp服务器 http://127.0.0.1:8000 通过苏格兰和南方能源公司运输。*
*(注:通过Stytch的JWT身份验证和OAuth完全写入 main.py 但目前为无缝本地开发人员测试设置而注释掉/禁用)。*
连接到AI助手
在本地计算机上安全运行服务器的情况下,赋予AI以下权限:
- 通过连接
codex mcp或更新您的cursor_mcp.json:
codex mcp add notes-app --url http://127.0.0.1:8000/mcp- 打开你的AI CLI/IDE,尝试一下魔法:
> *“使用此链接保存注释:https://fastapi.tiangolo.com"* > *“等等,使用语义搜索工具调出我刚刚存储的关于FastAPI的信息。”* > *“我这里有一个bug。我是否有任何笔记聚集在‘后端’类别中,提到类似的错误?”*
即将推出的功能路线图
- \[\]连接
RemoteAuthProvider通过Stytch JWTs直接使用前端逻辑实现真正的用户差异化。 - \[\]打包MCP工具,以便任何人都可以使用立即运行它
uvx. - \[\]添加真实
GLiNERTodo跟踪使用命名实体识别而不是正则表达式。
