Token导航 LogoToken导航TokenDH.com
Life Assitant MCP logo
AI代理stdio官方级别未说明来源级核验

Life Assitant MCP

MCP Server

一个基于MCP协议的天气查询服务器,提供全球任意城市的实时天气信息,包括温度和风速等数据。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
位置天气地理编码TypeScriptVS CodeAPI集成VS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Meloyg

提供方

Meloyg

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -it --rm --name mcp-weather-server mcp-weather-server:latest

详细介绍

MCP天气服务器

一个使用Open-Meteo API为任何城市提供天气信息的模型上下文协议(MCP)服务器。

概述

这个MCP服务器实现了一个简单的天气工具,允许您获取全球任何城市的当前天气状况。它使用Open-Meteo地理编码API将城市名称解析为坐标,然后获取包括温度和风速在内的当前天气数据。

特点/功能

  • 城市天气查询通过城市名称获取当前天气
  • 地理编码集成自动将城市名称解析为坐标
  • 当前状况返回温度和风速信息
  • 错误处理优雅地处理无效城市或API故障
  • MCP 兼容使用官方MCP SDK构建

先决条件

  • Node.js(版本14或更高)
  • npm 或 yarn 包管理器

安装

  1. 克隆此存储库:
git clone 
cd mcp-weather-server
  1. 安装依赖项:
npm install

使用方法

本地开发

构建并运行服务器

  1. 构建TypeScript代码:
npm run build
  1. 启动MCP天气服务器:
npm start

或者用于开发(一键构建并运行):

npm run dev

服务器将启动并监听通过stdio传输的MCP连接。

Docker 部署

快速入门Docker

  1. 构建Docker镜像:
./scripts/docker-build.sh
  1. 在生产模式下运行:
./scripts/docker-run.sh production
  1. 以开发模式运行(启用热重载):
./scripts/docker-run.sh development

手动Docker命令

构建生产镜像:

docker build -t mcp-weather-server:latest .

构建开发镜像:

docker build -f Dockerfile.dev -t mcp-weather-server:dev .

使用 Docker Compose 运行(生产环境):

docker-compose up mcp-weather-server

使用 Docker Compose 运行(开发环境):

docker-compose --profile dev up mcp-weather-server-dev

运行独立容器:

docker run -it --rm --name mcp-weather-server mcp-weather-server:latest

Docker 功能

  • 多阶段构建 为了优化生产镜像
  • 非root用户 为了增强安全性
  • 健康检查 用于集装箱监控
  • 资源限制 为了控制资源使用
  • 开发模式 支持热重载和卷挂载
  • Node.js 调试器 用于调试支持
  • 持续记录日志 带有音量调节装置

调试

MCP 检查器(推荐)

MCP Inspector 为 MCP 协议通信提供了一个专门的调试接口:

启动MCP检查器:

npm run inspector

从构建和检查器开始:

npm run dev:inspector

访问检查器:

  • 打开你的浏览器以 http://localhost:5173
  • 检查员提供了一个基于网页的界面用于:

- 监控MCP协议消息 - 检查工具调用和响应 - 调试服务器-客户端通信 - 查看实时消息流

Node.js 调试

启用 Node.js 调查器后开始:

npm run dev:debug

从检查器开始,并在第一行断开:

npm run dev:debug-brk

TypeScript 编译的监视模式:

npm run dev:watch

Docker 调试

运行包含所有调试工具的开发容器:

./scripts/docker-run.sh development

或者手动:

docker-compose --profile dev up mcp-weather-server-dev

这暴露了:

  • 端口 9229:Node.js 调试器
  • 端口5173:MCP检查器网页界面
  • 端口3000:应用程序端口(如需要)

连接调试器

  1. MCP 检查器(网页界面):

- 导航至 http://localhost:5173 - 配置您的MCP服务器连接 - 实时监控协议消息

  1. Chrome 开发者工具(DevTools):

- 打开Chrome浏览器并导航至 chrome://inspect - 点击“配置”并添加 localhost:9229 - 您的 Node.js 进程应该出现在“远程目标”下 - 点击“检查”以打开开发者工具

  1. VS Code:

