MCP VN 工具(天气、音乐、新闻、笑话、闹钟)
随时可部署的 MCP服务器 对于XiaoZhi AI,运行在 铁路 (或任何容器平台)。 包括工具:
weather(city)— OpenWeather(公制,°C)music_search(query, limit)根据上述信息,原文内容“iTunes Search (no API key required)”的翻译为:“iTunes 搜索(无需 API 密钥)”news(query, country, limit)— NewsAPI(如果NEWS_API_KEY) 或使用 Google 新闻 RSS 作为备用方案joke(category)— JokeAPI(英文)alarm_set(iso_time, title)/alarm_list()/alarm_delete(id)— 存储在JSON中的简单闹钟
1) 部署至铁路(系统/应用)
- 将这个仓库在你的GitHub上进行分支(或“克隆”)操作。
- 在铁路方面: 新项目 → 从GitHub仓库部署 (选择你的叉子)。
- 在铁路中 → 变量,添加:
- MCP_ENDPOINT = 你的小智 MCP终端(或MCP端点) (来自 *代理 → MCP 设置 → 获取 MCP 端点*)。 必须以……开始 wss://...。 - OPENWEATHER_KEY = 从 https://openweathermap.org/ 获取的免费密钥(天气查询所需) - *(可选)* NEWS_API_KEY = 您的 NewsAPI 密钥(https://newsapi.org/)。如果省略,将使用 Google 新闻 RSS 作为备用方案。
- 部署。铁路将运行
mcp_pipe.py这连接到小智并启动server.py。
注释 - 文件存储在 /data 在容器内部。这种存储是临时的(重新部署时会重置)。2) 在小智(XiaoZhi)上连接
- 在您的代理(console.xiaozhi.me)中 → MCP 设置:
- 官方服务:添加您想要的服务(例如,天气、音乐、知识库) - 定制服务:点击 获取MCP终端节点 → 复制 wss://...token=... URL(统一资源定位符)。
- 将这个端点粘贴到Railway中
MCP_ENDPOINT变量。 - 保存 在小智那里,然后 重启 这个设备。
3) 工具概述
天气查询函数(城市: 字符串) -> 字典
使用OpenWeather获取该城市的当前天气(公制单位)。
music_search(query: str, limit: int = 5) -> list 翻译为中文是:音乐搜索(查询: 字符串,限制: 整数 = 5)-> 列表
返回来自iTunes搜索的热门歌曲。
新闻查询函数(query: 字符串 = "", 国家: 字符串 = "vn", 限制数量: 整数 = 5) -> 列表
- 如果
NEWS_API_KEY提供 → 使用 NewsAPI。 - 否则 → 回退到使用Google新闻RSS(越南语)。
笑话(类别: str = "任意")-> 字典
从JokeAPI返回一个随机的笑话(英文)。
设置闹钟(alarm_set)函数:接收ISO时间字符串和标题,返回字典
存储一个报警到 /data/alarms.json. iso_time 是一个ISO8601格式的字符串(例如。 2025-10-01T07:30:00+07:00)。
\alarm_list()\ -> \list\(翻译为中文:\alarm_list()\ 函数返回一个列表)
列出所有警报。
\alarm_delete(id: str) -> dict\ 翻译为中文是:\删除报警(id: 字符串) -> 返回字典\
按ID删除警报。
4) 本地运行(可选)
pip install -r requirements.txt
# The MCP server itself runs over stdio; to test locally, you need a MCP client.
# On Railway it is launched by mcp_pipe.py automatically.5) 安全性
- 永远 公开分享您的MCP终端点。如令牌泄露,请在小智(XiaoZhi)中重新生成。
- 保存API密钥 铁路变量,而不是在代码中。
