我们将构建一个基于 CLI 的聊天机器人,用以演示 MCP 客户端和服务器如何协同工作。这个实践项目将让您获得 MCP 架构两端的实际操作经验。
我们要构建什么
我们的聊天机器人将允许用户通过自然语言与一组文档进行交互。该系统由两个主要组件组成:
- 一个处理用户交互并与 Claude 通信的 MCP 客户端
- 一个提供读取和更新文档工具的 MCP 服务器

服务器将向 Claude 暴露两个工具:
- 读取文档内容的工具
- 更新文档内容的工具
为简单起见,所有文档都存储在内存中——它们包括 document.pdf、spreadsheet.xlsx、report.txt 和 spec.md 等文件。
重要架构说明
在实际项目中,您通常只实现 MCP 客户端或 MCP 服务器中的一个,而不是两者都实现。您可能会构建:
- 仅构建一个 MCP 服务器,向 AI 模型暴露您服务的能力
- 仅构建一个 MCP 客户端,以连接到其他开发者构建的现有 MCP 服务器

我们在本项目中同时构建这两个组件,纯粹是出于教学目的——以便理解它们如何通信并协同工作。
项目设置
从本课程末尾的下载部分下载 cli_project.zip,并将其解压到您偏好的开发目录中。在项目文件夹中打开您的代码编辑器。
配置
该项目包含一个 README.md 文件,其中有详细的设置说明。您需要:
- 将您的 Anthropic API 密钥添加到 .env 文件中
- 使用 UV(推荐)或 pip 安装依赖项

.env 文件应包含:
bash
ANTHROPIC_API_KEY="your-api-key-here"运行项目
设置完成后,在终端中导航到您的项目目录并运行:
bash
# 如果使用 UV(推荐)
uv run main.py
# 如果使用标准 Python
python main.py您应该会看到一个聊天提示出现。通过询问一个简单的问题(例如"what's 1+1?")来测试它,以验证一切是否正常工作。
初始项目已经包含了与 Claude 的基本聊天功能。在接下来的视频中,我们将添加 MCP 服务器功能和文档管理功能,以创建一个功能完整的文档感知聊天机器人。