article
README
🚀 实时天气服务 - Said MCP
Said MCP 是一个简单而强大的 MCP(模型上下文协议)服务器实现,旨在通过一个易于使用且可扩展的工具,提供实时天气信息。
✨ 主要特性
- 🔧 使用
@modelcontextprotocol/sdk构建的自定义 MCP 服务器 - 📍 通过 Open-Meteo API 实现的精确地理定位
- 🌡️ 提供实时气象数据,包括温度、降雨和降水量
- ⚡ 基于
stdio传输的简洁高效接口
🧠 工作原理
服务器提供了一个名为 obtener-clima 的工具,可用于查询任何城市的天气状况。该工具会将城市名称解析为地理坐标,并查询最新的气象数据。
🔍 执行流程
- 🏙️ 接收城市名称。
- 🌍 通过 Open-Meteo 的地理编码 API 获取该城市的纬度和经度。
- ☁️ 查询当前的气象数据。
- 📝 以结构化格式返回信息。
📦 项目结构
.
├── .gitignore
├── main.ts # MCP 服务器的主文件
├── package.json # 项目依赖和元数据
├── package-lock.json # 依赖版本控制
└── README.md # 本文件 📝
🛠️ 安装指南
环境要求
- NodeJS >= 18
- TypeScript
- 可访问互联网(用于调用 API)
💻 使用示例
基础用法
server.tool(
'obtener-clima',
'Herramienta para obtener el clima en tiempo real',
{ city: z.string().describe('City name') },
async ({ city }) => {
// Consulta a la API y retorno de datos...
}
)
高级用法
const transport = new StdioServerTransport()
await server.connect(transport)
上述代码展示了服务器如何使用 StdioServerTransport 进行连接,便于与支持 MCP 的系统进行集成。
📚 详细文档
服务器使用 StdioServerTransport 进行连接,可轻松与支持 MCP 的系统集成。
📄 许可证
本项目采用 MIT 许可证。
✨ 作者
本项目由 Said Ruiz 热情开发。
微信扫一扫