使用说明
备注MCP服务器
人工智能驱动的“第二大脑” 模型上下文协议(MCP) 服务器。将其连接到Claude Desktop、Cursor或任何兼容MCP的客户端,并通过自然对话开始保存、搜索和组织笔记。
现场演示: https://mcp-proj-production.up.railway.app/mcp
它的作用
你可以自然地与你的AI助手交谈。它在幕后调用正确的工具。
| 你说 | 会发生什么 |
|---|---|
| “保存注释:始终使用pgvector余弦距离” | 注释已保存+嵌入,用于语义搜索 |
| “查找我关于数据库的笔记” | 在所有笔记中进行矢量相似性搜索 |
| “我的待办事项是什么?” | 提取标记为任务/待办事项的笔记 |
| “为今天制作我的单口相声” | 过去24小时内创建的笔记报告 |
| “将我的笔记组织成主题” | K-Means按主题对笔记进行分组 |
| “用我的项目智慧来审查这段代码” | 将所有笔记作为AI上下文加载 |
技术栈
| 层 | 技术 |
|---|---|
| MCP框架 | FastMCP |
| 数据库 | PostgreSQL+ pg向量 |
| 嵌入件 | sentence-transformers (all-MiniLM-L6-v2) |
| 聚类 | scikit-learn K-Means |
| 认证 | 停止 JWT(OAuth 2.0) |
| 部署 | Docker+ 铁路 |
工具
| 工具 | 说明 |
|---|---|
add_note |
保存笔记。URL是自动抓取的。自动检测到TODO。嵌入以进行搜索。 |
get_my_notes |
按类别列出所有笔记。 |
search_notes |
使用pgvector余弦距离进行语义向量搜索。 |
update_note |
编辑笔记并自动重新嵌入。 |
delete_note |
按ID删除注释 |
extract_todos |
列出标记为任务/行动项的所有笔记。 |
generate_standup_report |
过去24小时的笔记,格式为单口相声。 |
organize_my_notes |
K-Means聚类,按主题自动对笔记进行分类。 |
资源: note://{id} --将特定注释直接读入AI上下文。
提示: project_onboarding --将所有笔记作为AI系统上下文注入。
使用托管实例
不想部署自己的?直接连接到实时服务器:
- 将此添加到
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"notes": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp-proj-production.up.railway.app/mcp"]
}
}
}
- 重新启动Claude Desktop——就是这样。无需注册,无需部署。
注: 托管实例需要邀请才能获得隔离的工作区。如果没有身份验证,所有用户共享相同的笔记池。要请求访问权限,请在此仓库上打开一个问题。
部署您自己的实例
看 部署.md 完整的指南。简短版本:
- 分叉此回购
- 创建一个 铁路 项目→ 从GitHub部署→ 添加PostgreSQL插件
- 设置环境变量(请参见
.env.example) - Railway构建Docker镜像并自动部署
Dockerfile在构建时预下载嵌入模型,没有冷启动延迟。
在本地运行
要求: Python 3.12+, 紫外线,Docker
git clone https://github.com/your-username/advanced-mcp-server-from-scratch
cd advanced-mcp-server-from-scratch
cp .env.example .env
# Edit .env: set DATABASE_URL and AUTH_ENABLED=false for local dev
docker compose up db -d # Start PostgreSQL only
uv run python main.py # Start the MCP server
服务器运行于 http://localhost:8000/mcp.
连接到克劳德桌面
添加 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"notes": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://your-railway-domain.up.railway.app/mcp"]
}
}
}
重新启动克劳德桌面。笔记工具将在每次对话中提供。
光标/其他MCP客户端: 在MCP设置中使用相同的URL。
多用户隔离
随着 AUTH_ENABLED=true 每个用户在连接之前都通过OAuth进行身份验证。他们的笔记是完全隔离的,存储在他们的Stytch用户ID下。没有用户可以看到其他人的笔记。
看 部署.md 了解Stytch设置步骤。
环境变量
| 变量 | 描述 |
|---|---|
DATABASE_URL |
PostgreSQL连接字符串 |
AUTH_ENABLED |
true 为了要求Stytch认证, false 对于dev |
BASE_URL |
此服务器的公共URL(用于OAuth元数据) |
STYTCH_DOMAIN |
您的Stytch项目域名 |
STYTCH_PROJECT_ID |
您的Stytch项目ID |
ALLOWED_ORIGINS |
逗号分隔的CORS源(空白=允许所有) |
PORT |
服务器端口(默认 8000) |
看 .env.example 对于模板。