Skip to main content
Glama

Mingli MCP Server

by spyfree
RELEASE_NOTES_v1.0.3.md6.54 kB
# Release Notes - v1.0.3 **发布日期**: 2025-10-28 ## 🎉 重大更新 这是一个包含重大改进的版本,全面提升了项目的代码质量、性能和安全性。 --- ## ✨ 新特性 ### 1. 自定义异常系统 - ✅ 新增9个专用异常类,提供更精确的错误分类 - ✅ 重构所有核心模块的异常处理 - ✅ 改善错误信息和调试体验 **新增异常类**: - `MingliMCPError` - 基础异常类 - `ValidationError` - 参数验证错误 - `SystemError` - 系统执行错误 - `SystemNotFoundError` - 系统未找到错误 - `ConfigError` - 配置错误 - `TransportError` - 传输层错误 - `DependencyError` - 依赖错误 - `ToolCallError` - 工具调用错误 - `FormatError` - 格式化错误 ### 2. 系统实例缓存 - ✅ 实现系统实例缓存机制 - ✅ 重复调用性能提升95% - ✅ 支持缓存开关和清理功能 **使用示例**: ```python from systems import get_system, clear_cache # 使用缓存(默认) system = get_system('ziwei') # 创建独立实例 system = get_system('ziwei', cached=False) # 清除缓存 clear_cache('ziwei') ``` ### 3. 请求限流器 - ✅ 滑动窗口算法实现 - ✅ 多客户端隔离 - ✅ 自动清理过期数据 - ✅ 详细统计信息 **特性**: - 默认100请求/分钟(可配置) - 基于IP的客户端识别 - 标准HTTP 429响应 - 实时统计监控 ### 4. HTTP安全增强 - ✅ 集成请求限流 - ✅ 标准化错误响应 - ✅ 限流信息响应头 - ✅ 新增统计端点 **新端点**: - `GET /stats` - 限流器统计信息(需要认证) - `GET /health` - 健康检查(包含限流状态) ### 5. 性能监控 - ✅ 详细的请求统计 - ✅ 响应时间追踪 - ✅ 系统和方法级监控 - ✅ 错误分类统计 **监控指标**: - 总请求数和成功率 - 平均/最小/最大响应时间 - 每秒请求数 - 系统调用分布 - 方法调用统计 - 错误类型分布 ### 6. CI/CD自动化 - ✅ GitHub Actions配置 - ✅ 多平台测试(Ubuntu, macOS) - ✅ 多版本测试(Python 3.8-3.12) - ✅ 自动代码质量检查 - ✅ 安全扫描集成 **CI任务**: - `test` - 单元测试和覆盖率 - `lint` - 代码质量检查 - `security` - 安全漏洞扫描 - `build` - 包构建验证 --- ## 🔧 改进 ### 代码质量 - ✅ 添加8个开发工具(black, flake8, mypy, pylint, isort等) - ✅ 30个文件代码格式化统一 - ✅ 完整的配置文件(pyproject.toml, .flake8) - ✅ 修复所有pytest警告 ### 测试 - ✅ 改进测试结构,使用assert替代return - ✅ 添加关键字段验证 - ✅ 8个测试全部通过,0警告 - ✅ 核心模块覆盖率70-100% ### 文档 - ✅ 新增4个详细改进文档 - ✅ 添加开发命令快速参考 - ✅ 提供功能演示脚本 - ✅ 完整的使用说明 --- ## 📚 新增文档 1. **HIGH_PRIORITY_IMPROVEMENTS.md** - 高优先级改进详情 2. **MEDIUM_PRIORITY_IMPROVEMENTS.md** - 中优先级改进详情 3. **IMPROVEMENTS_SUMMARY.md** - 总体改进摘要 4. **DEV_COMMANDS.md** - 开发命令快速参考 5. **AGENTS.md** - 项目编码规范 --- ## 📦 新增文件 ### 核心模块 - `core/exceptions.py` - 自定义异常类系统 ### 工具模块 - `utils/rate_limiter.py` - 请求限流器 - `utils/metrics.py` - 性能监控指标 ### 配置文件 - `.flake8` - flake8配置 - `.github/workflows/ci.yml` - CI/CD配置 ### 示例 - `examples/demo_improvements.py` - 功能演示脚本 --- ## 🔄 变更 ### 修改的文件 (24个) - 核心模块: 5个文件 - 系统模块: 9个文件 - 传输层: 4个文件 - 工具模块: 3个文件 - 测试文件: 2个文件 - 配置文件: 1个文件 ### 代码统计 - **新增**: ~1800行 - **修改**: ~1200行 - **删除**: ~400行 - **总计**: 35个文件变更 --- ## 📊 性能提升 ### 响应时间 | 场景 | v1.0.2 | v1.0.3 | 提升 | |------|--------|--------|------| | 首次调用 | 100ms | 100ms | - | | 重复调用 | 100ms | ~5ms | **95%** ✅ | | 并发稳定性 | 中等 | 高 | ✅ | ### 安全性 - ✅ 请求限流保护 - ✅ 客户端隔离 - ✅ 自动清理机制 - ✅ 标准化错误响应 ### 可观测性 - ✅ 实时性能统计 - ✅ 详细方法追踪 - ✅ 错误分类分析 --- ## 🔧 开发工具 ### 新增工具 ```bash # 代码格式化 black . isort . # 代码检查 flake8 . mypy . pylint *.py # 测试 pytest -v pytest --cov=. --cov-report=html ``` ### 配置文件 - `pyproject.toml` - 所有工具的集中配置 - `.flake8` - flake8专用配置 --- ## 🚀 升级指南 ### 从 v1.0.2 升级到 v1.0.3 ```bash # 1. 升级包 pip install --upgrade mingli-mcp # 2. 如果使用HTTP传输,需要配置限流(可选) # 环境变量方式 export RATE_LIMIT_ENABLED=true export RATE_LIMIT_REQUESTS=100 export RATE_LIMIT_WINDOW=60 # 或者代码方式 from transports import HttpTransport transport = HttpTransport( enable_rate_limit=True, rate_limit_requests=100, rate_limit_window=60 ) ``` ### 兼容性说明 - ✅ 完全向后兼容 - ✅ 所有现有API保持不变 - ✅ 新功能默认启用,可选择关闭 - ✅ 无需修改现有代码 --- ## 🐛 修复 - ✅ 修复pytest测试警告 - ✅ 改进异常错误信息 - ✅ 统一代码格式 - ✅ 修复导入顺序问题 --- ## 📝 已知问题 ### 非关键问题 1. lib目录中的第三方代码有一些flake8警告(不影响功能) 2. setuptools deprecation警告(将在未来版本修复) ### 解决方案 这些问题已在计划中,将在下一个版本解决。 --- ## 🎯 下一步计划 ### v1.1.0 计划 1. 添加更多单元测试(目标覆盖率80%+) 2. 实现Prometheus metrics导出 3. 添加请求追踪功能 4. 配置热重载支持 --- ## 🙏 贡献者 感谢所有贡献者的辛勤付出! - @spyfree - 项目维护者 - factory-droid[bot] - 代码审查和改进建议 --- ## 📞 支持 - **PyPI**: https://pypi.org/project/mingli-mcp/1.0.3/ - **GitHub**: https://github.com/spyfree/mingli-mcp - **Issues**: https://github.com/spyfree/mingli-mcp/issues - **Documentation**: 查看项目README和改进文档 --- ## ⚡ 快速开始 ```bash # 安装 pip install mingli-mcp==1.0.3 # 运行测试 python -m pytest # 查看演示 python examples/demo_improvements.py # 查看文档 cat IMPROVEMENTS_SUMMARY.md ``` --- **这是一个重大更新版本,强烈建议所有用户升级!** **发布状态**: ✅ 已发布 **PyPI地址**: https://pypi.org/project/mingli-mcp/1.0.3/ **GitHub Tag**: v1.0.3

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/spyfree/mingli-mcp'

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