项目简介
Blaxel Python SDK 是一个用于连接您的 Agent 或外部工具与 Blaxel 平台的开发工具包。它不仅提供了与 Blaxel 平台交互的功能,还包含了用于构建和运行符合 Model Context Protocol (MCP) 标准的服务器的组件。通过这些组件,开发者可以轻松地创建自己的 AI 后端服务,托管自定义的工具和资源,并使其可以通过 MCP 协议被 LLM 客户端调用。
主要功能点
- MCP 服务器构建: 提供 'FastMCP' 等核心组件,简化 MCP 服务器的开发过程。
- 工具 (Tools) 托管: 允许注册和公开自定义的工具函数,供 Agent 调用执行特定任务。
- 资源 (Resources) 托管: 支持定义和管理可访问的数据资源,为 Agent 提供上下文信息。
- 多种传输协议支持: 内置 WebSocket 传输协议处理(代码示例主要展示了 WebSocket),符合 MCP 标准。
- 与 Blaxel 平台集成: 构建的 MCP 服务器可以方便地连接到 Blaxel 平台,利用其部署和管理能力。
安装步骤
- 安装 Python: 确保您的系统安装了 Python 3.10 或更高版本。
- 安装 Blaxel CLI: 按照 Blaxel 官方文档或 README 中的说明安装 Blaxel CLI 工具。这是与 Blaxel 平台交互和管理应用的前提。
curl -fsSL https://raw.githubusercontent.com/beamlit/toolkit/preview/install.sh | BINDIR=$HOME/.local/bin sh - 登录 Blaxel 平台: 使用 Blaxel CLI 登录您的 Blaxel 工作区。
bl login YOUR-WORKSPACE - 创建 MCP 服务器项目: 使用 Blaxel CLI 命令快速创建一个 MCP 服务器项目模板。
bl create-mcp-server my-mcp-server cd my-mcp-server - 安装 Python 依赖: 进入项目目录后,根据项目中的 'requirements.txt' 或 'pyproject.toml' 文件安装所需的 Python 依赖。通常包括 'blaxel' 本身及其依赖。
服务器配置 (供 MCP 客户端参考)
使用此 SDK 构建的 MCP 服务器通常会以独立进程运行,并通过特定的地址和协议(如 WebSocket)对外提供服务。一个 MCP 客户端需要知道如何启动这个服务器进程以及连接到它。
以下是一个示例配置格式,描述了如何为一个名为 "My Weather MCP server" 的服务启动一个基于 Python 脚本的 MCP 服务器,并使用 WebSocket 协议连接到 'localhost:8080':
{ "My Weather MCP server": { "command": "python", // 启动服务器进程的命令 "args": [ "my_mcp_server.py" // 启动服务器脚本的参数(假设脚本名为 my_mcp_server.py) ], "transport": "ws", // MCP 通信协议:WebSocket (ws), Stdio (stdio), SSE (sse) "address": "localhost:8080", // 服务器监听的地址和端口 "protocol": "ws" // 实际连接时使用的网络协议,与 transport 对应 } // ... 可能还有其他服务器配置项 ... }
请注意,实际的 'address' 和 'args' 可能根据您的项目结构和部署环境有所不同。
基本使用方法
- 定义工具和资源: 在您的 MCP 服务器代码(例如,在 'my_mcp_server.py' 文件中)中,使用 'blaxel.mcp.server.FastMCP' 类的装饰器来定义工具和资源。
from blaxel.mcp.server import FastMCP 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" @mcp.resource("greeting://{name}") def get_greeting(name: str) -> str: """Get a personalized greeting""" return f"Hello, {name}!" # 添加其他工具和资源定义 - 运行 MCP 服务器: 在主执行块中调用 'mcp.run()' 方法来启动服务器。选择适合您的传输协议(如 "ws")。
if __name__ == "__main__": # 根据环境选择传输协议,例如检查是否存在 Blaxel 提供的端口环境变量 import os if os.getenv("BL_SERVER_PORT"): mcp.run(transport="ws") else: mcp.run(transport="stdio") # 或其他适合本地开发的协议 - 通过 Blaxel CLI 运行: 在项目目录中执行 Blaxel CLI 命令来运行您的服务器(通常用于本地开发或部署)。
bl serve --hotreload - 部署到 Blaxel: 如果您想将 MCP 服务器部署到 Blaxel 平台,可以按照 Blaxel 文档中的部署流程进行。
使用此工具包,您可以专注于实现工具和资源的业务逻辑,而无需从头构建 MCP 协议的通信和会话管理层。
信息
分类
AI与计算