OpenAI Responses API MCP 工具怎么接入 AI 写作流程
想让 AI 写作流程读取外部资料库或调用业务工具,关键不是把 MCP 写进提示词,而是在 Responses API 请求的 tools 参数中声明可用工具,再根据模型返回的工具调用请求完成授权、执行和结果回传。本文按新手能落地的顺序整理一…
准备
先准备四类内容:一个已经可以访问的 MCP 服务端、对应的授权方式、AI 写作任务输入,以及应用侧保存任务状态的地方。研究资料确认,Responses API 的 tools 参数可以承载 MCP Tools,也可以承载内置工具和自定义函数工具;但资料没有给出具体 MCP 字段或授权协议的完整定义,因此不要凭记忆硬编码字段,应该以当前 API 文档和 SDK 类型定义为准。
- 确定 MCP 服务只开放写作所需的查询或读取能力。
- 准备独立的服务端凭证,不要把密钥放进提示词或浏览器代码。
- 设计任务状态,例如 waiting、tool_calling、writing、review 和 failed。
- 记录请求参数、响应 ID、工具名称、调用参数摘要和最终正文。
如果还不了解 Responses API 的普通工具调用流程,可以先阅读OpenAI Responses API 工具调用怎么接入 AI 写作流程,再把自定义函数替换为 MCP 工具。
分步操作
- 先划定工具范围。把“查询产品资料”“读取已审核内容”这类只读动作列入白名单,暂时不要开放删除、发布或修改权限。工具范围越小,越容易审计模型是否做了越权操作。
- 在服务端声明 MCP 工具。调用 Responses API 时,通过 tools 参数传入当前 SDK 和 API 文档认可的 MCP 工具对象。资料确认 tools 支持 MCP Tools,但没有确认某个具体字段名,因此可复制下面的结构化工作模板,而不要把占位字段直接当成正式请求:
请求目标:Responses API
固定输入:文章主题、受众、语气、输出格式
工具声明:当前文档认可的 MCP 工具对象
授权来源:服务端环境变量或安全凭证管理器
工具白名单:资料查询、版本查询
禁止动作:发布、删除、修改原始资料
结果处理:保存工具结果摘要和调用标识
下一步:把已验证结果交给模型继续写作- 限制模型的工具选择。如果当前接口和 SDK 支持 tool_choice,就只允许模型使用已经通过审核的工具;不需要工具时则保持普通写作。不要让提示词成为唯一的权限控制。
- 处理授权。MCP 服务需要授权时,由你的后端完成凭证注入、权限校验和失败处理。模型只负责提出工具调用请求,不应接触长期密钥。授权失败时,返回明确的失败状态,不要用猜测内容替代外部资料。
- 读取工具调用请求。Responses API 返回的结果可能包含模型消息和工具相关项目。应用应先识别工具名称、参数和调用标识,再检查工具是否在白名单中。参数不符合预期时直接拒绝,并记录原因。
- 执行并回传结果。后端调用 MCP 服务后,将原始结果保留在任务记录中,同时清理不必要的敏感字段。再按照当前 API 要求,把与调用标识对应的工具结果交回模型,让模型继续生成文章。
- 分离草稿与发布。收到最终文本后,先检查资料引用、输出字段和禁用内容,再写入草稿。不要因为工具调用成功,就直接把生成结果标记为可发布。
可复制模板
可以把下面这段作为写作任务的基础规则,再根据业务替换括号内容:
任务:根据已验证的外部资料撰写【文章主题】。
受众:【新手开发者/内容运营】。
允许使用的资料工具:【工具白名单】。
要求:只使用工具返回且已通过应用校验的事实;资料不足时明确标注未知;不要自行补全价格、时间、权限或产品承诺。
输出:标题、导语、分步说明、常见故障、发布前检查。
发布条件:工具调用成功、正文完整、关键事实可追溯、人工审核通过。这个模板控制的是写作边界,不代替后端权限。真正的工具可访问范围仍要在 MCP 服务端、应用白名单和授权层分别限制。
翻车怎么改
常见故障:模型反复要求调用工具,或者工具已经返回结果,正文仍然凭空补充资料。
原因:应用没有按调用标识把结果准确回传,或者只在提示词中写了“请查资料”,没有在 tools 参数中声明工具。另一个常见原因是工具返回了无结构、无来源的长文本,模型无法判断哪些内容可以引用。
修正动作:先记录每次工具调用的名称、参数和调用标识,再按标识回传结果;同时把工具结果整理成包含来源、字段和未知项的结构化对象。若当前 SDK 的 MCP 对象字段不确定,应回到官方文档或 SDK 类型定义核对,不要套用其他接口的字段。
如果授权失败,检查后端凭证是否过期、服务端是否允许当前工具,以及应用是否错误地把浏览器端请求当成服务端请求。修好后先用一条只读资料查询任务验证,再扩大工具范围。
完成前检查
- 发布前确认 tools 中只有本任务需要的 MCP 工具。
- 确认密钥没有进入提示词、前端日志或文章正文。
- 确认工具返回结果与文章中的关键事实可以对应追溯。
- 确认工具失败时,文章不会把未知信息写成确定结论。
- 确认正文完整、格式符合编辑器要求,并经过人工审核后再发布。
Responses API 的 create 请求还支持 input、instructions、tools、tool_choice、store、metadata 和 stream 等参数。实际接入时,建议把任务标识写入 metadata,并保存 response_id,方便排查某次工具调用和后续改稿。
下一步
把这篇的方法练一遍
提示词和步骤可以带到创作里直接试做一版。