简单的FastMCP AZD模板
最基本的FastMCP应用程序作为AZD模板,可用于Azure应用服务
此模板演示了 可组合MCP服务器架构 它允许您将多个MCP服务器连接到单个主服务器,从而便于组织和扩展MCP功能。
架构:多个MCP服务器
主服务器位于 src/app.py 作为a 网关 其可以导入和托管多个专用MCP服务器。这种架构提供了几个好处:
- 模块化:每个MCP服务器都可以在
src/servers/目录 - 命名空间:每个导入的服务器都有一个前缀,以避免工具/资源命名冲突
- 可扩展性:添加新的MCP服务器,而不修改现有服务器
- 组织:按领域对相关工具和资源进行逻辑分组(例如,天气、数据库、通知)
运作原理
这 src/app.py 该文件创建了一个主FastMCP服务器并使用 import_server() 要连接子服务器,请执行以下操作:
mcp = FastMCP(name="generic-mcp")
async def setup():
# Import the weather server with 'weather' prefix
await mcp.import_server(server=weather_mcp, prefix="weather")
# Add more servers here as needed:
# await mcp.import_server(server=database_mcp, prefix="database")
# await mcp.import_server(server=notification_mcp, prefix="notification")每个子服务器(如 src/servers/weather.py)是一个完整的FastMCP实例,具有自己的工具和资源。导入时,所有工具都会自动使用提供的前缀进行命名空间。
添加更多MCP服务器
要添加新的MCP服务器,请执行以下操作:
- 在中创建新文件
src/servers/(例如。,database.py) - 使用工具和资源定义您的FastMCP服务器
- 导入
src/app.py并将其添加到setup()函数 - 使用部署
azd deploy
用法
- 克隆仓库并安装AZD
- 登录到您的Azure帐户。
azd auth login注意:如果使用政府云,您需要在登录前配置azd以使用该云
azd config set cloud.name AzureUSGovernment
azd auth login- 运行以下命令以构建应用程序的可部署副本,将模板的基础架构配置到Azure,并将应用程序代码部署到新配置的资源。
azd up注意:第一次运行会提示您 Enter a unique environment name: 这将用作将创建的用于保存所有Azure资源的资源组的前缀。此名称在您的Azure订阅中应该是唯一的。此命令将提示您输入以下信息:
Azure Location:部署资源的Azure位置。Azure Subscription:部署资源的Azure订阅。
注意:这可能需要一段时间才能完成,因为它执行三个命令:azd package(构建应用程序的可部署副本),azd provision(提供Azure资源),以及azd deploy(部署应用程序代码)。在打包、配置和部署应用程序时,您将看到一个进度指示器。
- 然后更改app.py并运行
azd deploy再次更新您的更改。
访问免费应用服务层
随着模板的出现,它被设置为一个基本计划(请参见 定价 指南),但如果你想免费开始,你可以在运行前轻松更新模板 azd up 利用免费计划或折扣开发者计划。
转到 /基础设施/资源 文件和更新行58,其中SKU当前设置为 “B1”。将此更改为 “F1” 在 免费方案 (或 “D1” 为了 开发商折扣价 如果您有超过10个要同时部署)。
备注
这使用F1(免费)SKU for app服务,它的CPU和RAM资源有限。
看 定价计算器 有关付费SKU的详细信息,请用合适的选项替换SKU选项。
