前言
Claude Code 是 Anthropic 公司开发的 AI 编程工具,它在终端运行,能理解整个项目架构,通过自然语言指令进行代码生成、Bug 修复、Git 操作和自动化开发流程,显著提升开发效率。它支持 macOS、Ubuntu 和 Windows (WSL),并提供按量付费或包月订阅模式。
本文将使用 Claude Code 来增强 qweather-mcp-go 项目,qweather-mcp-go 是一个 mcp 工具,可以方便的查询天气情况等数据。本文将一步步使用 Claude Code 来为 qweather-mcp-go 添加 Streamable HTTP 的支持。
开始
开始编写代码之前,介绍一下使用的工具及环境:
- 开发工具: zed
- mcp: context7 、 server-sequential-thinking
- AI 编程工具: claude code
- 模型: claude-sonnet-4
qweather-mcp-go 当前只支持 stdio 和 sse 协议,我们来为它添加 streamable http 的支持。
初始化项目
打开终端,输入 /init
初始化项目,会在项目中生成 CLAUDE.md 文件,用于 Claude Code 能够快速理解项目。
实现
在 Claude Code 中输入以下内容:
请按照以下步骤实现 Streamable HTTP 支持:
1. 首先阅读 GitHub issue:https://github.com/overstarry/qweather-mcp-go/issues/4,理解具体的需求和期望的功能
2. 使用 context7 工具获取 github.com/mark3labs/mcp-go 库中与 Streamable HTTP 相关的 API 文档,重点关注:
- 流式 HTTP 请求和响应的接口定义
- 相关的结构体、方法和配置选项
- 使用示例和最佳实践
3. 基于获取的文档信息,分析当前 qweather-mcp-go 项目的代码结构,确定需要修改的文件和组件
4. 提出一个详细的实现方案,包括:
- 需要实现的具体功能点
- 代码架构设计
- 主要的实现步骤
- 可能遇到的技术挑战和解决方案
5. 在开始编码前,先展示完整的实现计划供确认
输入后可以看到 Claude Code 会创建计划来一步步实现需求。
Claude Code 经过一系列调研后,会提供一个完善的实现方案:
确认实现方案后, Claude Code 会开始实现代码,实现过程中可以随时查看代码的实现情况,也可以随时停止实现。
在编写代码中出现 mcp-go 相关 Streamable HTTP代码出现问题,及时叫停,让 AI 重新通过 context7 获取正确的信息并重新实现: 使用context7 获取github.com/mark3labs/mcp-go相关文档
。
经过重新指导后,代码能够编译成功,编译成功后会进行测试格式化。
代码实现后会输出总结信息:
AI 编写完代码后,由我们审核代码后,进行测试,运行代码使用 Streamable HTTP 协议启动,在 chatwise 中配置相应 MCP后,聊天使用,可以看出可以顺利正常使用。
小结
Claude Code 能够很好的理解项目,通过自然语言指令进行代码生成、Bug 修复、Git 操作和自动化开发流程,显著提升开发效率。虽然 Claude Code 能够很好的理解项目,但是由于 Claude Code 会犯一些错误,例如代码实现错误,命名不规范等,需要我们进行 review 和测试,并且相较于 Cursor、Augment 的实现,Claude Code 是没有进行 代码的 RAG,完全使用常规的命令进行查找相关代码。