Sift MCP Gateway

使用说明

  • 项目简介
    • Sift 提供一个可扩展的 MCP 服务器框架,用于把来自 LLM 的上下文需求转化为对资源、工具和提示模板的统一访问与管理。它通过标准的 JSON-RPC 进行通信,并实现对话会话、能力声明、以及对外部工具和数据的安全、可审计访问。
  • 主要功能点
    • 资源管理:托管与查询数据资源,支持分页、检索与安全红action。
    • 工具注册与执行:将外部工具对接到 MCP 服务,LLM 客户端可请求调用并获取结果。
    • Prompt 模板:定义和渲染用于与 LLM 交互的提示模板,支持可定制的交互模式。
    • 数据与输出管理: articfact-based 存储输出,支持 inline 全部数据或引用的分页引用(schema_ref),并在输出前进行 secret redaction。
    • 会话与权限:会话管理、能力声明,以及对传输协议的选择与安全约束。
    • 多传输支持:包括 stdio、SSE、WebSocket 等通信形式,以适应不同部署场景。
  • 安装步骤
    • 需要的运行环境为 Python 3.11+。
    • 通过包管理工具安装对接组件,例如 pipx 安装 sift-gateway,后续可通过命令初始化和启动 MCP 客户端/服务端。
    • 运行前请确保有一个 MCP 客户端配置,可以使用示例配置将服务器启动命令及参数提供给客户端。
  • 服务器配置示例(MCP 客户端使用的配置 JSON,不是服务器端源码)
    • 说明:以下示例展示 MCP 客户端如何配置可以连接的 MCP 服务器。实际部署时,请把 server 名称、启动命令和参数替换为你的环境信息。
    • JSON 示例(仅供参考,具体字段按你的环境调整): { "servers": { "claude": { "command": "sift-gateway", "args": ["serve", "--data-dir", "/path/to/claude-data"] }, "local_tools": { "command": "sift-gateway", "args": ["serve", "--data-dir", "/path/to/local-tools-data", "--transport", "stdio"] } } }
    • 说明:上述配置中包含 server 名称、启动命令(command)以及需要传给命令的参数数组(args)。MCP 客户端将使用这些信息来启动 MCP 服务器,建立与 MCP 服务器的 JSON-RPC 连接。
  • 基本使用方法
    • 启动 MCP 服务器端(示例)后,MCP 客户端通过 JSON-RPC 请求向服务器读取资源、调用工具、获取 Prompts 等上下文信息。
    • 在集成中,LLM 客户端可以通过“读取资源、调用工具、获取 Prompt”等请求来获取所需上下文和功能。
    • 系统应提供会话管理、能力声明、以及对输出的安全性处理(如 outbound secret redaction)。

服务器信息