I have been trying to develop an agentic AI system with a local MCP server. I am using llama-cpp
with the LFM 2.5 2.6B model—this LLM is only 1.7 GB and is very fast. However I found the model used a parameter in one of the tool calls correctly about 0% of the time.
Other models, including Gemma 4, used the parameter correctly nearly 100% of the time. So I tried to figure out what the problem was. I determined that parameters in the JSON schema need to have a detailed description—describing the params in the tool call descriptions was not enough.
Here are my discoveries:
• With descriptions on the parameters specifically, tool calling was correct nearly 100% of the time in LFM 2.5 2.6B.
• It is best not to be shy about explaining how to use a parameter—a 6-line explanation is perfectly fine, and will help smaller models understand better.
It is kind of boring to write a 6-line paragraph about a tool call parameter, but it seems to really help smaller models. I went from 0% compliance on a parameter to 100% compliance—and this means I can use a small 1.7 GB model which even runs fast without a GPU for my MCP server.