开一篇文章总结一下过去一年在使用AI进行coding的经验和心得。
在二五年一二月之前,deepseek未爆发时期,大多还是使用chatgpt以及通过
MCP
MCP(Model Context Protocol)定义了应用程序和 AI 模型之间交换上下文信息的方式。这使得开发者能够以一致的方式将各种数据源、工具和功能连接到 AI 模型,就像 USB-C 让不同设备能够通过相同的接口连接一样。MCP 的目标是创建一个通用标准,使 AI 应用程序的开发和集成变得更加简单和统一。
MCP 是 Prompt engineer 的产物,更结构化上下文信息对模型的提升是显著的。所以生态库提供者一般提供现成场景,可以让AI可以直接使用。而且 MCP 不限定于特定的AI模型,支持 MCP 的模型都可以灵活切换。
- 以前:每个 AI 应用要接每个工具,都要单独写一套“私有对接”(N×M 集成地狱)。
- 现在:工具方提供 MCP Server;AI 应用做 MCP Client;大家都按 Spec 说话,就能互通。
以前你想让 AI “读本地文件 + 查数据库 + 调 GitHub + 自动化浏览器”,基本等于要为每个 AI 客户端做一套插件/SDK 对接,维护成本高、迁移成本高。
MCP 用统一协议把这件事标准化:服务提供方实现 MCP Server;AI 应用实现 MCP Client;按协议交互即可。
角色
- Host(宿主应用):你实际在用的产品,比如 Claude Desktop、IDE。Host 管理体验、权限、多个连接。
- Client(客户端):Host 里创建的连接实例;通常“一个 Server 对应一个 Client 连接”。
- Server(服务端):提供能力的一段程序(本地或远程),暴露 Tools/Resources/Prompts。
三个核心原语(Primitives)
- Tools:可执行函数(例如“读文件”“发请求”“查库”)。
- Resources:可读取的上下文数据(文件内容、记录、API 响应等)。
- Prompts:可复用提示模板(对话结构/系统提示/示例)。
传输(Transport)
- 本地常用:stdio(Host 启一个子进程,通过标准输入输出通信)
- 远程常用:Streamable HTTP(可选 SSE)(HTTP POST + 可选事件流),并支持常见鉴权方式(Bearer token / API key / 自定义 header),官方也推荐 OAuth 获取 token。
Spec
Spec 就是 MCP 的“协议说明书”:规定双方如何握手、怎么发消息、有哪些能力、如何暴露工具、如何传输等。MCP 的数据层基于 JSON‑RPC 2.0,并定义了生命周期管理、能力协商、以及 3 个核心原语(Primitives):Tools / Resources / Prompts。
官方文章:**什么是技能** 、**如何在 Claude 中使用** 及 如何创建自定义技能 更全面的一篇:**Agent Skills - Claude Code Docs**
可以通过在 Claude Code 中运行以下命令,将 GitHub 存储库注册为 Claude Code 插件市场