使用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消耗的有点多啊?)

相关推荐
冬奇Lab8 小时前
RAG 系列(五):Embedding 模型——语义理解的核心
人工智能·llm·aigc
SkySeraph21 小时前
SkillNexus:开源 Skills 全生命周期创造平台
llm·agent·skill·skillnexus
wj3055853781 天前
Ollama Cloud 与直接使用 API 的对比
llm·llama
无糖可乐没有灵魂1 天前
AI Agent结构图例和工作流程描述
ai·llm·prompt·agent·mcp·skills
冬奇Lab1 天前
RAG 系列(四):文档处理——从原始文件到高质量 Chunk
人工智能·llm·源码
Clark112 天前
十年 C++ 后端 GAP 六个月,写了一个近 3 万行的LLM-TFFInfer推理框架项目解析(三)-模型加载
llm
Cosolar2 天前
封神级 TTS!VoxCPM2 凭连续表征,玩转多语言合成 + 创意音色 + 无损声纹克隆
人工智能·llm·github
岛雨QA2 天前
🎉Token自由-Ollama部署本地大模型超详细操作指南
人工智能·llm·ollama
SkySeraph2 天前
大模型套餐深度分析:国内外主流平台全景对比
llm
稚枭天卓2 天前
大模型评测网站合集
llm