内容
<p align="center">
<img width="300" alt="Spring into haystack logo with flowers, bee and butterfly on the logo, giving spring vibes" src="/logo/spring-into-haystack-logo.png" />
</p>
欢迎来到 🌸 [Spring Into Haystack](https://haystack.deepset.ai/spring-into-haystack) 🌸 这是一个让你培养有用、优雅且强大的工具的机会——就像春天本身一样!🌼
## 🪻 你的春季挑战
你的任务是构建一个 **使用工具的 Haystack Agent**,它充当 **MCP Client** 并连接到 [GitHub MCP Server](https://github.com/github/github-mcp-server)。一旦连接,你的 Agent 将能够调用 GitHub 工具——这一切都通过模型上下文协议(Model Context Protocol)的力量实现。
要开始,请查看 [`github-agent.py`](src/github-agent.py) 中的脚手架启动代码。你需要:
- 实现缺失的部分
- 配置你的 Agent 以连接到 GitHub MCP 服务器
- 确保 Agent 能够根据工具输出进行推理和行动
> 注意: [**官方 GitHub MCP Server**](https://github.com/github/github-mcp-server) 需要 **Docker** 才能运行。如果你无法使用 Docker(例如由于系统限制或权限问题),你可以使用 [**遗留 GitHub MCP Server**](https://github.com/modelcontextprotocol/servers/tree/main/src/github),该服务器已 **弃用**,但可以通过 `npx` 轻松运行。请注意,官方和遗留服务器之间可用工具的集合是不同的。
### ✅ 测试你的 Agent:找到隐藏的拼写错误
为了验证你的 Agent 是否正常工作,我们在这个 README 中 **植入了一个拼写错误**。
一旦你的 Agent 完全连接并正确推理,它应该:
1. **通过 GitHub MCP 服务器读取此 README 来检测拼写错误**
2. **在 GitHub 上打开一个问题**,在问题正文中清楚地描述拼写错误
这将证明你的 Agent 可以:
- 理解任务并制定计划
- 从 GitHub MCP 服务器中选择正确的工具
- 在 GitHub 上执行操作
## 🌷 如何参与
1. **Fork** 这个 GitHub 仓库
2. **填写 [`github-agent.py`](src/github-agent.py) 中缺失的部分**,构建你的 MCP 连接 Agent
3. **将你的代码推送** 到你 Fork 的仓库
4. **[提交链接](https://forms.gle/VbyhQrKz1niyzBmGA) 到仓库**,以便我们可以看到你绽放的创作!
有关更多信息,请查看 [Spring Into Haystack](https://haystack.deepset.ai/spring-into-haystack) 网页。
## 开始构建
### 需求:
- 一个具有相关权限的 [GitHub Token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)
### 安装依赖
```
pip install -r requirements.txt
```
> 注意:`mcp-haystack` 包要求 Python ≥ 3.10
### 组件:
- [`Agent`](https://docs.haystack.deepset.ai/docs/agent) – 智能决策者的组件
- [`MCPTool`](https://docs.haystack.deepset.ai/docs/mcptool) – 让你的 Agent 与 MCP Server 进行通信