MCP与http、websocket的关系

MCP在网络协议上和http是什么关系? 为什么MCP服务器的服务可以使用Nginx代理?

MCP 与 HTTP 的关系及 Nginx 代理原理

MCP 与 HTTP 的关系

MCP(Model Context Protocol)在网络协议上与 HTTP 既有区别又有联系:

1. 协议层级关系

MCP 不是替代 HTTP 的协议,而是在其之上构建的专门协议:

text

应用层: MCP协议 ← 这是专门为AI交互设计的协议
传输层: WebSocket/SSE/HTTP ← 这些是MCP可以使用的传输机制
网络层: TCP/IP

2. MCP 可以使用多种传输机制

MCP 设计为协议无关,可以通过多种方式传输:

  • WebSocket (最常用)

  • Server-Sent Events (SSE)

  • 标准输入/输出 (本地开发)

  • 自定义传输层

3. 与 HTTP 的关系

  • MCP 消息通常通过 HTTP 升级的 WebSocket 连接传输

  • MCP 可以使用 HTTP 进行初始握手和认证

  • MCP 定义了自己的消息格式和语义,独立于传输层

为什么 MCP 服务器可以使用 Nginx 代理

Nginx 可以代理 MCP 服务的原因在于:

1. WebSocket 代理支持

Nginx 从 1.3.13 版本开始支持 WebSocket 代理,这正是 MCP 常用的传输方式:

nginx

# Nginx WebSocket 代理配置
server {
    listen 443 ssl;
    server_name mcp.example.com;
    
    location /mcp/ {
        proxy_pass http://localhost:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;
        
        # 保持连接活跃
        proxy_read_timeout 1d;
        proxy_send_timeout 1d;
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值