CI checks for MCP tool descriptions against implementation behavior
Teams shipping MCP servers should treat tool descriptions as executable contracts and check them in CI when a tool changes. The check can extract the tool name, schema, natural-language description, entry function, local helper calls, and sensitive API calls, then flag omitted behavior, overclaimed capability, state mutation, resource use, or data leakage for human review.
The case is concrete because the measured failure rate is no longer hypothetical. DCIChecker found description-code inconsistency in 9.93% of 19,200 tool pairs across 2,214 real MCP servers. These inconsistencies can mislead tool selection because the LLM plans from exposed descriptions and usually cannot inspect implementation code at call time.
A practical first deployment is a CI job on changed MCP tools, with stricter review for filesystem, network, auth, analytics, and state-changing tools. The output should include the descriptor text, the code path that caused the flag, and the inconsistency subtype so maintainers can fix the description or the implementation before an agent can call it.