Vellaveto MCP 服务器端实现

  • 项目简介
    • Vellaveto MCP 服务器是一个完整的 MCP 后端实现,提供对 MCP 请求的处理、策略评估、审计与元数据管理等核心能力。它把资源、工具、提示等上下文信息以标准化的方式暴露给 LLM 客户端,通过 JSON-RPC 与客户端通信,并支持多种传输模式,确保在复杂的对话与工具调用场景下的安全、可控执行。
  • 主要功能点
    • MCP 核心能力:处理 MCP 的 JSON-RPC 请求与响应,支持 evaluate_action、add_policy、list_policies、remove_policy 等方法,以及对工具调用、资源读取等上下文操作的策略控制。
    • 策略与合规:内置策略引擎、ABAC/策略评估、工具信任与版本管控、以及面向 EU AI Act、SOC 2、NIST 等的合规性支援与审计机制。
    • 审计与可观测性: tamper-evident 日志、签名检查、审计导出、监控指标等,确保操作可追溯、可验证。
    • 资源与工具管理:托管工具定义、资源读取、工具签名与验证(ETDI)、版本针探、 rug-pull/工具名记忆等安全特性。
    • 传输与部署:支持 HTTP API、Stdio 代理、HTTP 代理、WebSocket 代理等多传输模式,便于在不同部署场景中接入 MCP 客户端。
  • 安装步骤
    • 安装前提:需要 Rust 编译环境。
    • 构建与运行
      • 使用 rust 编译器构建 Release 版本,生成 vellaveto-server、vellaveto-http-proxy 等可执行文件。
      • 准备策略配置文件 policy.toml(包含策略、资源、工具、权限等定义),可参考仓库中的示例与文档。
      • 启动服务器(示例命令):vellaveto serve --config policy.toml --port 3000 --bind 0.0.0.0
    • 配置与部署
      • 按需部署不同传输模式的代理(如 stdio、HTTP 反向代理、WebSocket 代理等),以对接不同的 MCP 客户端与工具服务端。
      • 若使用 Kubernetes/Docker,请参考仓库提供的部署文档与 Helm 包。
  • 服务器配置(给 MCP 客户端的配置示例,JSON 格式) { "server_name": "vellaveto-mcp-server", "command": "vellaveto", "args": [ "serve", "--config", "/etc/vellaveto/policy.toml", "--port", "3000", "--bind", "0.0.0.0" ], "notes": "在实际环境中,将 policy.toml 路径替换为你配置策略的实际路径,必要时通过容器/环境变量注入策略配置。MCP 客户端通过该启动命令及参数与 MCP 服务器建立连接。" }
  • 基本使用方法
    • 启动后,客户端与 MCP 服务器通过 JSON-RPC 进行通信。客户端发送请求(如 evaluate_action、add_policy 等),服务器返回 JSON-RPC 风格的响应,或错误信息。
    • 客户端示例操作(简要流程,便于上手):
        1. 将策略配置加载到服务器,使用 add_policy 将策略写入服务器。
        1. 通过 evaluate_action 提交工具调用的上下文行动请求,服务器返回允许或拒绝的 verdict,以及必要的审计信息。
        1. 如需读取资源、调用工具、或获取 Prompt/模板,可以通过 MCP 协议的相应方法获取上下文数据或执行能力。
        1. 使用服务器自带的审计与合规接口查看审计日志、合规报告与告警信息。
    • 注意事项
      • MCP 客户端需要提供启动命令与参数,以便与服务器建立连接(上述 JSON 示例给出准确字段含义)。
      • 服务器支持多传输通道,生产环境通常以 HTTP API / 反向代理形式对外暴露,并可通过 stdio 等方式接入本地 MCP 服务器。

服务器信息