在本教程中,您将学习如何构建一个由大语言模型(LLM)驱动的聊天机器人客户端,用于连接 MCP 服务器。建议先完成 服务器快速入门,它将指导您了解构建第一个服务器的基础知识。
在开始之前,请确保您的系统满足以下要求:
uv
首先,使用 uv
创建一个新的 Python 项目:
您需要从 Anthropic 控制台 获取 Anthropic API 密钥。
创建一个 .env
文件来存储密钥:
在 .env
文件中添加您的密钥:
将 .env
添加到 .gitignore
:
确保您的 ANTHROPIC_API_KEY
保持安全!
首先,设置导入并创建基本客户端类:
接下来,实现连接到 MCP 服务器的方法:
现在添加处理查询和工具调用的核心功能:
现在添加聊天循环和清理功能:
最后,添加主执行逻辑:
您可以在此处找到完整的 client.py
文件。
MCPClient
类初始化会话管理和 API 客户端AsyncExitStack
进行适当的资源管理工具处理
process_query()
以处理特定工具类型响应处理
用户界面
要使用任何 MCP 服务器运行您的客户端:
如果您正在继续服务器快速入门的天气教程,您的命令可能如下所示:python client.py .../quickstart-resources/weather-server-python/weather.py
客户端将:
以下是连接到服务器快速入门中的天气服务器时的示例界面:
当您提交查询时:
错误处理
资源管理
AsyncExitStack
进行适当的清理安全性
.env
中安全存储 API 密钥正确路径用法的示例:
如果您看到:
FileNotFoundError
:检查服务器路径Connection refused
:确保服务器正在运行且路径正确Tool execution failed
:验证工具所需的环境变量已设置Timeout error
:考虑在客户端配置中增加超时时间