使用说明

项目简介

CereBro Server 是一个使用 .NET 开发的 MCP 服务器实现,它允许开发者注册和托管各种工具,并通过 MCP 协议与支持 MCP 协议的 LLM 客户端进行交互。该项目基于官方的 C# MCP SDK 构建,旨在为 LLM 应用提供标准化的上下文服务框架。

主要功能点

  • 工具注册与执行: 支持注册和执行外部工具,扩展 LLM 的能力,例如获取天气、日期、地理位置等。
  • 标准 MCP 协议: 完全遵循 Model Context Protocol 协议,确保与任何兼容 MCP 协议的客户端互操作。
  • Stdio 传输协议: 使用标准输入输出 (stdio) 作为默认的传输协议,简化部署和集成。
  • 示例工具: 内置了日期、天气和位置查询等示例工具,方便用户快速上手和测试。
  • 易于扩展: 采用模块化设计,方便开发者添加自定义工具和功能。

安装步骤

  1. 安装 .NET SDK: 确保您的开发环境中安装了 .NET SDK。您可以从 官方网站 下载并安装。
  2. 克隆仓库: 将 CereBro 仓库克隆到本地:
    git clone https://github.com/rob1997/CereBro
  3. 导航到服务器目录: 进入 'src/CereBro.Server' 目录:
    cd CereBro/src/CereBro.Server
  4. 构建项目: 使用 .NET CLI 构建项目:
    dotnet build
  5. 运行服务器: 构建成功后,运行服务器:
    dotnet run
    服务器默认使用 Stdio 传输协议,启动后即可等待 MCP 客户端连接。

服务器配置

MCP 服务器是为 MCP 客户端提供服务的后端应用。MCP 客户端需要配置服务器的启动命令才能与之建立连接。以下是连接 CereBro MCP 服务器的 'servers.json' 配置文件示例,客户端需要根据此配置启动并连接 CereBro MCP 服务器:

[
  {
    "Id": "cerebro-server",
    "Name": "CereBro Server",
    "TransportType": "stdio",
    "TransportOptions": {
      "command": "dotnet",
      "arguments": "run --project src/CereBro.Server/"
    }
  }
]

配置参数说明:

  • 'Id': 服务器的唯一标识符,客户端使用此 ID 来引用服务器。例如,客户端在需要与 CereBro Server 交互时,会使用 "cerebro-server" 这个 ID。
  • 'Name': 服务器的名称,用于在客户端界面上显示和管理服务器连接。
  • 'TransportType': 指定 MCP 客户端与服务器之间通信的传输协议类型,这里设置为 'stdio',表示使用标准输入输出进行通信。
  • 'TransportOptions': 传输协议的具体配置选项。对于 'stdio' 协议,需要配置 'command' 和 'arguments' 来指定如何启动 MCP 服务器进程。
    • 'command': 启动服务器进程的命令,这里设置为 'dotnet',表示使用 .NET CLI。
    • 'arguments': 传递给 'dotnet' 命令的参数,'run --project src/CereBro.Server/' 指示 .NET CLI 运行 'src/CereBro.Server/' 目录下的 .NET 项目,即启动 CereBro MCP 服务器。

注意: 请确保 MCP 客户端能够正确执行 'dotnet run --project src/CereBro.Server/' 命令,这通常意味着客户端需要在与 CereBro Server 项目根目录相同的或可访问的路径下执行。

基本使用方法

  1. 启动 CereBro Server: 按照上述安装步骤启动 CereBro Server。
  2. 配置 MCP 客户端: 在您的 MCP 客户端应用中,配置 'servers.json' 文件,添加上述 CereBro Server 的配置信息。
  3. 连接服务器: 启动您的 MCP 客户端应用,客户端将根据 'servers.json' 的配置自动连接到 CereBro Server。
  4. 调用工具: 在 LLM 客户端中,您可以指示 LLM 调用 CereBro Server 提供的工具,例如 'getLocation', 'getWeather', 'getDate' 等。服务器将执行相应的工具并返回结果给客户端。

信息

分类

AI与计算