使用Wireshark抓包看看MCP背后的请求链路

前言

上回作者浅浅尝试了一口本地MCP服务的搭建,并成功运用在AI IDE中,详情在AI assistant本地部署Continue.dev + Ollama + MCP Server。 那么此次好奇这个提供了数据库query工具的MCP服务背后,究竟是用怎样的prompt与LLM交互呢?

动手

Wireshark抓包本地Ollama流量

  1. 打开Wireshark,选择关注本地Loopback:lo0

  2. 过滤Ollama服务端口 Ollama的默认服务端口是11434,可以在Terminal中检查状态:

bash 复制代码
# Linux/macOS
lsof -i :11434

# Windows
netstat -ano | findstr 11434

在Wireshark中过滤http and tcp.port == 11434

  1. 再次使用AI IDE,发起与AI agent的对话

  2. 停止抓包,保存capture,分析

  3. 重组数据流 a. 右键点击任意一个 HTTP 数据包(如 POST /api/chat)。 b. 选择 Follow > HTTP Stream。

  4. 分析请求体和返回体 这里我们会看到,Ollama的返回中采用了SSE的流式返回,会有多个json片段。这里可以将这些json片段保存至文件中,再通过jq快速提取:

bash 复制代码
cat sse_response.txt | jq -r '.message.content // empty' | tr -d '\n'

总结

分析MCP的tool_call请求体,可以帮助理解MCP背后的运行原理。(但这玩意儿是不是Token消耗的有点多啊?)

相关推荐
Shannon@32 分钟前
(下)通用智能体与机器人Transformer:Gato和RT-1技术解析及与LLM Transformer的异同
深度学习·机器人·llm·transformer·具身智能·gato·rt-1
智泊AI1 小时前
AI大模型Agent是不是就是各种Prompt的堆叠?
llm
Gowi_fly2 小时前
从 PPO、DPO 到 GRPO:大语言模型策略优化算法解析
llm·强化学习
Baihai_IDP4 小时前
AI 智能体到底应该如何构建?分享 Github 上收获 4k stars 的 12 条原则
人工智能·后端·llm
聚客AI1 天前
Masked LM革命:解析BERT如何用15%掩码率颠覆NLP预训练
人工智能·llm·掘金·日新计划
土豆12501 天前
MCP图片处理工具完整教程 - 动态发现与Cursor集成
llm·cursor·mcp
DeepSeek忠实粉丝1 天前
微调篇--超长文本微调训练
人工智能·程序员·llm
AI大模型1 天前
构建可调用外部工具的AI助手:LangChain函数调用与API集成详解
程序员·langchain·llm
虎鲸不是鱼1 天前
Spring Boot3流式访问Dify聊天助手接口
java·spring boot·后端·大模型·llm
同志们1 天前
一文弄懂用Go实现MCP服务:从STDIO到Streamable HTTP的完整实现
后端·llm