项目简介
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)。
安装步骤
- 安装 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',用于区分不同的租户或用户。
基本使用方法
- 部署服务器: 根据 'README.md' 指引将 FastMCP Multi-Tenancy Toolkit 部署到 Vercel 或本地环境。
- 配置 MCP 客户端: 在 MCP 客户端中配置上述提供的服务器配置信息,并根据实际部署地址修改 'url' 字段。
- 连接服务器: 启动 MCP 客户端,客户端将根据配置信息连接到 FastMCP Multi-Tenancy Toolkit 服务器。
- 使用 MCP 功能: 客户端连接成功后,即可使用 MCP 协议提供的标准功能,例如:
- 列出和调用服务器端注册的工具 (Tools)。
- 访问服务器端托管的资源 (Resources)。
- 获取和使用服务器端定义的 Prompt 模板 (Prompts)。
- 通过 SSE 协议与服务器进行实时双向通信。
信息
分类
开发者工具