天气查询工具

基于Model Context Protocol和Spring AI的天气查询工具,提供城市地理位置和天气预报功能,适用于需要快速获取天气信息的场景。

  • by andreacomo
  • Java
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 andreacomo/mcp-poc

使用说明

模型上下文协议POC

这个项目旨在与 主控程序 和 春季AI.

这是一个Maven多模块项目

MCP服务器

基于STDIO的通信实现。 基于 官方演练

服务器公开了两个工具:

  • get_city_geolocation:从城市名称获取纬度和经度
  • get_weather_forecast:检索给定纬度和经度的天气预报。默认值为7天

如何检查服务器

  • 构建项目:
    mvn clean package
    
  • 运行检查器(需要Node.js)
    npx @modelcontextprotocol/inspector
    
  • 首选 http://localhost:6274 并设置:
    • 运输类型: STDIO
    • 命令: java
    • 论据: -jar /absolute/path/to/mcp-server-1.0.0-SNAPSHOT.jar
    • 连接

现在,您可以探索MPC服务器

如何将MCP服务器连接到Claude Desktop

  • 找到文件 claude_desktop_config.json:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
    • Claude Desktop尚未支持Linux
  • 在中添加新条目 mcpServers 对象:

      {
        "mcpServers": {
          "spring-ai-mcp-weather": {
            "command": "java",
            "args": [
              "-jar",
              "/absolute/path/to/mcp-server-1.0.0-SNAPSHOT.jar"
            ]
          }
        }
     }
    
  • 试着问克劳德“明天(你的城市名称)的天气预报是什么?”。Claude将能够理解需要检索地理信息才能给你答案(使用这两种工具)

    请注意,该提示仅适用于意大利城市

MCP客户端

客户基本上是 命令行 聊天 基于OpenAI:由于Spring AI和MCP集成,客户端连接到中定义的MCP服务器 claude_desktop_config.json 并创建 客户端自动 对于每个配置的服务器。

请注意 claude_desktop_config.json 包含 绝对路径 因为正在使用STDIO通信: 这种类型的通信需要客户端启动服务器,因此项目 我必须先建造吗!

mvn package

客户端需要OpenAI密钥,作为env变量提供 OPENAI_API_KEY.

客户端启动并列出可用工具,然后准备聊天。