关于 My MCP Weather Server
这是一个面向开发者的 TypeScript MCP 服务示例,可用于测试 MCP 客户端或 Agent。它通过 Streamable HTTP 为少数预设城市返回结构化的虚拟天气数据。
主要功能
- 01get_city_weather 工具
- 02预设城市的虚拟天气
- 03公制或英制单位
- 04结构化输出格式
- 05内存会话管理
适用场景
- 01测试 MCP 客户端的工具调用
- 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)
设置
-
克隆代码库(或创建项目文件):
# 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 -
安装依赖项:
npm install
运行服务
开发环境
此命令使用 ts-node 直接运行 TypeScript 源代码,并使用 nodemon 在文件发生更改时自动重启服务。
npm run build
npm start
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。