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 客户端仅需要启动参数即可连接服务端,无需包含数据库凭据等敏感信息;数据库与近端依赖在服务器端环境中配置(如环境变量)。
-
基本使用方法(操作步骤)
-
- 启动 MCP 服务器进程
-
- 客户端通过 JSON-RPC 调用服务器的接口:
- 读取资源(Resource)
- 调用工具(Tool)
- 获取并渲染 Prompt
-
- 服务器在会话中声明自身能力,并对外暴露数据访问、工具执行和模板渲染能力
-
- 根据应用场景,选择合适的传输协议(Stdio、SSE、WebSocket)进行通信
-
- 如需扩展,利用服务器端的插件点扩展新的资源、工具或模板
-