geoapify-mcp-server
Version:
Geoapify API MCP Server for location-based services - 一键部署的地理位置服务
166 lines (128 loc) • 3.21 kB
Markdown
# 🔧 NPM登录问题解决方案
## ❌ **问题分析**
您遇到的错误 "Public registration is not allowed" 是因为:
- 当前npm配置指向了CNPM(中国镜像)
- CNPM不允许用户注册和发布包
- 需要切换到官方NPM registry
## ✅ **立即解决方案**
### 步骤1: 切换到官方NPM registry
```bash
npm config set registry https://registry.npmjs.org/
```
### 步骤2: 验证registry更改
```bash
npm config get registry
# 应该显示: https://registry.npmjs.org/
```
### 步骤3: 注册NPM账号(如果没有)
1. 访问: https://www.npmjs.com/signup
2. 注册新账号
3. 验证邮箱
### 步骤4: NPM登录
```bash
npm login
```
现在应该能正常登录了。
### 步骤5: 验证登录
```bash
npm whoami
# 应该显示您的用户名
```
## 🚀 **发布包到NPM**
### 发布命令
```bash
npm publish
```
### 发布后的MCP配置
```json
{
"mcpServers": {
"geoapify-maps": {
"command": "npx",
"args": ["-y", "@travel-mcp/geoapify-server"],
"env": {
"GEOAPIFY_API_KEY": "3234bd7e35264a8aa29fc15e89f8f76f"
}
}
}
}
```
## 🔄 **恢复中国镜像(可选)**
发布完成后,如果想恢复中国镜像以提高下载速度:
```bash
npm config set registry https://registry.npmmirror.com
```
## 🎯 **推荐流程**
### 方案A: 发布到NPM(推荐)
1. 切换到官方registry
2. 注册/登录NPM
3. 发布包
4. 使用npx调用
### 方案B: 继续使用本地方案(立即可用)
如果不想发布到NPM,继续使用之前的本地配置:
```json
{
"mcpServers": {
"geoapify-maps": {
"command": "node",
"args": ["D:\\360MoveData\\Users\\张俊\\Desktop\\travel\\bin\\mcp-server.js"],
"env": {
"GEOAPIFY_API_KEY": "3234bd7e35264a8aa29fc15e89f8f76f"
}
}
}
}
```
## 🧪 **测试发布**
### 发布前测试
```bash
# 运行本地测试
node scripts/test-mcp.js unit
# 检查包信息
npm pack --dry-run
```
### 发布后验证
```bash
# 检查包是否发布成功
npm view @travel-mcp/geoapify-server
# 测试npx安装
npx @travel-mcp/geoapify-server --help
```
## 📋 **完整命令序列**
```bash
# 1. 切换registry
npm config set registry https://registry.npmjs.org/
# 2. 登录(需要先在网站注册)
npm login
# 3. 验证登录
npm whoami
# 4. 发布包
npm publish
# 5. 验证发布
npm view @travel-mcp/geoapify-server
# 6. 恢复中国镜像(可选)
npm config set registry https://registry.npmmirror.com
```
## 🔧 **故障排除**
### 1. 登录仍然失败
- 确保网络连接正常
- 尝试使用VPN
- 检查防火墙设置
### 2. 包名冲突
如果包名已存在,修改package.json中的name:
```json
{
"name": "@your-username/geoapify-mcp-server"
}
```
### 3. 权限问题
确保您有发布权限:
```bash
npm access public @travel-mcp/geoapify-server
```
## 💡 **建议**
1. **立即使用**: 继续使用本地配置,MCP功能已经完全可用
2. **后续发布**: 有时间时再发布到NPM,方便其他人使用
3. **版本管理**: 发布后可以通过npm管理版本更新
---
**无论选择哪种方案,您的MCP地理位置服务都已经完全可用!**