mcp折腾记录
先总结一下吧。。mcp本身实际上是一种很愚蠢的实现方式,消耗巨量token的同时,又没办法保证所需功能的切实实现,本质上还是和llm这样一个黑箱情况有关,人们只能依靠提示词去碰运气靠大模型可以理解对
贴一下自己写的mcp调用wrk进行压测的工具
一边看代码一边理一下MCP的概念
1 |
|
首先就是Server,也就是提供mcp服务的客户端,进行相应配置
1 |
|
然后就是mcp的核心——工具
这里是重中之重,需要恰当的词汇去描述这个工具的用途,以及各个参数的意义
1 |
|
这里就是实际工具的执行逻辑
本质就是获取参数,然后放到cmdArgs数组里,最后调用cmd命令去执行即可
像wrk就比较简单,-t -c -d都可以直接从关键词里获取,直接request.Params.Arguments即可
可wrk也有-s执行lua脚本的复杂逻辑,这部分就容易让大模型过载,比如如果要测试POST,PUT或者DELETE,正常情况下需要复杂的路由,复杂的逻辑,复杂的鉴权加密,token等各种情况,就需要添加复杂的逻辑实现
我现在编写也只能执行简单的POST接口测试,还没办法做到根据接口文档进行复杂测试
不过mcp可以看出,其实本质就是让大模型去读自己编写的工具,理解之后调用function call功能,把参数传进去
本质上没有任何改进的地方,就是做了一个规范约定而已
mcp折腾记录
http://example.com/2025/04/22/mcp折腾记录/