返回市场
MCP天气服务器示例

MCP天气服务器示例

作者:debs-obrien6 星标更新:2025-07-02

项目介绍

MCP Weather Server

一个简单的模型上下文协议(MCP)服务器,向AI代理(如GitHub Copilot)提供实时天气数据。

快速开始

克隆仓库:

git clone https://github.com/debs-obrien/mcp-weather-server-demo.git
cd mcp-weather-server-demo

1. 安装依赖

npm install

2. 运行服务器

使用MCP Inspector测试:

npx -y @modelcontextprotocol/inspector npx -y tsx main.ts

3. 在VS Code中使用

  1. 打开.vscode文件夹中的mcp.json文件
  2. 点击第4行上方的启动服务器按钮
  3. 打开聊天模式并选择支持MCP的代理,例如Claude Sonnet
  4. 在聊天框中键入或说出你的问题,询问你所在城市的天气情况

功能

  • 🌤️ 提供任何城市的实时天气数据
  • 🌍 不需要API密钥(使用Open-Meteo)
  • 🤖 支持与GitHub Copilot及其他兼容MCP的AI工具集成
  • ⚡ 使用MCP Inspector轻松测试

使用示例

询问GitHub Copilot:

  • "东京的天气怎么样?"
  • "伦敦今天的天气如何?"
  • "给我巴黎当前的天气"

工作原理

该服务器提供了一个get-weather工具,它:

  1. 使用地理编码将城市名称转换为坐标
  2. 从Open-Meteo API获取当前天气数据
  3. 返回结构化的数据,这些数据可以由AI代理进行美观地格式化

代码结构

// 创建带有天气工具的MCP服务器
const server = new McpServer({
  name: "Weather Server",
  version: "1.0.0"
});

// 定义get-weather工具
server.tool('get-weather', '获取城市天气的工具', ...);

// 通过stdio传输连接
const transport = new StdioServerTransport();
server.connect(transport);

依赖项

  • @modelcontextprotocol/sdk - MCP服务器框架
  • zod - 模式验证

使用的API

阅读完整的博客文章

构建你的第一个MCP天气服务器:一个完整的教程

观看演示

构建MCP服务器初学者教程