- 将此配置添加到您的 .vscode/launch.json:

   {
     "type": "node",
     "request": "attach",
     "name": "Attach to MCP Server",
     "address": "localhost",
     "port": 9229,
     "localRoot": "${workspaceFolder}",
     "remoteRoot": "/app",
     "skipFiles": ["/**"]
   }
  1. WebStorm/IntelliJ:(这里可以翻译为“WebStorm/IntelliJ:”或者保持原样,因为“WebStorm/IntelliJ”作为专有名词通常不需要翻译,但为了符合中文表达习惯,也可以稍作调整,不过在此直接保留原样)

- 创建一个新的“附加到 Node.js/Chrome”配置 - 将主机设置为 localhost 并且移植到 9229

调试脚本详解

  • inspector启动MCP Inspector网页界面
  • dev:inspector构建并启动MCP Inspector
  • dev:debug从端口9229启动Node.js调试器
  • dev:debug-brk从 Node.js 调试器开始并断在第一行
  • dev:watch以监视模式运行 TypeScript,实现持续编译

调试工作流程

  1. 对于MCP协议问题:

- 使用 npm run dev:inspector 监控MCP消息 - 检查工具调用、响应以及协议合规性

  1. 对于代码级别的调试:

- 使用 npm run dev:debug 使用 Chrome DevTools 或 VS Code - 在您的TypeScript源文件中设置断点

  1. 对于Docker开发:

- 使用 ./scripts/docker-run.sh development - 访问MCP Inspector(端口5173)和Node.js调试器(端口9229)

可用工具

get-weather

获取指定城市的当前天气信息。

参数:

  • city (字符串):要获取天气的城市名称

示例回复:

The current temperature in London is 15°C with a wind speed of 12 km/h.

与MCP客户端的集成

这台服务器可以与任何兼容MCP(Minecraft协议)的客户端进行集成。服务器提供了(或开放了) get-weather 一个可以通过传递城市名称参数来调用的工具。

API 依赖项

此服务器依赖于以下免费API:

  • Open-Meteo 地理编码API将城市名称转换为坐标
  • Open-Meteo天气API用于获取当前天气数据

无需API密钥,因为Open-Meteo提供免费访问其天气数据。

项目结构

mcp-weather-server/
├── src/                    # Source code
│   ├── index.ts           # Main entry point
│   ├── server/            # Server implementation
│   │   └── index.ts       # MCP server setup
│   ├── tools/             # Tool implementations
│   │   └── weather-tool.ts # Weather tool logic
│   ├── types/             # TypeScript type definitions
│   │   └── weather.ts     # Weather-related types
│   └── utils/             # Utility functions
│       └── api.ts         # API client utilities
├── dist/                  # Compiled JavaScript output
├── examples/              # Example configurations
│   └── mcp-config.json   # MCP client configuration example
├── docs/                  # Documentation
├── tests/                 # Test files
├── tsconfig.json         # TypeScript configuration
├── package.json          # Project dependencies and metadata
├── package-lock.json     # Locked dependency versions
├── .gitignore           # Git ignore rules
└── README.md            # This file

依赖项

  • @modelcontextprotocol/sdk官方MCP服务器构建SDK
  • zod用于输入验证的模式验证库

错误处理

服务器针对常见场景提供了强大的错误处理机制:

  • 无效的城市名称当无法找到城市时,返回一条有帮助的信息
  • API故障优雅地处理网络错误或API不可用情况
  • 格式错误的请求输入验证确保请求格式正确

发展

建筑

这个项目使用了ES模块。请确保您的Node.js版本支持ES模块,或者在需要时使用转译器。

测试

目前,未包含任何自动化测试。要测试服务器:

  1. 启动服务器
  2. 与MCP客户端建立连接
  3. 打电话给 get-weather 带有各种城市名称的工具

做出贡献

  1. 为仓库创建分支
  2. 创建一个特性分支
  3. 做出你的更改
  4. 彻底测试
  5. 提交一个拉取请求

许可证

ISC许可证

更改日志

版本1.0.0

  • 首次发布
  • 基本天气查询功能
  • MCP SDK 集成
  • Open-Meteo API 集成

支持

如遇问题或疑问,请在仓库中提交一个议题。

目录标签

目录标签

位置天气地理编码TypeScriptVS CodeAPI集成天气查询本地部署实时数据MCP协议

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP