MCP SERVER KB

MCP SERVER KB

🚀 OpenAI 与 MCP 集成

本项目旨在展示如何将 Model Context Protocol (MCP) 与 OpenAI 的 API 集成,打造一个让 OpenAI 能访问并运用您 MCP 服务器所提供工具的系统,为智能问答场景提供强大支持。

🚀 快速开始

示例运行步骤

  1. 构建 MCP 服务器镜像
    docker build -t mcp-server .
    
  2. 启动 MCP 服务器容器
    docker run -p 8000:8000 mcp-server
    
  3. 安装依赖项并设置环境变量
    pip install openai
    export OPENAI_API_KEY="your_api_key"
    
  4. 运行示例代码
    python client.py
    

✨ 主要特性

  • 智能工具调用:允许 OpenAI 在响应用户查询时动态选择和使用 MCP 服务器提供的工具。
  • 标准化集成:MCP 提供统一接口,实现不同来源数据的无缝集成。
  • 安全灵活:通过身份验证和授权机制保障数据安全,同时支持多种数据格式和协议。

📦 安装指南

服务器

# 使用 Docker 构建并运行 MCP 服务器镜像
docker build -t mcp-server .
docker run -p 8000:8000 mcp-server

客户端

# 示例代码:使用 OpenAI 的 Python 库调用 MCP 服务器
from openai import Client

client = Client("your_api_key")

response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "user", "content": "我们的度假政策是什么?"}
],
tools=[{
"type": "function",
"function": {
"name": "retrieve_policy_document",
"parameters": {"policy_type": "vacation"},
"description": "从知识库中检索指定的政策文档。"
}
}]
)

知识库文件

{
"policies": [
{
"id": "1",
"type": "vacation",
"content": "全职员工每年享有20天带薪假期。\n服务满6个月后方可使用。\n未使用的假期可保留至第二年,但最多不超过5天。\n请假需提前两周通过HR系统提交。"
},
{
"id": "2",
"type": "remote_work",
"content": "公司采用混合办公模式。\n员工每周最多可以远程办公3天。\n远程办公需经团队协调并获得直接主管批准。\n所有远程办公均需具备稳定的网络连接和专用工作空间。"
}
]
}

💻 使用示例

基础用法

按照上述“示例运行步骤”操作,即可启动系统并进行基本的问答查询。

高级用法

可根据实际需求修改知识库文件中的内容,或调整客户端代码中的工具参数,以实现更复杂的工具调用和查询功能。

📚 详细文档

概述

本示例详细说明了以下内容:

  1. 创建一个暴露知识库工具的 MCP 服务器。
  2. 将 OpenAI 连接到此 MCP 服务器。
  3. 允许 OpenAI 在响应用户查询时动态使用工具。

通信方法

本示例使用 sse 传输 进行客户端和服务器之间的通信,这意味着客户端和服务器在不同进程中运行。

数据流说明

  1. 用户查询:用户向系统发送查询(例如,“我们公司的度假政策是什么?”)。
  2. OpenAI API:OpenAI 收到查询和 MCP 服务器提供的可用工具。
  3. 工具选择:OpenAI 根据查询决定使用哪些工具。
  4. MCP 客户端:客户端收到 OpenAI 的工具调用请求并将其转发给 MCP 服务器。
  5. MCP 服务器:服务器执行请求的工具(例如,检索知识库数据)。
  6. 响应流程:工具结果通过 MCP 客户端返回到 OpenAI。
  7. 最终响应:OpenAI 根据结果生成并输出用户查询的回答。

如何 OpenAI 执行工具

  • 工具注册:OpenAI 将工具注册为函数调用格式,使其能够被 API 调用。
  • 工具选择:根据查询内容和上下文,OpenAI 选择最合适的工具。
  • 工具执行:OpenAI 调用所选工具并处理返回的结果。

MCP 的角色

  • 标准化:MCP 提供统一接口,使不同来源的数据能够无缝集成。
  • 抽象:MCP 隐藏数据源的复杂性,提供简洁易用的工具接口。
  • 安全性:通过身份验证和授权机制确保数据访问的安全性。
  • 灵活性:支持多种数据格式和协议,适应不同的应用场景。

🔧 技术细节

本项目通过 MCP 协议实现了 OpenAI 与自定义知识库的集成。MCP 服务器作为工具提供者,将知识库中的数据以标准化的接口暴露给 OpenAI。OpenAI 在接收到用户查询后,根据查询内容和上下文动态选择合适的工具进行调用。客户端负责转发 OpenAI 的工具调用请求和接收工具执行结果。整个系统通过 sse 传输进行通信,确保了数据的实时性和高效性。

📄 输出结果

{
"id": "chatcmpl-abcdefgh",
"message": {
"role": "assistant",
"content": "我们公司的度假政策如下:

- 全职员工每年享有20天带薪假期。
- 服务满6个月后方可使用。
- 未使用的假期可保留至第二年,但最多不超过5天。
- 请假需提前两周通过HR系统提交。"
}
}

这个集成示例展示了如何利用 MCP 和 OpenAI 的强大功能来构建智能问答系统,使用户能够轻松获取所需信息。

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-19 12:36

相似服务问题