OpenAI 添加自定义 MCP 服务器
2026-11-09 16:03 更新
连接自定义 MCP 服务器
将模型上下文协议(Model Context Protocol,MCP)服务器作为插件连接到 ChatGPT。ChatGPT 支持服务器提供的读取工具和写入工具。
只连接可信的 MCP 服务器。不可信服务器可能访问或窃取通过应用共享的信息,或诱导 ChatGPT 以非预期方式使用工具,包括修改或删除数据。连接前应了解提示注入及其他风险。
使用方式
- 访问入口:使用网页版 ChatGPT。工作区权限及包括 Lockdown 在内的安全限制,适用于添加和使用自定义 MCP 服务器。
- 将服务器添加为插件:
- 打开 ChatGPT Plugins。
- 选择加号,再选择 Add custom MCP server(添加自定义MCP服务器)。
- 填写名称和可选描述。在 Connection(连接)中填写 Server URL,或选择 Tunnel(隧道)以使用安全MCP隧道。
- 配置服务器认证。
- 阅读风险提示,选择 I understand and want to continue(我已了解并希望继续)。
- 选择 Create as a plugin(创建为插件)。
支持 SSE 和流式 HTTP 两种 MCP 传输方式。认证可选 OAuth、无认证,以及 OAuth 或无认证的混合模式。
- OAuth 配置中,如提供静态凭证,则使用该凭证;否则,如果授权服务器公布支持、且应用创建者选择 CIMD,ChatGPT 可以使用客户端ID元数据文档(Client ID Metadata Documents)。CIMD 支持公共客户端令牌交换(
none)或签名客户端断言交换(private_key_jwt)。配置后也可使用动态客户端注册(DCR)。 - 混合认证模式下,初始化和列出工具 API 不使用认证;具体工具根据工具元数据中的安全方案采用 OAuth 或无认证。
- 创建后,在个人插件或创建时所属工作区中找到该插件,安装后才能在对话中使用。
- 管理工具:应用设置中,每个应用都有详情页。可开关工具,或刷新应用,从 MCP 服务器重新获取工具、描述和服务器指令。
- 在对话中使用应用:在输入框中键入
@,选择已安装插件。自定义 MCP 插件可与其他应用同时使用,但仍受工作区权限及安全限制约束。可尝试不同提示方式,以便调用正确工具:- 明确指定,例如“使用Acme CRM应用的
update_record工具来……”。必要时同时写明服务器标签和工具名。 - 排除备选方式,例如“不要使用内置浏览或其他工具,只使用Acme CRM应用”。
- 区分相似工具,例如“会议优先用
Calendar.create_event;排期不要使用Reminders.create_task”。 - 指定输入结构和顺序,例如“先以
{ path: "…" }调用Repo.read_file,再以修改后的内容调用Repo.write_file,不调用其他工具”。 - 多个应用能力重叠时,先说明优先级,例如“以CompanyDB为权威数据源,只有无结果时才使用其他来源”。
- 自定义 MCP 服务器不强制要求
search/fetch工具。服务器暴露的工具,包括写入操作,均可按确认设置使用。 - 更多说明见使用工具与提示设计。
- 改进工具描述:使用体现动作的名称,写清“何时使用”、不适用情形和边界情况,并补充参数描述及枚举,帮助模型在相似工具之间选择,并在不适合时避免使用内置工具。
- 添加跨工具指令:通过 MCP 的
instructions字段说明必须遵循的工具顺序、共享速率限制及工具关系。前512个字符应能够独立表达完整含义。
- 明确指定,例如“使用Acme CRM应用的
示例:
来源示例 1():
中文译释:提示词完整译文(用于对话,不是终端命令):
使用
Calendar.create_event,安排明天下午3点(太平洋时间)、时长30分钟的会议,邀请alice@example.com和bob@example.com。不要使用其他排期工具。
Schedule a 30‑minute meeting tomorrow at 3pm PT with
alice@example.com and bob@example.com using "Calendar.create_event".
Do not use any other scheduling tools.
来源示例 2():
中文译释:提示词完整译文(用于对话,不是终端命令):
使用
GitHub.open_pull_request,从feat-retry分支向main创建拉取请求,标题为“Add retry logic”,正文为“…”;不要直接推送到main。
Create a pull request using "GitHub.open_pull_request" from branch
"feat-retry" into "main" with title "Add retry logic" and body "…".
Do not push directly to main.
- 检查并确认工具调用:
- 展开每次工具调用详情,查看完整JSON输入与输出,用于确认正确性和调试。
- 写入操作默认需要确认。认真检查即将发送的输入,确保行为符合预期;错误写入可能意外删除、修改或共享数据。
- 只读识别遵循
readOnlyHint工具注解。没有该提示的工具会被视为写入操作。 - 可以为当前对话中的某个工具记住允许或拒绝的选择,此后该对话沿用。只有信任底层应用可在不逐次批准时继续写入,才应记住允许。新对话会再次要求确认;刷新同一对话后,后续轮次也会重新要求确认。
以上内容是否对您有帮助:

TRAE-AI编程


更多建议: