
prompt-optimizer MCP 集成指南3 步部署并接入 Claude Desktop【免费下载链接】prompt-optimizerAn AI prompt optimizer for writing better prompts and getting better AI results.项目地址: https://gitcode.com/GitHub_Trending/pro/prompt-optimizer你正在 Claude Desktop 里写提示词你是一个助手这种一句话设定效果不佳想请专业工具优化——但手边没有只能切到浏览器打开 prompt-optimizer 网页版复制、粘贴、再复制回来。prompt-optimizer 把核心优化能力封装成了 MCP 服务器MCP 协议Model Context Protocol可以理解为给 AI 助手装上手让它能实际调用你部署的工具你读完本文可以用 Docker 5 分钟部署 MCP 服务器再花 3 步把 Claude Desktop 接入 MCP 服务器之后优化提示词就只是在对话里说一句话的事。 为什么需要 MCP 集成传统做法是人肉搬运复制提示词到优化工具、等结果、再复制回对话窗口。每优化一轮就要切一次应用打断写作节奏长提示词来回粘贴还容易漏内容。MCP 协议的价值在于省掉了这个搬运步骤Claude 在对话中直接发起工具调用优化结果直接回到上下文里你可以立刻基于结果继续对话。 它到底怎么工作的MCP 协议在这里是中间人Claude Desktop 发出优化请求MCP 服务器校验参数后交给 Core 优化服务处理结果原路返回对话。三条设计要点详见 MCP 服务器模块说明零侵入MCP 层只调用现有 Core 模块 API不改动核心代码。无状态使用内存存储每次请求独立处理服务重启不依赖本地文件。标准协议走标准 MCP HTTP Streamable 传输任何兼容 MCP 的客户端都能连不限于 Claude Desktop。 从零到跑通Docker 部署 MCP 插件最快路径预计耗时 ≤ 5 分钟。一条命令同时起 Web 界面和 MCP 服务器MCP 端点通过/mcp路径暴露在同一个端口上# 基础部署Web 界面在 8081MCP 端点为 http://localhost:8081/mcp docker run -d -p 8081:80 \ -e VITE_OPENAI_API_KEY你的OpenAI密钥 \ -e MCP_DEFAULT_MODEL_PROVIDERopenai \ --name prompt-optimizer \ linshen/prompt-optimizer国内拉取镜像慢时换成阿里云镜像源docker run -d -p 8081:80 \ -e VITE_OPENAI_API_KEY你的OpenAI密钥 \ --name prompt-optimizer \ registry.cn-guangzhou.aliyuncs.com/prompt-optimizer/prompt-optimizer灵活路径需要多模型或自定义参数时用 Docker Compose下面只列关键项可选配置按需取消注释services: prompt-optimizer: image: linshen/prompt-optimizer:latest container_name: prompt-optimizer restart: unless-stopped ports: - 8081:80 # Web 界面 MCP 共用端口 environment: - VITE_OPENAI_API_KEY你的OpenAI密钥 # 必填至少一个 API 密钥 # - VITE_DEEPSEEK_API_KEY你的DeepSeek密钥 # 按需取消注释追加第二个模型 # - MCP_DEFAULT_MODEL_PROVIDERdeepseek # 按需取消注释指定首选模型提供商 # - MCP_LOG_LEVELinfo # 按需取消注释生产日志级别 - MCP_DEFAULT_LANGUAGEzh核心环境变量一览完整说明见 MCP 服务器用户指南变量名必填默认值说明VITE_OPENAI_API_KEY是无至少配置一个 API 密钥服务器靠它调用 LLMMCP_DEFAULT_MODEL_PROVIDER否openai配了多个密钥时指定首选提供商MCP_LOG_LEVEL否debug日志级别debug/info/warn/errorMCP_DEFAULT_LANGUAGE否zh优化结果的默认输出语言VITE_DEEPSEEK_API_KEY否无可选追加的模型密钥VITE_CUSTOM_API_BASE_URL否无自定义 API 端点如本地 Ollama️ 接入 Claude Desktop 三步走服务器跑起来后装完之后的第一件事是把 Claude Desktop 接进来。步骤 1定位配置文件先找到 Claude Desktop 的配置目录三个平台位置如下操作系统配置目录Windows%APPDATA%\Claude\servicesmacOS~/Library/Application Support/Claude/servicesLinux~/.config/Claude/services步骤 2写入 JSON 配置在配置目录中创建或编辑services.json最小可用片段如下{ services: [ { name: Prompt Optimizer, // 工具组显示名称随意起 url: http://localhost:8081/mcp // MCP 服务器地址Docker 部署为 8081 } ] }注意如果你是开发者本地部署pnpm mcp:dev端口 3000把 URL 改成http://localhost:3000/mcp。步骤 3重启并验证改完配置完全退出并重启 Claude Desktop。建议先用浏览器打开http://localhost:8081/healthz确认服务器存活然后在 Claude 对话里输入/tools应该能看到 3 个工具optimize-user-promptoptimize-system-promptiterate-prompt看到这三个名字接入就完成了。 拿真实任务试一把三个工具对应三类任务你只需在对话里描述需求Claude 会自动选工具填参数。场景 A一段日常对话提示词——什么时候用到随手提问太含糊想让回答更靠谱。optimize-user-prompt({ prompt: 帮我写篇文章, // 必填待优化的原始提示词 // template: 可选优化模板省略时自动用内置默认模板 });优化前优化后帮我写篇文章请撰写一篇 1500 字左右的 AI 医疗应用技术文章包含真实案例分点组织结构语言专业但通俗易懂场景 B给 AI 定义一个专业角色——什么时候用到要搭一个自定义助手或专家角色需要规范的系统提示词。optimize-system-prompt({ prompt: 你是一个医疗助手, // 必填当前简陋的角色设定 // template: 可选不同模板的优化侧重不同见 /tools 里的参数说明 });优化前优化后你是一个医疗助手你是一位严谨的医疗信息助手先澄清症状与病史再给出参考建议明确标注不能替代医生诊断涉及急症时立即建议就医并遵守隐私与安全边界场景 C已有提示词想微调——什么时候用到提示词已经能用但输出有具体毛病只改毛病、不动其余。iterate-prompt({ prompt: 现有提示词全文, // 必填正在使用的完整提示词 requirements: 输出格式不稳定要求固定为 JSON, // 必填具体的改进需求 // template: 可选迭代策略模板 });优化前优化后提取以下文本的实体和关系保留了原有抽取逻辑追加了仅输出 JSON、字段为 entities/relations、无匹配时返回空数组等格式约束优化结果大致长这样下图为项目中一个优化后的提示词展示 配置调优多模型、Ollama 与日志多模型切换docker run -d -p 8081:80 \ -e VITE_OPENAI_API_KEY你的OpenAI密钥 \ -e VITE_DEEPSEEK_API_KEY你的DeepSeek密钥 \ -e MCP_DEFAULT_MODEL_PROVIDERdeepseek \ --name prompt-optimizer \ linshen/prompt-optimizer配了多个密钥时用MCP_DEFAULT_MODEL_PROVIDER指定首选提供商名称必须小写且与密钥类型一致openai不是OpenAI。匹配不到时会回退到第一个可用模型。自定义 API 端点以 Ollama 为例docker run -d -p 8081:80 \ -e VITE_CUSTOM_API_KEY任意占位值 \ -e VITE_CUSTOM_API_BASE_URLhttp://host.docker.internal:11434/v1 \ -e VITE_CUSTOM_API_MODELqwen2.5:7b \ -e MCP_DEFAULT_MODEL_PROVIDERcustom \ --name prompt-optimizer \ linshen/prompt-optimizerOllama 不校验密钥VITE_CUSTOM_API_KEY填任意值即可容器里访问宿主机服务要用host.docker.internal代替localhost。完整的变量格式参考 env.local.example 中VITE_CUSTOM_API_*一节的注释。日志级别docker run -d -p 8081:80 \ -e VITE_OPENAI_API_KEY你的OpenAI密钥 \ -e MCP_LOG_LEVELinfo \ --name prompt-optimizer \ linshen/prompt-optimizerMCP_LOG_LEVEL支持 debug/info/warn/error 四档级别越高打印越少。生产环境建议开 info 级别排查问题再临时切到 debug。 踩坑速查MCP 工具调用失败排查症状启动报Error: listen EADDRINUSE: address already in use原因端口被占用本地开发模式默认 3000容器映射端口冲突同理。 修复换个端口再起例如MCP_HTTP_PORT3001 pnpm mcp:dev或docker run时改映射端口。症状启动即报No enabled models found原因没有任何有效 API 密钥被传入容器或变量名拼错。 修复核对docker run的-e参数确认至少一个VITE_*_API_KEY存在且拼写正确。症状工具调用返回 MCP default model is not configured原因MCP_DEFAULT_MODEL_PROVIDER与你实际配置的密钥类型对不上。 修复把它改成与已配置密钥一致的提供商名小写拼写。症状Claude Desktop 一直连不上原因URL 端口写错8081 与 3000 混用、JSON 格式不合法或防火墙拦截。 修复先浏览器访问http://localhost:8081/healthz确认服务器存活再检查services.json能否被正常解析。如果以上都没解决带着MCP_LOG_LEVELdebug下的日志去项目 issue 区搜索或提问日志里会标明失败发生在协议层还是模型调用层。️ 推荐工作流一套从草稿到定型的 5 步循环初稿把想法用最直白的话写出来别纠结措辞。优化按提示词类型选对工具让 Claude 在对话里跑一轮优化。测试拿优化后的提示词真实跑几个用例看输出是否达标。迭代把具体毛病写成 requirements用iterate-prompt定向修补不动其余部分。固化效果满意后存进 prompt-optimizer 的模板库或 Claude 的记忆下次直接复用。选择逻辑一目了然模板参数不用背/tools里每个工具的template字段描述里列了全部可选值不确定就省略它用内置默认模板。 现在就能做三件事读完本文你已经具备这些能力✅ 用一条 Docker 命令把 prompt-optimizer 的 MCP 服务器部署起来Web 界面和/mcp端点同时可用✅ 完成 Claude Desktop 接入 MCP 服务器的三步配置并确认 3 个工具注册成功✅ 区分三个工具各自的适用场景知道什么时候该用iterate-prompt而不是整段重写✅ 遇到工具调用失败排查类问题时能按症状定位到密钥、端口、提供商名三个最常见原因行动清单部署复制本文的docker run命令填入你的密钥跑起服务器。接入编辑services.json重启 Claude Desktop用/tools确认 3 个工具在列。试用挑一段你最近写过、效果不理想的提示词在对话里让 Claude 优化一遍感受不切应用的差别。【免费下载链接】prompt-optimizerAn AI prompt optimizer for writing better prompts and getting better AI results.项目地址: https://gitcode.com/GitHub_Trending/pro/prompt-optimizer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考