Skip to main content
Glama
npm-publication-guide.md4.67 kB
# MCP Swagger Server NPM 发布指南 ## 🎯 发布状态分析 ### ✅ 当前具备条件 - ✓ 完整的 TypeScript 项目结构 - ✓ 丰富的 CLI 功能实现 - ✓ 多种传输协议支持 (stdio, http, sse, streamable) - ✓ 构建系统完善 - ✓ 依赖关系清晰 - ✓ 核心功能完备 ### ❌ 需要补充的关键配置 #### 1. 缺少 `bin` 字段配置 (必需) **问题**: `package.json` 中缺少 `bin` 字段,用户无法通过全局命令直接使用。 **解决方案**: 在 `packages/mcp-swagger-server/package.json` 中添加: ```json { "bin": { "mcp-swagger-server": "./dist/cli.js", "mcp-swagger": "./dist/cli.js" } } ``` #### 2. CLI 文件缺少 Shebang (必需) **问题**: 编译后的 `dist/cli.js` 需要 shebang 以支持直接执行。 **解决方案**: 确保编译后的文件顶部包含: ```javascript #!/usr/bin/env node ``` #### 3. 发布配置优化 **当前配置需要调整**: - `private: false` (当前可能设置为 private) - 完善 `repository` URL - 添加 `engines` 字段指定 Node.js 版本要求 --- ## 🚀 发布准备清单 ### 1. Package.json 配置修改 ```json { "name": "mcp-swagger-server", "version": "1.0.0", "description": "A Model Context Protocol (MCP) server for Swagger/OpenAPI documentation", "main": "dist/index.js", "types": "dist/types/index.d.ts", "bin": { "mcp-swagger-server": "./dist/cli.js", "mcp-swagger": "./dist/cli.js" }, "engines": { "node": ">=16.0.0" }, "files": [ "dist/**/*", "!dist/**/*.map", "README.md", "LICENSE" ], "publishConfig": { "access": "public" } } ``` ### 2. 构建验证 ```bash # 1. 清理并重新构建 pnpm run build # 2. 验证构建产物 ls -la packages/mcp-swagger-server/dist/ # 3. 测试 CLI 功能 node packages/mcp-swagger-server/dist/cli.js --help ``` ### 3. 本地测试安装 ```bash # 在项目根目录执行 cd packages/mcp-swagger-server npm pack # 在临时目录测试全局安装 mkdir /tmp/test-install cd /tmp/test-install npm install -g /path/to/mcp-swagger-server-1.0.0.tgz # 测试全局命令 mcp-swagger-server --help mcp-swagger --help ``` ### 4. 发布步骤 ```bash # 1. 登录 NPM npm login # 2. 发布到测试环境 (可选) npm publish --tag beta # 3. 正式发布 npm publish # 4. 验证发布成功 npm info mcp-swagger-server ``` --- ## 📖 使用文档 ### 全局安装 ```bash npm install -g mcp-swagger-server ``` ### 基本使用 ```bash # 查看帮助 mcp-swagger-server --help # 从 URL 启动 HTTP 服务器 mcp-swagger-server --transport http --port 3322 --openapi https://api.github.com/openapi.json # 从本地文件启动并监控变化 mcp-swagger-server --transport streamable --openapi ./api.json --watch # STDIO 模式 (适合 AI 客户端) mcp-swagger-server --transport stdio --openapi https://petstore.swagger.io/v2/swagger.json # SSE 模式 (适合 Web 前端) mcp-swagger-server --transport sse --port 3323 --openapi ./openapi.yaml ``` ### 编程式使用 ```javascript const { createMcpServer, runStreamableServer } = require('mcp-swagger-server'); // 创建 MCP 服务器实例 const server = createMcpServer(openApiSpec); // 运行 Streamable 服务器 runStreamableServer(server, { port: 3322 }); ``` --- ## 🔧 改进建议 ### 短期优化 (发布前必须) 1. **添加 bin 配置** - 支持全局命令 2. **完善 README** - 添加安装和使用说明 3. **添加 LICENSE 文件** 4. **测试 CLI 功能** - 确保所有命令正常工作 ### 中期改进 (后续版本) 1. **配置文件支持** - 支持 `.mcprc.json` 配置文件 2. **插件系统** - 支持自定义转换插件 3. **缓存机制** - 缓存解析结果提升性能 4. **健康检查** - 添加服务健康状态检查 ### 长期规划 1. **Docker 镜像** - 提供官方 Docker 镜像 2. **监控集成** - 集成 Prometheus/Grafana 监控 3. **多语言支持** - 支持更多 OpenAPI 规范变体 4. **Web 管理界面** - 提供 Web 管理控制台 --- ## 🎯 结论 **当前状态**: ✅ **基本可以发布** 项目已经具备了发布到 NPM 的基本条件,主要缺少的是 `bin` 字段配置。添加这个配置后,用户就可以通过以下方式使用: ```bash # 全局安装 npm install -g mcp-swagger-server # 直接使用 mcp-swagger-server --transport streamable --openapi https://api.example.com/openapi.json ``` **推荐发布流程**: 1. 先添加 `bin` 配置 2. 本地测试验证 3. 发布 beta 版本 4. 收集反馈后发布正式版 这个项目的架构设计很好,功能完善,发布后将为 MCP 生态系统提供重要的 OpenAPI 集成能力。

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