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

相关推荐
有梦想的攻城狮1 天前
大语言模型与多模态模型比较
人工智能·语言模型·自然语言处理·llm·大语言模型
幸福回头1 天前
ms-swift 代码推理数据集
llm·swift
亚里随笔1 天前
AlphaEvolve:LLM驱动的算法进化革命与科学发现新范式
人工智能·算法·llm·大语言模型
水煮蛋不加蛋3 天前
RAG 赋能客服机器人:多轮对话与精准回复
人工智能·ai·机器人·大模型·llm·rag
zstar-_4 天前
FreeTex v0.2.0:功能升级/支持Mac
人工智能·python·macos·llm
江小皮不皮4 天前
为何选择MCP?自建流程与Anthropic MCP的对比分析
人工智能·llm·nlp·aigc·sse·mcp·fastmcp
q_q王4 天前
‌FunASR‌阿里开源的语音识别工具
python·大模型·llm·语音识别
pedestrian_h4 天前
Spring AI 开发本地deepseek对话快速上手笔记
java·spring boot·笔记·llm·ollama·deepseek
浪淘沙jkp4 天前
AI大模型学习二十、利用Dify+deepseekR1 使用知识库搭建初中英语学习智能客服机器人
人工智能·llm·embedding·agent·知识库·dify·deepseek
HuggingFace5 天前
大模型评估排障指南 | 关于可复现性
大模型·llm