mcpField
O
OpenAI Integration with MCP

OpenAI Integration with MCP

本地服务
github.com/Robinson777-progAI 与智能体080 周前更新

关于 OpenAI Integration with MCP

一个示例集成,让 OpenAI 调用 MCP 服务中的工具,面向构建工具调用应用的开发者。它演示知识库查询和 stdio 通信,并说明客户端与服务分离时可使用 SSE。

主要功能

  1. 01提供知识库查询工具
  2. 02将 MCP 工具转换为 OpenAI 函数
  3. 03转发工具调用及结果
  4. 04演示 stdio 通信

适用场景

  1. 01基于公司政策问答处理查询
  2. 02构建可调用 MCP 工具的 OpenAI 应用
  3. 03了解通过 stdio 传递工具调用

MCP 相关

示例服务提供 `get_knowledge_base`,客户端连接服务并向 OpenAI 转发工具及结果。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

使用 MCP 与 OpenAI 集成

本节演示如何将模型上下文协议(MCP)与 OpenAI 的 API 集成,创建一个系统,让 OpenAI 能够访问和使用 MCP 服务提供的工具。

概述

本示例展示如何:

  1. 创建一个提供知识库工具的 MCP 服务
  2. 将 OpenAI 连接到此 MCP 服务
  3. 让 OpenAI 在回答用户查询时动态使用这些工具

连接方式

本示例使用 stdio 传输 在客户端和服务端之间通信,这意味着:

  • 客户端和服务端在同一进程中运行
  • 客户端直接将服务端作为子进程启动
  • 无需单独的服务端进程

如果你想将客户端和服务端拆分为独立应用(例如,在另一台机器上运行服务端),则需要改用 SSE(服务器发送事件)传输。有关如何设置 SSE 连接的详情,请参阅简单服务端设置一节。

数据流说明
  1. 用户查询:用户向系统发送查询(例如,“我们公司的休假政策是什么?”)
  2. OpenAI API:OpenAI 接收查询以及 MCP 服务提供的可用工具
  3. 工具选择:OpenAI 根据查询决定使用哪些工具
  4. MCP 客户端:客户端接收 OpenAI 的工具调用请求,并将其转发给 MCP 服务
  5. MCP 服务:服务端执行请求的工具(例如,检索知识库数据)
  6. 响应流:工具结果经由 MCP 客户端返回给 OpenAI
  7. 最终响应:OpenAI 将工具数据整合到最终响应中

OpenAI 如何执行工具

OpenAI 的函数调用机制通过以下步骤使用 MCP 工具:

  1. 工具注册:MCP 客户端将 MCP 工具转换为 OpenAI 的函数格式
  2. 工具选择:OpenAI 根据用户查询决定使用哪些工具
  3. 工具执行:MCP 客户端执行选定的工具并返回结果
  4. 上下文整合:OpenAI 将工具结果整合到响应中

MCP 的作用

MCP 充当 AI 模型与后端系统之间的标准化桥梁:

  • 标准化:MCP 为 AI 模型与工具交互提供一致的接口
  • 抽象化:MCP 隐藏后端系统的复杂性
  • 安全性:MCP 允许你精确控制向 AI 模型公开哪些工具和数据
  • 灵活性:你可以更改后端实现,而无需更改 AI 集成

实现详情

服务端(server.py)

MCP 服务提供一个 get_knowledge_base 工具,用于从 JSON 文件中检索问答对。

客户端(client.py)

客户端:

  1. 连接到 MCP 服务
  2. 将 MCP 工具转换为 OpenAI 的函数格式
  3. 处理 OpenAI 与 MCP 服务之间的通信
  4. 处理工具结果并生成最终响应
知识库(data/kb.json)

包含有关公司政策的问答对,可通过 MCP 服务查询。

运行示例

  1. 确保已安装所需依赖项
  2. 在 .env 文件中设置 OpenAI API 密钥
  3. 运行客户端:python client.py

注意:本示例使用 stdio 传输,因此无需单独运行服务端,客户端会自动启动它。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。