# 部署方式指南
本文档帮助你选择合适的部署方式。
## 🎯 两种"远程"的含义
很多人会混淆这两个概念,让我们先理清楚:
### 1️⃣ 发布到 npm(推荐)
**这才是真正的"远程使用"!**
```json
// 其他人可以这样直接使用,不需要下载你的源码
{
"mcpServers": {
"health-reminder": {
"command": "npx",
"args": ["-y", "health-reminder-mcp@latest"]
}
}
}
```
✅ **优点:**
- 任何人都能用,只需要包名
- 自动下载和更新
- 不需要本地源码
- 就像使用 `chrome-devtools-mcp` 一样简单
📖 **查看详细教程:** [NPM_PUBLISH.md](./NPM_PUBLISH.md)
---
### 2️⃣ 部署到云服务器
**这是传统的服务器部署**
把代码部署到阿里云、AWS 等云服务器上,让它 7×24 小时运行。
⚠️ **问题:**
- 健康提醒依赖**系统桌面通知**
- 云服务器通常没有桌面环境
- 不适合这个项目!
❌ **不推荐用于健康提醒系统**
如果你真的需要服务器部署(比如改造成 Web API),可以查看:
📖 [SERVER_DEPLOYMENT.md](./SERVER_DEPLOYMENT.md)
---
## 📊 对比表格
| 特性 | 本地部署 | npm 发布 | 云服务器 |
|-----|---------|---------|---------|
| **配置** | `node C:\\path\\index.js` | `npx package-name` | 需要配置服务器 |
| **需要源码** | ✅ 需要 | ❌ 不需要 | ✅ 需要 |
| **其他人能用吗** | ❌ 不能 | ✅ 能 | ⚠️ 需要网络 |
| **桌面通知** | ✅ 支持 | ✅ 支持(在用户本机) | ❌ 不支持 |
| **成本** | 免费 | 免费 | 💰 需付费 |
| **适合场景** | 个人开发测试 | **分享给全世界** | Web API 服务 |
---
## 🚀 推荐方案
### 场景 1:个人使用(开发中)
**使用本地部署**
```json
{
"mcpServers": {
"health-reminder": {
"command": "node",
"args": ["C:\\Users\\你的路径\\health\\dist\\server\\index.js"]
}
}
}
```
✅ 方便调试和修改代码
---
### 场景 2:分享给其他人使用(推荐)
**发布到 npm**
1. 按照 [NPM_PUBLISH.md](./NPM_PUBLISH.md) 发布
2. 告诉别人包名
3. 他们只需要这样配置:
```json
{
"mcpServers": {
"health-reminder": {
"command": "npx",
"args": ["-y", "health-reminder-mcp@latest"]
}
}
}
```
✅ 最简单、最标准的分享方式
---
### 场景 3:改造成 Web API(不推荐)
如果你想把健康提醒改成:
- 通过网页显示提醒
- 发送邮件/短信
- 推送到手机 App
那么可以考虑部署到云服务器,查看 [SERVER_DEPLOYMENT.md](./SERVER_DEPLOYMENT.md)
❌ 但对于桌面通知来说,这样做没有意义
---
## 💡 实际例子
看看你的 `mcp.json` 里的其他服务器:
### ✅ npm 发布的包(推荐学习)
```json
"chrome-devtools": {
"command": "npx",
"args": ["chrome-devtools-mcp@latest"]
}
"shrimp-task-manager": {
"command": "npx",
"args": ["-y", "mcp-shrimp-task-manager"]
}
"spec-workflow": {
"command": "npx",
"args": ["-y", "@pimzino/spec-workflow-mcp@1.0.1"]
}
```
👆 **这些都是发布到 npm 的包**
- 任何人都能用
- 不需要下载源码
- 指定版本号或使用 `@latest`
### ❌ 本地部署(仅供开发)
```json
"joke": {
"command": "node",
"args": ["C:/Users/WB-bw0017/Desktop/MyMCP/mcp-server/server.js"]
}
"health-reminder": {
"command": "node",
"args": ["C:\\Users\\WB-bw0017\\Desktop\\MyMCP\\health\\dist\\server\\index.js"]
}
```
👆 **这些只能在你自己电脑上用**
- 其他人没有这个路径
- 需要手动分享代码
- 仅适合开发测试
---
## 🎯 下一步应该做什么?
### 如果你想分享给其他人
👉 **跟着 [NPM_PUBLISH.md](./NPM_PUBLISH.md) 发布到 npm**
### 如果只是自己用
👉 **继续使用本地部署即可**
### 如果想改造成 Web 服务
👉 **先重新设计,再看 [SERVER_DEPLOYMENT.md](./SERVER_DEPLOYMENT.md)**
---
## ❓ 常见疑问
### Q1: "远程部署"到底是什么意思?
**A:** 在 MCP 社区,"远程部署"通常指**发布到 npm**,让其他人通过 `npx` 使用。而不是指部署到云服务器。
### Q2: 为什么不推荐部署到服务器?
**A:** 因为健康提醒需要**系统桌面通知**,而云服务器:
- 没有桌面环境
- 没有通知系统
- 即使运行也无法显示提醒
### Q3: 那为什么还要写服务器部署文档?
**A:** 仅供参考。如果你想把这个项目改造成:
- Web API(通过网页显示)
- 邮件/短信提醒
- 集成到其他系统
那时候才需要服务器部署。
### Q4: npm 发布后,代码还在用户本机运行吗?
**A:** 是的!`npx` 会:
1. 从 npm 下载你的包到缓存
2. 在用户本机运行
3. 通知仍然显示在用户的桌面上
这就是为什么它能正常工作!
---
## 📚 文档索引
- **[NPM_PUBLISH.md](./NPM_PUBLISH.md)** - 发布到 npm 的完整教程(推荐)
- **[SERVER_DEPLOYMENT.md](./SERVER_DEPLOYMENT.md)** - 云服务器部署(不推荐用于本项目)
- **[CURSOR_SETUP.md](./CURSOR_SETUP.md)** - Cursor 中使用 MCP 的配置
- **[CONFIGURATION.md](./CONFIGURATION.md)** - 配置选项说明
---
**建议:直接看 [NPM_PUBLISH.md](./NPM_PUBLISH.md),学习如何像 `chrome-devtools-mcp` 一样发布!** 🚀