关于 zio-llm-proxy
zio-llm-proxy 通过函数调用将 OpenAI 聊天模型连接到配置的本地 MCP 服务,面向需要 PII 检查和敏感信息共享控制的用户。检测到敏感信息时,用户可选择允许或拒绝发送给模型。
主要功能
- 01通过函数调用连接 OpenAI 模型
- 02配置多个本地 MCP 服务
- 03用正则表达式检查 PII
- 04由用户决定是否共享敏感信息
适用场景
- 01在聊天中调用文件系统 MCP 服务
- 02检查 MCP 返回数据中的敏感信息
MCP 相关
它将 OpenAI 聊天模型连接到配置的本地 MCP 服务,并通过函数调用向模型提供可用工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
项目说明
该代理通过 Function Calling 实现 OpenAI 聊天模型与本地 MCP 服务的集成,并支持自定义 PII 检查,以验证敏感数据
本地运行
默认示例适用于 filesystem MCP 服务,并要求预先将其安装为 docker 镜像。
不过,可以通过修改 data/McpConfig.conf 文件配置任意数量的其他 MCP 服务
- 在 docker compose 文件的
OPEN_AI_API_KEY变量中设置你的 OpenAI API 密钥 - 在 docker compose 文件的
SHARED_DIRECTORY_ABSOLUTE_PATH变量中设置要与模型共享的文件夹的绝对路径 - 运行 docker compose up
- 打开 http://localhost:4173/ 并开始与模型聊天
MCP 代理 MVP 规范
- 支持 OpenAI 模型进行 MCP 调用
- 对提供给大模型的数据执行 PII 检查
- 在与大模型共享敏感信息前征求用户许可
- 无身份验证机制
- 无指标
- 无严格 SLA
先决条件
- 支持工具调用的 OpenAI 聊天模型。
权衡
- 该应用是有状态的,使用内存中的持久化层:
- 如果发生崩溃或重启,用户的工作流将丢失
- 该应用无法水平扩展
- 支持的 MCP 服务通过配置指定,并存储在内存中。
- 添加新的 MCP 服务需要重启。
- PII 检测仅支持 EN 语言
- 如果发现敏感数据,不会将其提供给用户直接验证。
用户只会知道该数据是敏感数据,并可选择授予或拒绝大模型访问权限 - 如果从 MCP 服务检索的数据超出上下文窗口,该应用将向用户返回错误并停止对话
成功路径的完整时序图
sequenceDiagram
autonumber
participant User
participant Proxy
participant LLM
participant MCP
participant PII
User ->> Proxy : Send Message to LLM
Proxy ->> LLM : Send user message + tool list
LLM ->> Proxy : Send request to use tools
Proxy ->> MCP : Call needed tools
MCP ->> Proxy : Return results
Proxy ->> PII: Test data
PII ->> Proxy: Send test results
Proxy ->> User: Ask to share data
User ->> Proxy: Give access
Proxy ->> LLM : send message with tool results
LLM ->> Proxy : send final response
Proxy ->> User: send final response
如果用户不想共享敏感信息,整个对话将停止:
sequenceDiagram
autonumber
participant User
participant Proxy
participant LLM
participant MCP
participant PII
Proxy ->> PII: Test data
PII ->> Proxy: Send test results
Proxy ->> User: Ask to share data
User ->> Proxy: Do not give access
Proxy ->> User: Send acknowledge
MCP 注入
- 将通过 Function Calling 向模型提供可用 MCP 服务的信息
- 交互将使用 官方 Java SDK 中支持的 Tools 功能
- 与 MCP 服务通信将使用 官方 MCP Java SDK
PII 模块
- PII 检查将基于正则表达式实现,并封装起来以便日后扩展
- PII 模块仅验证数据是否敏感,不会屏蔽或移除请求中的数据
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。