使用说明
项目简介
Bhanus 是一个基于 Model Context Protocol (MCP) 构建的应用后端,它集成了 vLLM 推理引擎,旨在为大型语言模型(LLM)客户端提供高效、可扩展的上下文服务。该项目实现了 MCP 服务器的核心功能,包括资源管理、工具注册与执行、Prompt 模板渲染等,并通过 JSON-RPC 协议与客户端通信,支持多种传输协议,为 LLM 应用构建安全、可定制的上下文服务框架。
主要功能点
- MCP 服务器实现: 完整实现了 MCP 协议,提供资源、工具和 Prompt 模板的管理能力。
- 工具注册与执行: 支持动态注册和执行代码型和 Agent 型工具,扩展 LLM 的功能边界。
- Prompt 模板: 使用 Jinja2 模板引擎,支持灵活定制 Prompt,优化 LLM 交互。
- vLLM 集成: 与 vLLM 高效推理引擎集成,加速 Agent 工具的执行和响应。
- JSON-RPC 通信: 通过标准的 JSON-RPC 协议与客户端进行通信。
- 灵活配置: 通过 YAML 配置文件进行服务器和工具行为的配置。
- 本地工具注册: 支持本地预注册工具,并可在服务器启动时自动加载。
安装步骤
-
克隆仓库:
git clone https://github.com/fblgit/bhanus.git cd bhanus -
安装依赖:
pip install -r requirements.txt
服务器配置
MCP 服务器需要通过配置文件 'config/config.yaml' 进行设置。以下是一个 MCP 客户端连接 Bhanus 服务器所需的最小配置信息示例(JSON 格式):
{ "server_name": "bhanus_server", "command": "python", "args": [ "-m", "src.mcp_server.mcp_server" ], "host": "127.0.0.1", "port": 6000 }
参数注释:
- 'server_name': MCP 服务器的名称,客户端用于标识连接。
- 'command': 启动 MCP 服务器的命令,这里使用 'python' 解释器。
- 'args': 启动命令的参数列表,'-m src.mcp_server.mcp_server' 指示运行 'src/mcp_server/mcp_server.py' 文件作为模块。
- 'host': MCP 服务器监听的主机地址,默认为 '127.0.0.1' (本地环回地址)。
- 'port': MCP 服务器监听的端口号,默认为 '6000'。
启动服务器:
在项目根目录下,运行以下命令启动 MCP 服务器:
python src/main.py
服务器默认监听 'http://127.0.0.1:6000'。
基本使用方法
-
连接服务器: MCP 客户端需要配置上述 JSON 格式的服务器信息,并使用 MCP 客户端库连接到 'http://127.0.0.1:6000'。
-
列出工具: 客户端可以发送 'list_tools' 的 JSON-RPC 请求到服务器,获取当前注册的所有工具列表。
-
调用工具: 客户端可以使用工具的名称和参数,发送 JSON-RPC 请求(方法名为工具名称)来调用已注册的工具。需要携带 'consent: true' 参数以表示用户授权。
-
动态注册工具: 客户端可以通过发送 'register_tool' 的 JSON-RPC 请求,动态注册新的工具到 MCP 服务器。工具可以是代码型或 Agent 型。
-
Prompt 交互: 服务器支持使用 Prompt 模板与 LLM 进行交互,客户端可以根据需要选择和使用不同的 Prompt 模板。
详细使用方法和 API 文档 请参考项目仓库中的代码和注释,以及 MCP 协议的官方文档。
信息
分类
AI与计算