项目简介
该项目是一个完整的模型上下文协议(MCP)服务器实现,旨在帮助开发者在 Azure Container Apps 上快速部署一个 MCP 服务器。它提供了一个基础的工具(如口号生成),并支持通过 Azure Developer CLI (azd) 进行一键部署,同时集成了日志、监控和安全功能。
主要功能点
- 上下文服务: 作为大型语言模型(LLM)客户端的后端,以标准化方式提供上下文信息和功能。
- 工具托管: 能够注册并执行自定义工具,允许 LLM 调用外部功能。本项目包含一个简单的“口号生成”工具示例。
- 标准化协议: 通过 JSON-RPC 协议与客户端通信,支持多种传输协议(如 Server-Sent Events)。
- Azure 快速部署: 利用 Azure Developer CLI (azd) 实现自动化资源配置、容器化和部署到 Azure Container Apps。
- 可观测性: 集成 Azure Monitor 和 Application Insights,提供全面的日志、指标和性能监控。
- 安全特性: 包含托管身份、基于角色的访问控制和 HTTPS-only 端点。
- 可扩展性: 易于添加新的 MCP 工具,并提供了与 Azure API Management 和 Azure API Center 集成的企业级扩展方案。
安装步骤
- 准备环境: 确保您的开发环境中已安装 Visual Studio Code、Python 3.11+、Docker 和 Azure Developer CLI。
- 登录 Azure: 在终端中运行 'azd auth login' 命令,完成 Azure 身份验证。
- 部署解决方案: 克隆本 GitHub 仓库到您的本地计算机后,进入仓库的根目录,在终端中运行 'azd up'。系统将提示您输入一个唯一的环境名称和选择一个 Azure 区域。
- 'azd' 将自动完成 Azure 资源的预配、Python MCP 服务器的构建、容器化以及最终部署到 Azure Container Apps。部署完成后,您将获得服务器的公共访问 URL。
服务器配置
MCP 服务器是给 MCP 客户端(如 Visual Studio Code 中的 GitHub Copilot)使用的。对于通过 HTTP/HTTPS 协议连接的 MCP 服务器,您主要需要提供服务器的访问 URL 和一个标识名称。
- 服务器名称 (server name): 为您的 MCP 服务器设置一个易于识别的名称,例如“我的Azure MCP服务器”。
- 服务器 URL (serverUrl): 这是您的 MCP 服务器在 Azure Container Apps 上部署后获得的公共访问地址。例如:'https://your-app-url.azurecontainerapps.io/mcp'。这是客户端与服务器通信的关键信息。
- 协议类型 (protocol type): 根据客户端和服务器的支持,选择 HTTP 或 Server-Sent Events (SSE)。本项目实现的服务器使用 'streamable-http' 传输,通常可以按 HTTP/SSE 协议进行配置。
- 启动命令及参数 (command & args): 对于大多数通过网络(HTTP/HTTPS)连接的 MCP 客户端而言,通常不需要直接配置服务器的启动命令和参数,因为客户端是连接到一个已经运行的服务。这些参数主要用于客户端直接启动本地 MCP 服务器进程(例如使用 Stdio 传输协议)的场景。此项目主要面向 Azure 部署,因此客户端通常只需提供上述 'serverUrl' 即可。
基本使用方法
- 测试部署: 部署完成后,'azd up' 命令会输出您的 Azure Container App 端点 URL。在终端中运行 'curl https://your-app-url.azurecontainerapps.io/mcp'。如果看到 '{"jsonrpc":"2.0","error":{"code":-32000,"message":"Not Acceptable: Client must accept text/event-stream"}}' 这样的响应,说明您的 MCP 服务器已成功运行并正在等待正确的客户端请求。
- 在 Visual Studio Code 中使用:
- 打开 VS Code,按下 'Ctrl+Shift+P' (Windows/Linux) 或 'Cmd+Shift+P' (Mac)。
- 输入 'MCP' 并选择 'MCP: Add Server...'。
- 选择 'HTTP (HTTP or Server-Sent Events)'。
- 输入您的 MCP 服务器 URL (例如 'https://your-app-url.azurecontainerapps.io/mcp')。
- 给服务器命名 (例如 'my-test-mcp-server')。
- 保存配置。现在 GitHub Copilot 可以通过该服务器获取上下文和调用工具。
- 在 Microsoft Copilot Studio 中使用: 按照 MCP 连接器设置指南 进行配置,使用您部署的 Azure Container App URL 作为主机,并创建使用口号生成工具的智能体。
信息
分类
AI与计算