prompt-optimizer MCP协议集成快速指南:一条命令部署MCP服务器,接入Claude Desktop获得3个提示词优化工具
【免费下载链接】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 的 MCP 集成就是解决这一步的——把提示词优化能力装进 Claude Desktop,优化时不用离开对话窗口。MCP(Model Context Protocol)是让 AI 应用调用外部工具的一种标准协议,你可以理解成给 Claude Desktop 装的"外设接口"。
全文按"部署 → 接入 → 使用 → 排障"走一遍,Docker 用户全程只需要一条命令。
🐳 一条 Docker 命令部署 MCP 服务器
Docker 镜像里同时包含 Web 界面和 MCP 服务器,启动后两者都在:
docker run -d -p 8081:80 \ -e VITE_OPENAI_API_KEY=你的openai密钥 \ -e MCP_DEFAULT_MODEL_PROVIDER=openai \ --name prompt-optimizer \ linshen/prompt-optimizer # 拉取 Docker Hub 慢时,把最后一行镜像换成国内镜像: # registry.cn-guangzhou.aliyuncs.com/prompt-optimizer/prompt-optimizer启动后记住两个地址:Web 界面是http://localhost:8081,MCP 端点是http://localhost:8081/mcp。
需要自定义配置时用 Docker Compose,骨架如下(完整版见仓库 docker-compose.yml):
services: prompt-optimizer: image: linshen/prompt-optimizer:latest container_name: prompt-optimizer restart: unless-stopped ports: - "8081:80" environment: - VITE_OPENAI_API_KEY=你的openai密钥 - MCP_DEFAULT_MODEL_PROVIDER=openai - MCP_LOG_LEVEL=info环境变量只需关心这几项(更多选项见 env.local.example):
| 环境变量 | 必填 | 默认值 | 作用 |
|---|---|---|---|
VITE_OPENAI_API_KEY或任意一家 API 密钥 | ✅ | — | 优化用的 LLM,至少配一个 |
VITE_CUSTOM_API_KEY/_BASE_URL/_MODEL | ❌ | — | 接 Ollama 等 OpenAI 兼容接口 |
MCP_DEFAULT_MODEL_PROVIDER | ❌ | openai | 配了多家密钥时指定默认用谁 |
MCP_LOG_LEVEL | ❌ | debug | 日志级别:debug / info / warn / error |
MCP_DEFAULT_LANGUAGE | ❌ | zh | 优化结果的默认语言:zh / en |
⚙️ Claude Desktop 配置 MCP 三步,验证 3 个工具
第 1 步,定位配置目录:
| 系统 | 路径 |
|---|---|
| Windows | %APPDATA%\Claude\services |
| macOS | ~/Library/Application Support/Claude/services |
| Linux | ~/.config/Claude/services |
第 2 步,写入services.json:
{ "services": [ { "name": "Prompt Optimizer", "url": "http://localhost:8081/mcp" } ] }本地开发部署(端口 3000)的用户,把 URL 换成http://localhost:3000/mcp。
第 3 步,重启 Claude Desktop,打开工具列表。同时看到optimize-user-prompt、optimize-system-prompt、iterate-prompt这 3 个名字,接入就成功了。只看到名字但调用报错,跳到下面的排障清单。
🛠️ 3 个工具怎么用:各一个最小示例
optimize-user-prompt:优化对话级提示词
用途:把含糊的口语化请求扩写成目标明确、带约束的指令。
最小调用,只传prompt:
optimize-user-prompt({ prompt: "帮我看看这段代码" })| 优化前 | 优化后 |
|---|---|
| "帮我看看这段代码" | "请审查以下代码片段,从正确性、性能、可读性三个维度检查。每个问题给出所在行号、影响说明和修改后的代码,按严重程度从高到低排列。" |
optimize-system-prompt:优化系统提示词
用途:把一句话的角色设定,升级成带角色边界、行为规则和输出格式约束的完整系统提示词。
optimize-system-prompt({ prompt: "你是一个客服" })| 优化前 | 优化后 |
|---|---|
| "你是一个客服" | "你是某 SaaS 产品的客服专员,只回答功能、计费与集成相关的问题。超出范围的请求,引导用户走官方支持渠道。回答用编号列表,结尾附一句确认用户下一步操作。不确定时直接说明,禁止编造。" |
iterate-prompt:按具体不满迭代修改
用途:提示词已经能用,但某处不达标。你带着具体毛病提,它只改毛病处,不动原有意图。
iterate-prompt({ prompt: "现有提示词全文", requirements: "回答太长,压缩到3条要点,语气保持专业" })| 迭代前 | 迭代后 |
|---|---|
| "你是代码审查助手,请给出详尽的审查意见"(输出动辄千字,重点淹没) | "你是代码审查助手。审查意见只输出3条要点:最严重的问题、风险等级、修改建议。每条不超过两行,不展开背景说明。" |
🧩 模板、本地模型与日志级别怎么选
不传template参数时,服务器自动选默认模板。指定模板时按用途挑:
| 场景 | 内置模板(按类型) | 什么时候用 |
|---|---|---|
| 优化用户提示词 | basic/planning/professional | 日常对话选 basic;任务要分步骤执行选 planning;咨询类回答选 professional |
| 优化系统提示词 | general/analytical/output-format | 通用角色选 general;偏推理分析选 analytical;只修输出格式选 output-format |
| 迭代改进 | iterate | 已有可用提示词,做定向修补 |
多模型与本地模型,全走环境变量:
# 同时配置多家,再用 MCP_DEFAULT_MODEL_PROVIDER 指定默认 VITE_OPENAI_API_KEY=sk-... VITE_DEEPSEEK_API_KEY=sk-... MCP_DEFAULT_MODEL_PROVIDER=deepseek # 接 Ollama 等 OpenAI 兼容接口;多个模型用后缀区分 VITE_CUSTOM_API_KEY_qwen3=占位密钥 VITE_CUSTOM_API_BASE_URL_qwen3=http://localhost:11434/v1 VITE_CUSTOM_API_MODEL_qwen3=qwen3:8b MCP_DEFAULT_MODEL_PROVIDER=custom_qwen3注意MCP_DEFAULT_MODEL_PROVIDER必须全小写,且要和已配置的密钥对得上,否则会报"模型未配置"。日志级别:开发用debug,跑起来之后调成info,嫌吵再降到warn。
🐛 Claude Desktop 接入 MCP 工具失败?按 4 条清单查
- 服务器起不来,报
EADDRINUSE→ 端口被别的进程占了 → 换端口启动:MCP_HTTP_PORT=3001 pnpm mcp:dev(Docker 部署则改 8081 的映射端口)。 - 提示
No enabled models found→ 密钥没注入容器或已失效 → 确认启动命令带上了-e VITE_OPENAI_API_KEY=...,没带就docker restart之前重新带参启动。 - 工具列表里找不到 3 个工具→ 配置 URL 和实际端口对不上,或 JSON 写错 → 浏览器访问
http://localhost:8081/healthz,能通再逐字符比对services.json里的 url。 - 调用工具报"模型未配置"→
MCP_DEFAULT_MODEL_PROVIDER与密钥不匹配(常见是写成了大写OpenAI)→ 改成小写openai并重启服务。
完整故障排除见 MCP 服务器用户指南。
📋 把提示词优化固化成 5 步工作流
- 初稿:在 Claude Desktop 里随手写出原始提示词,不用讲究。
- 首次优化:调用
optimize-user-prompt或optimize-system-prompt,先不指定模板,用默认值。 - 实测:拿优化结果跑 2-3 个真实问题,记下具体毛病(太长、跑题、格式乱)。
- 定向迭代:把毛病写进
requirements,调iterate-prompt,只修记录的问题。 - 存档:定稿后在 prompt-optimizer 的 Web 界面(
http://localhost:8081)存成模板,下次直接复用。
开发侧细节(工具参数定义、Inspector 调试)可查 MCP 服务器开发文档。
✅ 接入后你拿到了什么
省掉了应用间复制粘贴,优化发生在对话窗口内部。3 个工具覆盖"从零写"到"改已有"的完整链路。一条 Docker 命令起步,配置项只有必填的一个密钥。
接下来做三件事:
- 跑那条
docker run,等/healthz变绿。 - 写好
services.json,重启 Claude Desktop,确认 3 个工具都出现。 - 挑一句你最常写的提示词,走一遍 5 步工作流。
【免费下载链接】prompt-optimizerAn AI prompt optimizer for writing better prompts and getting better AI results.项目地址: https://gitcode.com/GitHub_Trending/pro/prompt-optimizer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考