<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Protocol Design on ByF (BaiFan) · Daily Deep Think</title><link>https://blog.baifan.site/en/tags/protocol-design/</link><description>Recent content in Protocol Design on ByF (BaiFan) · Daily Deep Think</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>blog@baifan.site (ByF (BaiFan))</managingEditor><webMaster>blog@baifan.site (ByF (BaiFan))</webMaster><copyright>CC BY-NC 4.0</copyright><lastBuildDate>Fri, 12 Jun 2026 09:00:00 +0800</lastBuildDate><atom:link href="https://blog.baifan.site/en/tags/protocol-design/index.xml" rel="self" type="application/rss+xml"/><item><title>The MCP Protocol: USB-C for AI Tool Interconnection</title><link>https://blog.baifan.site/en/claude-code-mcp-protocol/</link><pubDate>Fri, 12 Jun 2026 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/claude-code-mcp-protocol/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;Before MCP, every AI tool integration was a &lt;strong&gt;custom build&lt;/strong&gt;. Want ChatGPT to reach a database? Write a plugin. Want Claude to call the GitHub API? Write a Function Calling definition. Want Copilot to access your internal systems? Write a Custom Tool.&lt;/p&gt;&#10;&lt;p&gt;Every time, the same thing: define an interface, write adapter code, handle auth, manage errors. The wheel, reinvented countless times.&lt;/p&gt;&#10;&lt;p&gt;The problem MCP (Model Context Protocol) solves is simple: &lt;strong&gt;give AI agents a standard protocol for connecting tools.&lt;/strong&gt; Just as USB-C gave electronic devices a universal connector, MCP gives AI agents a universal tool interface.&lt;/p&gt;</description></item><item><title>AI API Suffixes: What They Mean and Why They Exist</title><link>https://blog.baifan.site/en/ai-api-suffixes-explained/</link><pubDate>Tue, 14 Apr 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ai-api-suffixes-explained/</guid><description>&lt;p&gt;We often see URLs like these:&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;span class="lnt"&gt;2&#10;&lt;/span&gt;&lt;span class="lnt"&gt;3&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-plaintext" data-lang="plaintext"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/v1/chat/completions&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/v1/messages&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/v1/responses&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;These suffixes are not decoration — they define a complete request and response data structure. Pick the wrong one and your code either errors out or silently loses data.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;p&gt;This article starts at &lt;code&gt;/v1/completions&lt;/code&gt; and works its way to &lt;code&gt;/v1/responses&lt;/code&gt;, explaining what each suffix stands for, why it was designed that way, and where the common pitfalls are.&lt;/p&gt;</description></item></channel></rss>