<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel>
  <title>Teng Li · ML Engineer</title>
  <link>https://tengli.dev</link>
  <description>Teng Li — ML Engineer</description>
  <item>
    <title>My eval said a perfect MCP server was broken. It was the eval that was lying.</title>
    <link>https://tengli.dev/posts/calibrating-mcp-evals.html</link>
    <guid>https://tengli.dev/posts/calibrating-mcp-evals.html</guid>
    <pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate>
    <description>Three rounds of calibration, four real servers, $0.60 in API costs — how I made an LLM-powered tool-selection benchmark fair enough to publish, and what it revealed about static lint rules predicting live model behavior.</description>
  </item>
  <item>
    <title>I lint-scanned 36 popular MCP servers. A third of them are failing your agent.</title>
    <link>https://tengli.dev/posts/mcp-servers-failing-agents.html</link>
    <guid>https://tengli.dev/posts/mcp-servers-failing-agents.html</guid>
    <pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate>
    <description>Your MCP server can be 100% spec-compliant and still be unusable by an agent. I built mcpgrade to measure the difference — then pointed it at 36 popular servers.</description>
  </item>
  <item>
    <title>Designing tools LLMs can actually use: five failure modes I keep seeing</title>
    <link>https://tengli.dev/posts/tool-design-for-llms.html</link>
    <guid>https://tengli.dev/posts/tool-design-for-llms.html</guid>
    <pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate>
    <description>Your tool API can be perfectly engineered and still confuse every model that touches it. Field notes on why, from someone who integrates agent tools for a living.</description>
  </item>
  <item>
    <title>Why this blog exists</title>
    <link>https://tengli.dev/posts/hello-world.html</link>
    <guid>https://tengli.dev/posts/hello-world.html</guid>
    <pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate>
    <description>Production AI agents fail in ways that never show up in demos. Someone should write those down.</description>
  </item>
</channel></rss>