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

相关推荐
柒和远方18 小时前
从等待到流式:LLM 流式输出的原理、协议与工程实践
javascript·llm
AI小白Lin18 小时前
我和一个德国程序员互不知道对方,却写出了完全一样的AI架构 🤯
架构·llm
ckjoker19 小时前
让AI给AI当法官:手敲LLM-as-a-Judge评估系统,25次调用跑出最弱维度
llm·agent·测试
To_OC1 天前
手搓一个迷你版 Cursor:从零实现能自动写代码的编程 Agent
人工智能·langchain·llm
hboot1 天前
AI工程师第五课 - 大语言模型基础
python·llm·fastapi
冬奇Lab1 天前
MCP 系列(05):Resources 和 Prompts 进阶——动态数据、参数化 URI 与多轮模板
人工智能·llm·mcp
KaneLogger1 天前
防止 AI Agent 误删文件,最简单的办法就是加一个 Hook
llm·agent·trae
先吃饱再说1 天前
组合多个远程 MCP Server:让 Agent 同时调用高德地图、Chrome DevTools 和文件系统
langchain·llm·mcp
码流怪侠1 天前
StreamingBench:首个流式视频理解基准——多模态大模型离人类实时感知还有多远?
llm·github·音视频开发
先吃饱再说1 天前
跨进程调用工具:MCP + LangChain 让 Agent 不再“锁死”在单一语言
langchain·llm·mcp