项目简介

FastMCP Multi-Tenancy Toolkit 是一个基于 Model Context Protocol (MCP) 的服务器端实现,它扩展了 FastMCP 服务器,使其能够在 Vercel serverless 环境中以多租户模式运行。该工具包旨在为构建在 Vercel 上的 LLM 应用提供可扩展、持久化的上下文服务。

主要功能点

  • Serverless 部署: 轻松部署到 Vercel 平台,利用其 fluid compute 模式实现高效运行。
  • 多租户支持: 允许多个用户或实体连接到同一服务器实例,实现资源隔离和共享。
  • 会话持久化: 使用 Redis 数据库存储会话状态,即使在 serverless 环境中也能保持用户会话的连续性。
  • API 兼容性: 与标准的 FastMCP 服务器 API 保持兼容,方便现有 FastMCP 应用迁移。
  • 实时通信: 通过 Vercel 兼容的 Server-Sent Events (SSE) 实现与客户端的实时双向通信。
  • 资源、工具和 Prompt 管理: 支持 MCP 定义的核心功能,包括托管和管理资源 (Resources)、注册和执行工具 (Tools)、以及定义和渲染 Prompt 模板 (Prompts)。

安装步骤

  1. 安装 Python SDK:
    pip install mcp-python-sdk

服务器配置

MCP 客户端需要配置服务器连接信息才能与 FastMCP Multi-Tenancy Toolkit 服务器通信。以下是一个本地开发环境的服务器配置示例,用于指导 MCP 客户端如何连接到本地运行的 FastMCP Multi-Tenancy Toolkit 服务器。

{
  "serverName": "Local Dev FastMCP Multi-Tenancy",
  "command": "python",
  "args": [
    "-m",
    "src.fastmcp_multi_tenancy.example"
  ],
  "description": "本地 FastMCP Multi-Tenancy Toolkit 服务器,用于开发和测试。",
  "capabilities": {
    "tools": true,
    "resources": true,
    "prompts": true
  },
  "transports": [
    {
      "type": "sse",
      "url": "http://localhost:8000/{entity_id}/sse",
      "description": "SSE 传输协议,用于实时通信。",
      "usage": "推荐用于需要实时交互的LLM应用。"
    }
  ]
}

配置参数说明:

  • 'serverName': 服务器的名称,可以自定义。
  • 'command': 启动服务器的命令,这里使用 'python' 命令。
  • 'args': 启动命令的参数,指定运行 'src.fastmcp_multi_tenancy.example' 模块,即运行示例服务器。
  • 'description': 服务器的描述信息,可以自定义。
  • 'capabilities': 声明服务器支持的功能,包括工具、资源和 Prompt。
  • 'transports': 配置服务器支持的传输协议。
    • 'type': 传输协议类型,这里是 'sse' (Server-Sent Events)。
    • 'url': SSE 连接的 URL,'{entity_id}' 是占位符,客户端连接时需要替换为实际的实体 ID。
    • 'description': 传输协议的描述信息。
    • 'usage': 传输协议的适用场景说明。

注意:

  • Redis 配置: FastMCP Multi-Tenancy Toolkit 依赖 Redis 数据库进行会话管理。您需要在 Vercel 项目或本地环境中配置 'REDIS_URL' 环境变量,指向您的 Redis 实例。
  • Vercel 部署: 对于 Vercel 部署,请参考仓库 'README.md' 中的部署说明,并确保在 Vercel 项目设置中启用 fluid compute 模式。
  • 实体 ID (entity_id): 由于是多租户服务器,客户端连接时需要在 URL 中指定 'entity_id',用于区分不同的租户或用户。

基本使用方法

  1. 部署服务器: 根据 'README.md' 指引将 FastMCP Multi-Tenancy Toolkit 部署到 Vercel 或本地环境。
  2. 配置 MCP 客户端: 在 MCP 客户端中配置上述提供的服务器配置信息,并根据实际部署地址修改 'url' 字段。
  3. 连接服务器: 启动 MCP 客户端,客户端将根据配置信息连接到 FastMCP Multi-Tenancy Toolkit 服务器。
  4. 使用 MCP 功能: 客户端连接成功后,即可使用 MCP 协议提供的标准功能,例如:
    • 列出和调用服务器端注册的工具 (Tools)。
    • 访问服务器端托管的资源 (Resources)。
    • 获取和使用服务器端定义的 Prompt 模板 (Prompts)。
    • 通过 SSE 协议与服务器进行实时双向通信。

信息

分类

开发者工具