前言

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 会创建计划来一步步实现需求。 alt text

Claude Code 经过一系列调研后,会提供一个完善的实现方案: alt text alt text

确认实现方案后, Claude Code 会开始实现代码,实现过程中可以随时查看代码的实现情况,也可以随时停止实现。

在编写代码中出现 mcp-go 相关 Streamable HTTP代码出现问题,及时叫停,让 AI 重新通过 context7 获取正确的信息并重新实现: 使用context7 获取github.com/mark3labs/mcp-go相关文档

经过重新指导后,代码能够编译成功,编译成功后会进行测试格式化。

代码实现后会输出总结信息: alt text

AI 编写完代码后,由我们审核代码后,进行测试,运行代码使用 Streamable HTTP 协议启动,在 chatwise 中配置相应 MCP后,聊天使用,可以看出可以顺利正常使用。

alt text

alt text

alt text

小结

Claude Code 能够很好的理解项目,通过自然语言指令进行代码生成、Bug 修复、Git 操作和自动化开发流程,显著提升开发效率。虽然 Claude Code 能够很好的理解项目,但是由于 Claude Code 会犯一些错误,例如代码实现错误,命名不规范等,需要我们进行 review 和测试,并且相较于 Cursor、Augment 的实现,Claude Code 是没有进行 代码的 RAG,完全使用常规的命令进行查找相关代码。

参考