使用说明
恢复MCP服务器
在PostgreSQL中托管简历数据的模型上下文协议(MCP)服务器。此服务器提供了使用版本控制、验证和安全功能管理简历的工具。
特性
- 简历管理:在PostgreSQL中存储和管理您的简历
- 版本控制:每次更新时都会自动快照,并具有还原功能
- 验证:使用Zod模式验证的所有更新
- 安全功能:自动备份、路径遍历保护和错误处理
- 固态架构:通过模块化结构实现关注点的清晰分离
- HTTPS就绪:可通过SSE传输在支持HTTPS的Render上部署
工具
get_resume
返回当前简历JSON。无需身份验证。
update_resume
替换整个简历。需要 { resume, apiKey }.
patch_resume
将部分简历数据与现有简历合并。需要 { partialResume, apiKey }.
list_versions
列出所有快照文件名。无需身份验证。
restore_version
从快照还原简历。需要 { filename, apiKey }.
安装
- 克隆存储库:
git clone https://github.com/bhishman-desai/resume-mcp.git
cd resume-mcp
- 安装依赖项:
npm install
- 设置环境变量:
cp .env.example .env
# Edit .env with your configuration
配置
环境变量
DATABASE_URL:PostgreSQL连接字符串(云提供商首选)DB_HOST,DB_PORT,DB_NAME,DB_USER,DB_PASSWORD:单个数据库连接参数DB_SSL:设置为true用于SSL连接API_KEY:用于保护更新/恢复操作的API密钥PORT:服务器端口(默认值:3000)HOST:服务器主机(默认值:0.0.0.0)
地方发展
作为MCP服务器运行(stdio模式)
要使用Cursor进行本地开发,请运行:
npm start
服务器将自动检测stdio模式,并通过标准输入/输出进行连接。
作为HTTP服务器运行
要在本地测试HTTP模式:
NODE_ENV=production npm start
服务器将于启动 http://localhost:3000 SSE端点位于 /sse.
渲染部署
1.数据库设置
- 在Render上创建PostgreSQL数据库
- 从Render仪表板复制内部数据库URL
2.Web服务设置
- 在Render上创建新的Web服务
- 连接您的GitHub存储库
- 配置服务:
- 生成命令:
npm install - 启动命令:
npm start - 环境:
Node
- 生成命令:
3.环境变量
在Render仪表板中添加以下环境变量:
DATABASE_URL=<your_postgres_internal_url>
API_KEY=<your_secure_api_key>
PORT=10000
Render会自动提供HTTPS,因此您的MCP服务器可以通过HTTPS访问。
4.连接到游标
MCP服务器支持两种连接模式:
地方发展(stdio)
对于本地开发,当您运行以下命令时,Cursor会自动通过stdio连接:
npm start
远程部署(SSE)
要在Render上连接到已部署的服务器,请执行以下操作:
- 获取渲染服务URL(例如。,
https://your-service.onrender.com) - 配置Cursor以连接到远程服务器。确切的配置取决于您的Cursor版本,但通常涉及:
- 在Cursor的MCP设置中添加服务器URL
- 服务器在以下位置公开SSE端点
/sse用于MCP连接
备注:MCP服务器使用SSE传输,允许Cursor连接,而不需要连接本身的API密钥。但是,写操作(update_resume、patch_resume和restore_version)仍然需要API键作为工具调用中的参数。
项目结构
resume-mcp/
├── src/
│ ├── config/ # Configuration management
│ ├── database/ # PostgreSQL connection and operations
│ ├── validation/ # Zod schemas for validation
│ ├── tools/ # MCP tool implementations
│ └── utils/ # Utility functions (security, error handling)
├── app.js # Main server entry point
├── package.json
└── .env.example
安全功能
验证
- 所有简历更新都使用Zod模式进行验证
- PATCH操作验证部分输入和合并结果
- 无效数据触发自动备份
自动备份
- 每次更新都会创建一个带时间戳的备份
- 验证失败时创建的紧急备份
- 在版本还原之前创建的预还原备份
安全
- 写操作的API密钥保护
- 文件名净化以防止路径遍历
- 所有操作的输入验证
错误处理
- 通过用户友好的消息进行优雅的错误处理
- 即使数据格式错误,服务器也会继续运行
- 自动恢复机制
恢复架构
简历遵循灵活的模式,包括:
- 个人信息(姓名、电子邮件、电话、位置)
- 总结
- 经验(一系列工作经验)
- 教育(教育条目数组)
- 技能(字符串数组)
- 认证(认证对象数组)
- 项目(项目对象数组)
- 语言(语言对象数组)
该架构使用 .passthrough() 以允许其他自定义字段。
许可证
麻省理工学院
作者
Bhishman Desai