mcpField
M
My MCP Weather Server

My MCP Weather Server

本地服务
github.com/EnigmaticHarvest媒体与设计073 周前更新

关于 My MCP Weather Server

这是一个面向开发者的 TypeScript MCP 服务示例,可用于测试 MCP 客户端或 Agent。它通过 Streamable HTTP 为少数预设城市返回结构化的虚拟天气数据。

主要功能

  1. 01get_city_weather 工具
  2. 02预设城市的虚拟天气
  3. 03公制或英制单位
  4. 04结构化输出格式
  5. 05内存会话管理

适用场景

  1. 01测试 MCP 客户端的工具调用
  2. 02试用使用天气工具的 Agent

MCP 相关

该项目实现 MCP,并通过 Streamable HTTP 向 MCP 客户端提供 get_city_weather 工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

我的 MCP 天气服务

本项目是一个使用 TypeScript 的 @modelcontextprotocol/sdk 构建的 MCP(Model Context Protocol)服务示例。它演示了如何提供一个简单的工具,为几个预定义城市提供虚拟天气信息。

此服务旨在作为符合 MCP 规范的客户端的后端使用,例如能够利用此服务提供的工具的大模型驱动型 Agent。

功能

  • 符合 MCP 规范: 实现 Model Context Protocol。
  • 流式 HTTP 传输: 使用推荐的 StreamableHTTPServerTransport 进行通信。
  • 工具公开: 提供 get_city_weather 工具。
    • 输入: city(字符串,例如 "paris"、"london"、"tokyo")和可选的 unit(枚举:"metric" 或 "imperial",默认为 "metric")。
    • 输出: 返回虚拟天气信息,包括温度、天气描述和湿度。
    • 结构化输出: 提供与定义的 outputSchema 匹配的 structuredContent,以便客户端可靠地解析。
  • 基本会话管理: 演示如何为 StreamableHTTPServerTransport 简单地管理内存中的会话。

前置条件

  • Node.js(建议使用 v18 或更高版本,符合 MCP SDK 的要求)
  • npm(或 yarn/pnpm)

设置

  1. 克隆代码库(或创建项目文件):

    # If you have it in a git repo:
    # git clone <your-repo-url>
    # cd my-mcp-weather-server
    
    # Otherwise, ensure you have the project directory with src/server.ts, package.json, tsconfig.json
    
  2. 安装依赖项:

    npm install
    

运行服务

开发环境

此命令使用 ts-node 直接运行 TypeScript 源代码,并使用 nodemon 在文件发生更改时自动重启服务。

npm run build
npm start

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。