使用说明
xiaozhi mcp:用于xiaozhi的越南数据mcp服务器
一组MCP(模型上下文协议)服务器,提供对越南金融数据、新闻、广播电台和音乐流的访问。该项目与人工智能系统集成,以获取实时越南黄金价格(SJC)、燃料价格(Petrolimex)、Dantri新闻、广播电台和音乐搜索/播放。
特性
- 💰 SJC黄金价格:SJC(越南国家贵金属贸易公司)不同地区的实时金价
- ⛽ Petrolimex燃料价格:越南国家石油公司Petrolimex的当前燃料价格因地区而异
- 📰 丹特里新闻:Dantri.com.vn全球、越南、体育和汽车类别的最新新闻头条和文章摘要
- 🔄 自动重新连接:具有指数退避重试机制的强大WebSocket连接
- 📡 多种运输方式:支持stdio、SSE和HTTP传输
- 🐳 Docker支持:使用Docker Compose进行容器化部署
项目结构
mcp_pipe.py:管理MCP服务器进程和连接的主WebSocket代理utils.py:用于数据规范化和价格格式化的共享实用程序sjc_gold.py:越南地区SJC金价数据的MCP服务器petrolimex.py:Petrolimex燃料价格数据的MCP服务器dantri_news.py:用于Dantri.vn新闻抓取的MCP服务器mcp_config.json:自定义服务器设置的可选配置docker/:Docker部署文件
可用的MCP工具
SJC黄金价格工具
get_gold_prices():所有SJC黄金价格get_northern_gold_prices():北部地区价格get_hcm_gold_prices():胡志明市价格get_halong_gold_prices():下龙价格get_haiphong_gold_prices():海防价格get_central_gold_prices():中部地区价格get_hue_gold_prices():色调价格get_quangngai_gold_prices():广奈价格get_nhatrang_gold_prices():芽庄价格get_bienhoa_gold_prices():边和价格get_southern_gold_prices():南部地区价格
Petrolimex燃料价格工具
get_fuel_prices():各地区当前的Petrolimex燃料价格
Dantri新闻工具
get_world_news():最新5条世界新闻头条get_vietnam_news():最新5条越南新闻头条get_sports_news():最新5条体育新闻头条get_auto_news():最新5条汽车新闻头条search_news(query):按查询搜索新闻get_news_summary(url):获取文章摘要(200字)
电台工具
get_radio_stations():列出所有可用的越南广播电台(谢谢 @天湖物联网)get_radio_station_url(station_id_or_name):获取特定广播电台的流媒体URL
音乐搜索工具
search_music(song, artist?):搜索歌曲并返回元数据,包括流URLget_music_stream(song, artist?):获取播放所需的基本流信息
快速开始
本地开发
- 安装依赖项:
pip install -r requirements.txt
- 设置环境变量:
export MCP_ENDPOINT=wss://your-xiaozhi-endpoint
# Windows: $env:MCP_ENDPOINT = "wss://your-xiaozhi-endpoint"
- 运行所有服务器:
python mcp_pipe.py
或者运行单个服务器进行测试:
python mcp_pipe.py calculator.py
python mcp_pipe.py sjc_gold.py
python mcp_pipe.py petrolimex.py
python mcp_pipe.py dantri_news.py
python mcp_pipe.py radio.py
Docker部署
- 克隆存储库并设置环境:
git clone https://github.com/lehoangnb/xiaozhi-mcp.git
cd xiaozhi-mcp
-
在docker-compose.yaml中设置MCP端点
-
使用Docker Compose运行:
docker-compose up --build
配置
环境变量
MCP_ENDPOINT:MCP连接的WebSocket URL(必需)MCP_CONFIG:自定义配置文件的路径(可选,默认为mcp_config.json)
自定义配置
编辑 mcp_config.json 要配置其他服务器,请执行以下操作:
{
"mcpServers": {
"my-server": {
"command": "python",
"args": ["my_server.py"],
"disabled": false
}
}
}
依赖项
python>=3.7fastmcp>=2.13.0websockets>=15.0requests>=2beautifulsoup4>=4.12mcp>=1.20.0mcp-proxy>=0.10.0python-dotenv>=1.2.1
数据源
该项目从真实网站抓取数据,不在本地存储任何数据(SJC黄金缓存1小时除外):
- SJC黄金价格: https://sjc.com.vn/(越南官方黄金价格跟踪)
- Petrolimex燃料价格:https://webgia.com/gia-xang-dau/petrolimex/
- 丹特里新闻: https://dantri.com.vn/(越南主要新闻网站)
API响应格式
所有价格工具都返回结构化数据供人工智能消费:
{
"data": [
{
"product": "Product Name",
"region": "Region Name",
"price_buy": "buy_price",
"price_sell": "sell_price",
"price_display": "display_price",
"unit": "Triệu đồng một lượng",
"updated_at": "2025-01-15T10:30:00+07:00",
"source": "https://source.url"
}
],
"schema_version": "1.0"
}
贡献
欢迎投稿!通过以下方式添加新的越南数据源:
- 创建新
tool.py遵循现有模式 - 检查
utils.normalize_prices_for_ai()用于一致的数据格式 - 添加适当的错误处理和日志记录
- 使用描述清晰的MCP工具
免责声明
该项目抓取公共网站,并为信息目的提供数据访问。用户应验证数据的准确性,并遵守各自网站的服务条款。开发人员不对这些数据的任何使用负责。