MCP Weather Server

MCP Weather Server

tyfeng1997

研究与数据
访问服务器

README

MCP 天气服务器

一个使用服务器发送事件 (SSE) 传输实现模型上下文协议 (MCP) 的 TypeScript 服务器,用于提供天气信息工具。

概述

此服务器实现了模型上下文协议,并通过服务器发送事件 (SSE) 传输公开天气预报和警报工具。与通常使用 stdio 进行本地通信的标准示例不同,此服务器演示了如何通过 HTTP 实现远程连接,允许客户端通过网络连接。

特性

  • 通过 SSE 传输实现 MCP
  • 提供两个天气工具:
    • get-forecast:获取特定坐标的天气预报
    • get-alerts:获取美国各州的有效天气警报
  • 连接到美国国家气象局 API
  • 支持多个客户端连接

前提条件

  • Node.js (v16 或更高版本)
  • npm 或 yarn

安装

# 克隆仓库
git clone https://github.com/tyfeng1997/mcp-server.git
cd mcp-server

# 安装依赖
npm install

# 构建 TypeScript 代码
npm run build

使用

要启动服务器:

node build/index.js

这将默认在端口 3001 上启动服务器。您应该看到类似于以下的输出:

Weather MCP Server running on http://localhost:3001
Connect clients to http://localhost:3001/sse

可用工具

服务器公开了两个工具:

  1. get-forecast

    • 描述:获取某个位置的天气预报
    • 参数:
      • latitude (number):位置的纬度(-90 到 90)
      • longitude (number):位置的经度(-180 到 180)
    • 注意:NWS API 仅支持美国的位置
  2. get-alerts

    • 描述:获取某个州的天气警报
    • 参数:
      • state (string):两位数的美国州代码(例如,CA,NY)

测试服务器

您可以通过向 SSE 端点发出请求来测试服务器是否正常运行:

curl http://localhost:3001/sse

这应该返回一个带有会话 ID 的事件。

客户端

此服务器旨在与 tyfeng1997/mcp-client 提供的 MCP 客户端一起使用。客户端连接到此服务器,并允许像 Claude 这样的 AI 助手通过自然语言使用天气工具。

自定义

端口配置

要更改端口,请修改代码中的 PORT 常量:

const PORT = 3001; // 更改为您想要的端口

添加更多工具

您可以通过遵循现有工具使用的模式来添加更多工具:

server.tool(
  "your-tool-name",
  "Your tool description",
  {
    // 使用 zod 的参数模式
    param1: z.string().describe("Parameter description"),
    param2: z.number().describe("Parameter description"),
  },
  async ({ param1, param2 }) => {
    // 工具实现
    return {
      content: [
        {
          type: "text",
          text: "Tool result",
        },
      ],
    };
  }
);

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python