# 什么是MCP Server 部署
智能体运行时支持两种部署对象：Agent和MCP Server。Agent 部署是将一个智能体应用打包为镜像部署到运行时，通过HTTP接口接收用户消息并返回回复。而MCP Server部署是运行时的第二种部署模式，用于将自定义工具服务托管到云端，供其他Agent调用。
本文介绍MCP Server部署模式的概念、适用场景，以及与Agent 部署的区别。
#### MCP协议简介
MCP（Model Context Protocol）是由Anthropic提出并开源的协议标准，用于标准化大型语言模型（LLM）应用与外部工具、数据源之间的通信方式。它定义了一套统一的JSON-RPC 2.0消息格式，让AI客户端（如 Claude Desktop、Cursor、Claude Code 等）能够发现、调用外部工具，而无需关心底层实现细节。
在AgentArts运行时中，MCP Server部署采用Streamable HTTP传输方式，核心特性包括：
- **单端点**：同一个URL（如 /mcp）处理所有通信，简化路由和负载均衡配置。
- **POST请求**：客户端向服务器发送JSON-RPC请求消息。
- **GET请求（可选）**：客户端建立SSE流，用于接收服务器主动推送的消息（如日志、资源变更通知）。
- **内容协商**：客户端发送Accept: application/json，text/event-stream，服务器根据场景选择返回同步JSON或SSE流。
- **会话管理**：通过Mcp-Session-Id头部实现有状态会话，支持断线重连和消息重传。
- **无状态模式**：对于简单的工具调用场景，可以直接返回application/json，无需维护SSE连接，更适合Serverless和水平扩展。
![](https://support.huaweicloud.com/highcode-agentarts/public_sys-resources/note_3.0-zh-cn.png)
关于MCP协议在运行时中的完整规范（传输方式、会话管理、镜像要求、路径要求），请参考[MCP](https://support.huaweicloud.com/highcode-agentarts/agentarts_10_069.html)。
#### Agent部署与MCP Server部署说明
智能体运行时支持将以下两种对象打包为镜像并部署：
- Agent：一个完整的智能体应用，接收用户输入，自主推理并调用模型和工具，返回对话回复。
- MCP Server：一个工具服务，不自主推理，而是提供一组可被调用的工具能力（如计算、查询、文件操作等），等待Agent来发现和调用。
**Agent部署与MCP Server部署**
| 维度   | Agent 部署                       | MCP Server 部署      |
|:---|:---|:---|
| 入站协议  | HTTP                          | MCP               |
| 角色  | 接收用户输入，自主推理调用                   | 提供工具能力，被 Agent 调用  |
| 谁调用它 | 应用系统/用户                        | Agent              |
| 对外暴露 | 对话接口（/invocations）              | 工具接口（/mcp）        |
| 典型代码 | 基于 LangChain/LangGraph 的对话 Agent | 基于 FastMCP 的工具集服务 |
| 调用方式 | 发送消息，获取回复                     | 发现工具 → 调用工具 → 获取结果  |
| 端口  | 默认 8080                       | 默认 8000           |
   
**使用场景对比**
- Agent部署：需要一个完整的对话型智能体，用户发送消息后Agent自主推理、调用模型和工具，返回最终回复。
- MCP Server部署：已经有一个Agent，需要为它提供一组自定义工具能力，这些工具的逻辑由你自己开发并托管到云端。
 
