使用说明

项目简介

Blaxel Python SDK 是一个用于构建 Model Context Protocol (MCP) 服务器的开发工具包。MCP 服务器充当 LLM 客户端和后端资源之间的桥梁,提供标准化的接口来管理资源、工具和 Prompt 模板,从而增强 LLM 应用的功能和上下文感知能力。该 SDK 简化了 MCP 服务器的创建、部署和集成过程,特别是在 Blaxel 平台上。

主要功能点

  • 资源管理: 托管和管理各种数据资源,并提供标准化的数据访问接口。
  • 工具注册与执行: 允许注册和执行外部功能(Tools),使 LLM 能够调用外部服务和能力。
  • Prompt 模板: 支持定义和渲染 Prompt 模板,实现可定制的 LLM 交互模式。
  • JSON-RPC 通信: 通过 JSON-RPC 协议与 MCP 客户端进行通信,接收请求并返回响应。
  • 多种传输协议: 支持 Stdio 和 WebSocket 等多种传输协议,满足不同部署环境的需求。
  • Blaxel 平台集成: 无缝集成 Blaxel 平台,方便部署和管理 MCP 服务器。

安装步骤

  1. 安装 Python: 确保您的系统已安装 Python 3.10 或更高版本。
  2. 安装 Blaxel CLI: 按照 README 提供的命令安装 Blaxel CLI 工具:
    curl -fsSL https://raw.githubusercontent.com/beamlit/toolkit/preview/install.sh | BINDIR=$HOME/.local/bin sh
  3. Blaxel 平台登录: 使用 Blaxel CLI 登录您的 Blaxel 工作区:
    bl login YOUR-WORKSPACE

服务器配置

MCP 服务器作为后端服务,需要 MCP 客户端配置连接信息才能正常使用。以下是一个 MCP 客户端可能的服务器配置示例 (JSON 格式),用于连接通过 Blaxel Python SDK 创建的 MCP 服务器:

{
  "serverName": "my-mcp-server",
  "command": "bl",
  "args": ["serve", "--hotreload"]
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,可以自定义。
  • 'command': 启动 MCP 服务器的命令,这里使用 'bl' (Blaxel CLI)。
  • 'args': 启动命令的参数,'["serve", "--hotreload"]' 指示 Blaxel CLI 运行服务器并启用热重载,方便开发调试。

注意: 实际的客户端配置可能需要根据具体的 MCP 客户端应用进行调整。上述配置假设 MCP 服务器是通过 Blaxel CLI 在本地环境中启动和运行的。

基本使用方法

  1. 创建 MCP 服务器项目: 使用 Blaxel CLI 创建一个新的 MCP 服务器项目:

    bl create-mcp-server my-mcp-server
    cd my-mcp-server
  2. 定义工具和资源: 在 'my-mcp-server' 目录下的 Python 代码中,使用 'blaxel.mcp.server.FastMCP' 定义您的工具 (Tools) 和资源 (Resources)。例如,修改 'my_mcp_server/main.py' 文件,添加工具和资源函数,并使用 '@mcp.tool()' 和 '@mcp.resource()' 装饰器进行标记。

    from blaxel.mcp.server import FastMCP
    import os
    
    mcp = FastMCP("My Weather MCP server")
    
    @mcp.tool()
    def weather(city: str) -> str:
        """Get the weather for a city"""
        return f"The weather in {city} is sunny"
    
    if __name__ == "__main__":
        if os.getenv("BL_SERVER_PORT"):
          mcp.run(transport="ws") # 使用 WebSocket 传输 (部署环境)
        else:
          mcp.run(transport="stdio") # 使用 Stdio 传输 (本地开发)
  3. 运行 MCP 服务器: 使用 Blaxel CLI 启动 MCP 服务器:

    bl serve --hotreload

    或者,如果您直接运行 Python 脚本:

    python main.py

    服务器默认使用 Stdio 传输协议。如果需要在部署环境中使用 WebSocket 协议,请设置环境变量 'BL_SERVER_PORT'。

  4. 在 MCP 客户端中使用: 在您的 MCP 客户端应用中,配置连接到刚刚启动的 MCP 服务器。客户端将能够通过 MCP 协议调用您在服务器中定义的工具和访问资源。

通过以上步骤,您可以快速搭建一个基于 Blaxel Python SDK 的 MCP 服务器,为您的 LLM 应用提供强大的上下文和功能支持。

信息

分类

开发者工具