Valence MCP 服务器端

使用说明

  • 项目简介

    • 这是一个面向 LLM 客户端的 MCP 服务器实现,核心职责包括托管和管理资源、注册与执行工具、定义与渲染 Prompt 模板,以及通过标准化的 JSON-RPC 协议与客户端通信。服务器设计为可扩展,支持多种传输协议,旨在为 LLM 应用提供可审计、可管理的上下文服务。
  • 主要功能点

    • 资源管理(Resources):提供对后端数据的集中访问与管理能力,方便 LLM 客户端读取、写入和检索上下文相关数据。
    • 工具注册与调用(Tools):注册外部功能,LLM 客户端可以通过一致的接口调用这些工具,以实现外部系统交互。
    • 提示模板(Prompts):定义和渲染可定制的提示模板,适配不同的交互模式和上下文需求。
    • JSON-RPC 通信:服务器接收 JSON-RPC 请求,返回标准化的 JSON-RPC 响应,便于客户端解析与处理。
    • 会话与能力声明:服务器端负责会话管理、能力声明以及可扩展的安全策略。
    • 多传输协议支持:内置或可扩展的传输层,支持 STDIO、Server-Sent Events(SSE)、WebSocket 等,提升与不同客户端的兼容性。
    • 安全与可扩展性:聚焦安全上下文提供、插件式扩展点,以及对大规模并发的支持。
  • 安装步骤

    • 先决条件:Python 3.11+,必要的数据库与依赖(参见仓库 README 的快速起步部分)。
    • 安装并初始化:
      • 使用包管理工具安装 Valence(如 pip install valence)。
      • 根据需要初始化数据库架构,确保上下文数据可以被持久化。
    • 启动 MCP 服务器(示例路径,具体请以实际部署为准):
      • 直接运行服务器模块,提供相应参数以开启 JSON-RPC 服务以及所需传输层。
    • 客户端对接与测试
      • 客户端通过给定的 JSON-RPC 接口向服务器发起请求,读取资源、执行工具、获取 Prompts 等。
  • 服务器配置(给 MCP 客户端的启动配置,JSON 格式,包含 server name、command、args 等)

    • server name: "valence-mcp-server"
    • command: ["python", "-m", "mcp.server"]
    • args: [ "--host", "0.0.0.0", "--port", "8420", "--transport", "stdio" ] 注释说明:
    • server name 指明 MCP 服务器在客户端侧识别的名称,便于统一管理。
    • command 指定启动服务器的命令路径,本实现中的主入口通常为 mcp.server 模块。
    • args 提供运行参数:绑定地址、端口以及默认传输协议。实际部署时可将传输协议切换为 SSE 或 WebSocket,以满足不同客户端的需求。
    • 说明:MCP 客户端仅需要启动参数即可连接服务端,无需包含数据库凭据等敏感信息;数据库与近端依赖在服务器端环境中配置(如环境变量)。
  • 基本使用方法(操作步骤)

      1. 启动 MCP 服务器进程
      1. 客户端通过 JSON-RPC 调用服务器的接口:
      • 读取资源(Resource)
      • 调用工具(Tool)
      • 获取并渲染 Prompt
      1. 服务器在会话中声明自身能力,并对外暴露数据访问、工具执行和模板渲染能力
      1. 根据应用场景,选择合适的传输协议(Stdio、SSE、WebSocket)进行通信
      1. 如需扩展,利用服务器端的插件点扩展新的资源、工具或模板

服务器信息