一个简单的命令行工具实现,通过客户端-服务器架构使用模型上下文协议(MCP)和Google的Gemini AI访问美国天气数据。 该项目旨在实践并理解MCP的工作原理。
本项目连接了一个Python客户端应用程序与一个天气数据服务器,允许用户使用自然语言查询天气信息。服务器通过与国家气象服务API通信来获取天气警报和预报。
克隆仓库:
git clone https://github.com/Abhinavexists/MCP_Server.git
cd weather-tool
如果还没有安装uv,请安装它:
pip install uv
创建并激活虚拟环境:
uv venv
.venv\Scripts\activatesource .venv/bin/activate使用uv安装依赖项(此项目使用uv.lock和pyproject.toml):
uv pip sync
在项目根目录创建一个.env文件,并添加您的Gemini API密钥:
GEMINI_API_KEY=your_gemini_api_key_here
启动客户端并连接到天气服务器:
python client.py server.py
连接后,您可以询问有关天气信息的问题:
查询:CA州当前有哪些天气警报?
查询:纬度37.7749,经度-122.4194的天气预报是什么?
输入quit退出应用程序。
服务器提供以下工具:
client.py:连接到服务器并使用Gemini AI处理用户查询的MCP客户端server.py:实现天气数据工具并与国家气象服务API通信的MCP服务器应用程序包括对以下情况的健壮错误处理:
要了解更多信息关于模型上下文协议(MCP),请参阅官方Claude MCP文档: