这篇适合谁,读完能做到什么
只在自己电脑上跑的 MCP 服务器,别人和别的环境都用不了。部署之后,它的工具和资源才能被本机以外的地方访问。读完这篇,你能分清本地运行和远程部署,照着示例把服务器部署到 Azure Container Apps,并知道示例里的 /sse 属于较旧的传输方式[1]。
先看传输方式:SSE 已是旧方式
配置示例里用 /sse 端点的,对应的是旧的 HTTP+SSE 传输方式。MCP 2026-07-28 版本的远程服务器使用 Streamable HTTP,通常挂在服务器自己定义的端点上,例如 /mcp[1]。如果你要新做远程服务器,应按这个版本选择传输方式,/sse 的示例只当旧资料看[1]。
本地运行
如果服务器运行在用户自己的机器上,先把服务器下载到本机(如果不是你写的),再启动服务器进程[1]。只有 SSE 类型的服务器才需要配置网络:确认服务器在预期端口上可以访问,客户端用 http://localhost:3000 这类本地地址连接[1]。stdio 类型的服务器不需要这一步[1]。
云上部署有哪些方式
MCP 服务器可以部署到几类云平台[1]:
- Serverless 函数:适合轻量的服务器。
- 容器服务:例如 Azure Container Apps、AWS ECS 或 Google Cloud Run。
- Kubernetes:在集群里运行和管理,获得高可用。
示例:部署到 Azure Container Apps
Azure Container Apps 支持部署 MCP 服务器,但这一支持仍在完善中,目前只支持 SSE 类型的服务器[1]。示例仓库见[2]。
第一步:克隆示例
git clone https://github.com/anthonychu/azure-container-apps-mcp-sample.git第二步:先在本地跑一遍
用 uv venv 创建环境,用 uv sync 安装依赖。然后设置环境变量 API_KEYS:Linux 和 macOS 用 export,Windows 用 set。最后用 FastAPI 的开发模式启动[1]:
uv venv
uv sync
# linux/macOS
export API_KEYS=<AN_API_KEY>
# windows
set API_KEYS=<AN_API_KEY>
uv run fastapi dev main.py第三步:在 VS Code 里连接
在 .vscode 目录下新建 mcp.json,内容如下[1]:
{
"inputs": [
{
"type": "promptString",
"id": "weather-api-key",
"description": "Weather API Key",
"password": true
}
],
"servers": {
"weather-sse": {
"type": "sse",
"url": "http://localhost:8000/sse",
"headers": {
"x-api-key": "${input:weather-api-key}"
}
}
}
}这里的 API key 通过名为 weather-api-key 的密码输入项获取,文件里用 ${input:weather-api-key} 引用,并不直接写明文。SSE 服务启动后,点击 JSON 文件里的播放图标,GitHub Copilot 就能看到服务器上的工具,界面上会出现工具图标[1]。
第四步:部署
运行下面的命令[1]:
az containerapp up -g <RESOURCE_GROUP_NAME> -n weather-mcp --environment mcp -l westus --env-vars API_KEYS=<AN_API_KEY> --source .命令里 -g 是资源组,-n 是应用名,--environment 是环境,-l 是地区,--env-vars 传入环境变量。--source . 表示从当前目录部署[1]。
建议的顺序
先在本机跑通:用 uv run fastapi dev main.py 启动,再用 VS Code 连接,确认工具能被列出,然后才执行 az containerapp up 部署。这样一旦出错,你能分清问题出在代码还是云端配置[1]。
限制和常见问题
- 示例只支持 SSE 服务器,所以它的端点和配置都是旧传输方式的写法[1]。
- 命令里的地区
westus、资源组和 API key 都是占位值,要换成你自己的[1]。 - 本地的
API_KEYS用export或set设置,部署时要通过--env-vars传给云端,两处都得配置[1]。 mcp.json里的地址是localhost,只能让本机的 VS Code 连上。别人要连接,地址要换成部署后的可访问地址[1]。- 微软技术社区有一篇文章专门讲在 Azure Container Apps 上托管远程 MCP 服务器[3]。
下一步
同一系列的下一个主题是高级服务器话题[1]。示例仓库和 Azure 文章的地址见前面的脚注[2][3]。
本文改编自 Microsoft 开源课程 mcp-for-beginners 的部署一课[1],原文以 MIT 许可证发布。
来源
- 1Deploying MCP ServersMicrosoft mcp-for-beginners (MIT)
- 2Azure Container Apps MCP sampleazure-container-apps-mcp-sample (GitHub)
- 3Azure Container Apps articleMicrosoft Tech Community
引用本页: MCP 服务器上线部署. TellWorld, https://www.tellworld.net/zh/practice/practice-mcp-deployment. 更新于 2026-11-14