# NPM发布检查清单

## 📋 发布前准备

### ✅ 账号和环境
- [ ] 已注册NPM账号：https://www.npmjs.com/signup
- [ ] 已验证邮箱
- [ ] 已登录NPM：`npm login`
- [ ] 验证登录：`npm whoami`
- [ ] 使用官方registry：`npm config get registry`

### ✅ 包信息检查
- [ ] 包名可用：`npm view @travel-mcp/geoapify-server`
- [ ] 版本号唯一：`npm view @travel-mcp/geoapify-server@1.0.0`
- [ ] package.json信息完整
- [ ] bin字段正确指向文件

### ✅ 代码质量
- [ ] 所有依赖已安装：`npm install`
- [ ] MCP服务器可启动：`node bin/mcp-server.js`
- [ ] API功能正常：`npm run test-api`
- [ ] 无语法错误

## 🚀 发布命令

### 快速发布
```bash
cd 新建文件夹

# 1. 确保使用官方registry
npm config set registry https://registry.npmjs.org/

# 2. 登录（如果未登录）
npm login

# 3. 检查包内容
npm pack --dry-run

# 4. 发布
npm publish

# 5. 验证
npm view @travel-mcp/geoapify-server
```

### 如果版本已存在
```bash
# 更新版本号
npm version patch  # 1.0.0 -> 1.0.1
npm version minor  # 1.0.0 -> 1.1.0
npm version major  # 1.0.0 -> 2.0.0

# 然后发布
npm publish
```

## ✅ 发布后验证

### 测试安装
```bash
# 全局安装测试
npm install -g @travel-mcp/geoapify-server

# npx测试
npx @travel-mcp/geoapify-server

# 卸载测试包
npm uninstall -g @travel-mcp/geoapify-server
```

### MCP集成测试
```json
{
  "mcpServers": {
    "geoapify-maps": {
      "command": "npx",
      "args": ["-y", "@travel-mcp/geoapify-server"],
      "env": {
        "GEOAPIFY_API_KEY": "3234bd7e35264a8aa29fc15e89f8f76f"
      }
    }
  }
}
```

## 🔧 常见问题

### 问题1：403 Forbidden
- 检查包名是否被占用
- 确认登录状态：`npm whoami`
- 检查是否有发布权限

### 问题2：版本已存在
- 更新版本号：`npm version patch`
- 或修改package.json中的version字段

### 问题3：网络问题
- 检查网络连接
- 确认registry设置：`npm config get registry`
- 尝试使用VPN

### 问题4：包名冲突
- 使用scoped包名：`@your-username/package-name`
- 或选择其他包名

## 📦 发布成功标志

- [ ] `npm view @travel-mcp/geoapify-server` 显示包信息
- [ ] `npx @travel-mcp/geoapify-server` 可以运行
- [ ] 包页面可访问：https://www.npmjs.com/package/@travel-mcp/geoapify-server
- [ ] MCP客户端可以通过npx调用

## 🎯 下一步

发布成功后：
1. 更新README.md添加安装说明
2. 创建使用示例
3. 在GitHub上创建release
4. 通知用户更新MCP配置
