Files
linshen 1a55a5e719 feat(server): 集成 MCP 服务器
本次提交主要集成了 MCP 服务器,为系统增加了用户提示词优化工具,并通过优化部署流程,提升了整体易用性。

具体变更内容包括:

* **功能增强:**
    * 集成 MCP 服务器,提供用户和系统提示词优化工具,支持 stdio 和 HTTP 两种传输方式,并集成了 Claude Desktop。
    * 实现基于会话的 HTTP 传输,允许多客户端连接,并为每个会话创建独立的 MCP 服务器实例,确保会话间的隔离性。

* **部署优化:**
    * 将 MCP 服务器端口变更为与 Web 界面共享 80 端口,通过路径区分,简化了 Docker 部署配置,降低了部署复杂度。
    * 优化 Docker 部署流程,使用 Supervisor 进行进程管理,并改进模板参数(使用枚举类型 + 默认值),同时提供了包含 MCP 服务器使用说明的 Docker 部署文档。

* **代码优化与重构:**
    * 优化模型选择逻辑,提高模型选择的准确性。
    * 优化日志记录功能,支持更灵活的日志级别设置,并添加了详细的错误提示和调试信息,方便问题排查。
    * 重构代码,分离构建和启动入口,优化环境变量加载和模型初始化逻辑,提高了代码的可维护性和可扩展性,并解决了构建副作用问题。

* **文档更新:**
    * 更新工具描述和使用说明,提供了用户和系统提示词工具的具体示例,并补充了迭代提示词工具的改进需求描述和使用场景。
    * 更新 Docker 部署方案,包含了 `docker-compose.yml`、`Dockerfile` 和 `env.local.example` 配置示例,并更新了 README 文档以明确连接方式。
    * 更新 `nginx.conf`,使用环境变量 `NGINX_PORT`,修改 `start-services.sh`,增加 nginx 配置处理,更新 `supervisord.conf`,调整 MCP 服务器启动方式,优化 `Dockerfile`,安装额外依赖并调整工作目录,调整环境变量加载机制,使用 `preload-env.cjs`。

* **其他:**
    * 提供快速开始指南、环境变量配置和问题排除等文档,更新了相关文档链接和获取帮助指引,并完成了基础测试用例和开发/设计文档。

本次更新旨在提升用户在提示词优化方面的能力,并简化部署流程,提高系统的整体可用性和可维护性。
2025-07-27 00:31:23 +08:00
..
2025-07-27 00:31:23 +08:00

MCP Server 模块开发

📋 项目概述

  • 项目编号: 120
  • 项目名称: MCP Server 模块开发
  • 时间: 2025-07-18 ~ 2025-07-26
  • 状态: ✅ 已完成

🎯 项目目标

  • 为 prompt-optimizer 项目新增 MCP (Model Context Protocol) server 模块
  • 专注于提供提示词优化工具,使其能够被支持 MCP 的 LLM 应用和客户端直接使用
  • 实现零侵入性设计,完全不修改 Core 模块代码

✅ 完成情况

  • 核心功能完成情况: ✅ 已完成
    • MCP Server 基础架构设计与实现
    • 3个核心工具实现 (optimize-user-prompt, optimize-system-prompt, iterate-prompt)
    • 双传输方式支持 (stdio 和 HTTP)
  • 技术实现完成情况: ✅ 已完成
    • Core 服务适配层
    • 参数转换适配器
    • 错误处理适配器
    • 环境变量配置管理

🎉 主要成果

  • 架构改进: 实现了零侵入性的 MCP Server 模块,完全复用 Core 模块功能
    • 采用分层架构设计,职责清晰
    • 使用适配器模式实现协议转换
    • 保持与 Core 模块的完全解耦
  • 稳定性提升: 解决了环境变量加载时机、构建时后台进程等关键问题
    • 环境变量预加载机制
    • 构建时副作用控制
    • Windows 兼容性优化
  • 开发体验优化: 提供了完整的文档和示例,便于其他开发者使用和集成
    • 详细的技术实现文档
    • 丰富的开发经验总结
    • 完整的避坑指南

🚀 后续工作

  • 已识别的待办事项:
    • 测试与 Claude Desktop 的集成
    • 完善错误处理和日志系统
    • 编写使用文档和部署指南
    • 性能优化和稳定性测试