天气服务服务器

一个基于Express.js和Node.js的天气服务服务器,提供美国国家气象局API的天气信息,支持Azure部署。

  • by Azure-Samples
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 azure-samples/remote-mcp-webapp-node

使用说明

带Azure部署的Node.js MCP天气服务器

使用Express.js和Node.js构建的模型上下文协议(MCP)服务器,使用美国国家气象局API提供天气信息。已准备好使用Azure Developer CLI(azd)部署到Azure应用服务。

🌟 特性

  • Express.js框架:Node.js的快速、无争议的web框架
  • MCP协议合规性:完全支持JSON-RPC 2.0 MCP协议
  • HTTP传输:基于HTTP的网络连接通信
  • 天气工具:
    • get_alerts:获取美国任何州的天气警报
    • get_forecast:获取任何地点的详细天气预报
  • Azure就绪:已为Azure应用服务部署进行了预配置
  • Web测试界面:用于测试的内置HTML界面
  • 美国国家气象局API:来自美国政府官方来源的实时天气数据

💻 地方发展

先决条件

  • Node.js 22+ (或Node.js 18+)
  • npm (节点包管理器)

设置和运行

  1. 克隆并安装依赖项:

    git clone <your-repo-url>
    cd remote-mcp-webapp-node
    npm install
    
  2. 启动开发服务器:

    npm run dev
    
  3. 访问服务器:

    • 服务器:http://localhost:8000
    • 健康检查:http://localhost:8000/health
    • 测试界面:http://localhost:8000/test

🔌 连接到本地MCP服务器

使用VS代码-复制代理模式

  1. 添加MCP服务器 从命令面板中,将URL添加到正在运行的服务器的HTTP端点:
    http://localhost:8000
    
  2. 列出MCP服务器 从命令面板启动服务器
  3. 在Copilot聊天代理模式下,输入提示以触发工具:
    What's the weather forecast for San Francisco?
    
  4. 当系统提示运行该工具时,点击同意 继续

使用MCP检查器

  1. 在一个 新终端窗口,安装并运行MCP检查器:
    npx @modelcontextprotocol/inspector
    
  2. 按住CTRL键并单击应用程序显示的URL(例如。http://localhost:5173/#resources)
  3. 将运输类型设置为 HTTP
  4. 将URL设置为正在运行的服务器的HTTP端点,然后 连接:
    http://localhost:8000
    
  5. 列出工具,单击工具,然后 运行工具

🚀 快速部署到Azure

先决条件

在3个命令中部署

# 1. Login to Azure
azd auth login

# 2. Initialize the project
azd init

# 3. Deploy to Azure
azd up

部署后,您的MCP服务器将在以下位置可用:

  • 健康检查: https://<your-app>.azurewebsites.net/health
  • MCP能力: https://<your-app>.azurewebsites.net/mcp/capabilities
  • 测试接口: https://<your-app>.azurewebsites.net/test

🔌 连接到远程MCP服务器

遵循与上述相同的指导,但请使用您的应用服务URL。

🧪 测试

访问 /test 交互式测试接口的端点。

🌦️ 数据源

此服务器使用 美国国家气象局(NWS)API:

  • 实时天气警报和警告
  • 详细的天气预报
  • 美国政府官方天气数据
  • 不需要API密钥
  • 高可靠性和准确性