Skip to main content
Glama
improvement-plan.md5.37 kB
# MCP Swagger Server CLI 工具发布改进计划 ## 🎯 总体评估 **当前状态**: ✅ **可以发布,但需要关键配置调整** mcp-swagger-server 项目已经具备了完整的 CLI 功能实现,包括: - 完善的命令行参数解析 - 多种传输协议支持 (stdio, http, sse, streamable) - 文件监控和自动重载 - 进程管理和自动重启 - 环境变量配置支持 但要作为 NPM CLI 工具发布,还需要完成以下关键配置。 --- ## 🔧 必需改进 (发布前必须完成) ### 1. 添加 `bin` 字段配置 **问题**: 缺少 NPM CLI 工具的核心配置 **解决方案**: 在 `packages/mcp-swagger-server/package.json` 中添加: ```json { "bin": { "mcp-swagger-server": "./dist/cli.js", "mcp-swagger": "./dist/cli.js" } } ``` ### 2. 确保 CLI 文件可执行 **问题**: 编译后的 CLI 文件需要 shebang 和执行权限 **解决方案**: - 确保 `src/cli.ts` 和 `src/cli-enhanced.ts` 顶部有 `#!/usr/bin/env node` - 构建后验证 `dist/cli.js` 的 shebang 完整性 ### 3. 调整 package.json 发布配置 **当前配置**: ```json { "main": "dist/index.js", "scripts": { "start": "node dist/index.js" } } ``` **建议改进**: ```json { "main": "dist/index.js", "types": "dist/types/index.d.ts", "bin": { "mcp-swagger-server": "./dist/cli.js", "mcp-swagger": "./dist/cli.js" }, "files": [ "dist/**/*", "!dist/**/*.map", "README.md" ], "engines": { "node": ">=16.0.0" }, "publishConfig": { "access": "public" } } ``` ### 4. 创建 README.md **问题**: 缺少包级别的 README 文档 **解决方案**: 在 `packages/mcp-swagger-server/` 创建 README.md --- ## 🚀 发布准备步骤 ### 步骤 1: 配置调整 ```bash # 1. 修改 package.json 添加 bin 字段 # 2. 确保 TypeScript 编译正确 # 3. 验证 dist 目录结构 ``` ### 步骤 2: 构建验证 ```bash # 清理重建 cd packages/mcp-swagger-server pnpm run build # 检查编译产物 ls -la dist/ cat dist/cli.js | head -1 # 应该显示 #!/usr/bin/env node ``` ### 步骤 3: 本地测试 ```bash # 打包测试 npm pack # 临时安装测试 npm install -g ./mcp-swagger-server-1.0.0.tgz # 测试命令 mcp-swagger-server --help mcp-swagger --help # 功能测试 mcp-swagger-server --transport stdio --openapi https://petstore.swagger.io/v2/swagger.json ``` ### 步骤 4: 发布 ```bash # 登录 NPM npm login # 发布 npm publish # 验证发布 npm info mcp-swagger-server ``` --- ## 📈 发布后使用流程 ### 全局安装使用 ```bash # 用户安装 npm install -g mcp-swagger-server # 直接使用 mcp-swagger-server --transport streamable --port 3322 --openapi https://api.github.com/openapi.json # 查看帮助 mcp-swagger-server --help ``` ### 项目依赖使用 ```bash # 项目中安装 npm install mcp-swagger-server # 编程式使用 const { createMcpServer } = require('mcp-swagger-server'); ``` --- ## 🔄 后续改进计划 ### 短期改进 (v1.1.0) 1. **配置文件支持** ```bash # 支持 .mcprc.json 配置文件 mcp-swagger-server # 自动读取配置 ``` 2. **增强的错误处理** - 更友好的错误提示 - 详细的调试信息 - 自动问题诊断 3. **性能优化** - OpenAPI 规范缓存 - 增量解析更新 - 内存使用优化 ### 中期改进 (v1.2.0) 1. **插件系统** ```bash # 支持自定义转换插件 mcp-swagger-server --plugin ./my-transformer.js ``` 2. **多实例管理** ```bash # 管理多个 API 实例 mcp-swagger-server --config ./multi-api.json ``` 3. **监控和日志** - 集成 Prometheus 指标 - 结构化日志输出 - 健康检查端点 ### 长期改进 (v2.0.0) 1. **Web 管理界面** - 可视化配置管理 - 实时监控面板 - API 测试工具 2. **企业级功能** - 身份认证支持 - 访问控制列表 - 审计日志 3. **生态系统集成** - Docker 官方镜像 - Kubernetes Helm Chart - CI/CD 集成插件 --- ## 🎯 发布建议 ### 版本策略 - **v1.0.0**: 基础 CLI 功能 (当前) - **v1.1.0**: 配置文件支持 + 错误处理改进 - **v1.2.0**: 插件系统 + 监控功能 - **v2.0.0**: Web 界面 + 企业级功能 ### 发布渠道 1. **NPM 公共仓库** (主要) 2. **GitHub Releases** (附加) 3. **Docker Hub** (未来) ### 文档维护 - 保持 README.md 更新 - 维护 CHANGELOG.md - 提供详细的 API 文档 - 创建使用示例和教程 --- ## 📊 成功指标 ### 发布成功标准 - [ ] NPM 包成功发布 - [ ] 全局命令 `mcp-swagger-server` 可用 - [ ] 基本功能测试通过 - [ ] 文档完整可用 ### 用户采用指标 - NPM 下载量 - GitHub Stars 数量 - 社区反馈和 Issues - 功能请求和贡献 --- ## 🎉 结论 **mcp-swagger-server 已经具备了发布到 NPM 的所有核心功能**,只需要添加 `bin` 字段配置就可以作为 CLI 工具使用。 **推荐立即发布**,理由: 1. ✅ 功能完整 - 支持多种传输协议 2. ✅ 代码质量高 - TypeScript + 完整类型定义 3. ✅ 架构清晰 - 良好的模块化设计 4. ✅ 易于使用 - 丰富的命令行选项 5. ✅ 文档齐全 - 完整的使用指南 这个工具将极大地简化 OpenAPI 到 MCP 的转换过程,为 AI 生态系统提供重要的基础设施支持。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zaizaizhao/mcp-swagger-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server