使用说明

项目简介

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 配置文件进行服务器和工具行为的配置。
  • 本地工具注册: 支持本地预注册工具,并可在服务器启动时自动加载。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/fblgit/bhanus.git
    cd bhanus
  2. 安装依赖:

    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'。

基本使用方法

  1. 连接服务器: MCP 客户端需要配置上述 JSON 格式的服务器信息,并使用 MCP 客户端库连接到 'http://127.0.0.1:6000'。

  2. 列出工具: 客户端可以发送 'list_tools' 的 JSON-RPC 请求到服务器,获取当前注册的所有工具列表。

  3. 调用工具: 客户端可以使用工具的名称和参数,发送 JSON-RPC 请求(方法名为工具名称)来调用已注册的工具。需要携带 'consent: true' 参数以表示用户授权。

  4. 动态注册工具: 客户端可以通过发送 'register_tool' 的 JSON-RPC 请求,动态注册新的工具到 MCP 服务器。工具可以是代码型或 Agent 型。

  5. Prompt 交互: 服务器支持使用 Prompt 模板与 LLM 进行交互,客户端可以根据需要选择和使用不同的 Prompt 模板。

详细使用方法和 API 文档 请参考项目仓库中的代码和注释,以及 MCP 协议的官方文档。

信息

分类

AI与计算