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

相关推荐
魔术师Grace7 小时前
Agent总出错,什么时候才该训练模型?
llm·agent·强化学习
Flynt12 小时前
上周我在OpenRouter上用了个匿名模型,结果账单告诉我它是国产的
llm·ai编程·chatglm (智谱)
@atweiwei15 小时前
用 Rust 构建 Agent 应用的高性能框架:langchainrust 架构全景
人工智能·架构·rust·langchain·llm·agent·ai编程
武子康15 小时前
看不见的 Reasoning State,为什么不能拥有看得见的工具权限
人工智能·llm·agent
DigitalOcean16 小时前
实测:25 万条数据只花 7.04 美元,LLM 批量推理到底有多省?
llm·agent
leeyi18 小时前
Agent 怎么测试:mock LLM + 状态机表驱动,不调真模型的测试策略(第96篇-E82)
llm·aigc·agent
殷紫川19 小时前
长程任务 Agent 为什么总半途而废?PLAN-AND-ACT 用"先规划后动手"给出 SOTA 答案
llm·agent·ai编程
jump_jump21 小时前
我让本地 Qwen3.8 27B 搭了一个内网穿透服务
人工智能·llm·ai编程
武子康1 天前
Claude 已经给文本加水印了吗?真正缺的不是声明,而是逐模型状态
人工智能·llm·agent
缘友一世1 天前
Qwen3.8-Flash-Next(Qwen4架构预览模型)
架构·llm·lrm·qwen4