最近在给团队搭MCP服务器,把一些常用的Prompt固化成了模板,比如代码审查、周报生成这些。一开始就几个变量,用起来挺爽。但现在模板越写越复杂,一个模板里塞了七八个变量,还要做条件拼接。想问下各位,MCP在处理这些模板变量替换和组装的时候,是在客户端本地完成的还是要在服务器端跑?如果变量多了,比如上千字的长上下文里做动态替换,会不会明显增加首token延迟?我试了下在本地用Python模拟拼接,感觉还好,但不太确定实际走MCP协议传输时会不会有额外开销,有没有踩过坑的朋友说说?
最近在给团队搭MCP服务器,把一些常用的Prompt固化成了模板,比如代码审查、周报生成这些。一开始就几个变量,用起来挺爽。但现在模板越写越复杂,一个模板里塞了七八个变量,还要做条件拼接。想问下各位,MCP在处理这些模板变量替换和组装的时候,是在客户端本地完成的还是要在服务器端跑?如果变量多了,比如上千字的长上下文里做动态替换,会不会明显增加首token延迟?我试了下在本地用Python模拟拼接,感觉还好,但不太确定实际走MCP协议传输时会不会有额外开销,有没有踩过坑的朋友说说?
模板变量替换这块一般是在客户端拼好再发出去的,MCP服务器本身不负责渲染Prompt,所以变量多少对首token延迟影响不大。真正拖速度的是拼完之后上下文变长,token数上去了,模型prefill自然慢。我之前也担心协议开销,实测下来JSON-RPC那点序列化基本可以忽略,别把模板搞得太绕就行。