Zenrus MCP 服务器
](https://www.npmjs.com/package/zenrus-mcp) 
用于从网站获取实时汇率和油价的MCP服务器 zenrus.ru(该域名直接翻译无实际意义,保持原样)。
可能性/功能
服务器提供以下工具:
基本工具(数据获取)
get_usd_rate- 获取当前美元/卢布汇率get_eur_rate- 获取当前欧元/卢布汇率get_brent_usd_rate- 获取当前布伦特原油的美元每桶价格get_brent_rub_rate- 获取当前布伦特原油每桶的卢布价格
计算工具(计算)
calculate_barrels_for_rub- 计算用给定的卢布金额能购买多少桶(商品)calculate_barrels_for_usd- 计算用给定的美元金额能购买多少桶(石油)calculate_barrels_for_eur- 计算用给定的欧元金额能购买多少桶
返回数据的格式
所有工具都归还 结构化的JSON数据 带有可用于计算的数值:
汇率 (get_usd_rate, get_eur_rate):
{
"rate": 81.08,
"currency": "USD/RUB",
"description": "US Dollar to Russian Ruble exchange rate"
}石油价格 (get_brent_usd_rate, get_brent_rub_rate):
{
"price": 62.17,
"commodity": "Brent Crude Oil",
"currency": "USD",
"unit": "per barrel"
}结算 (calculate_barrels_for_rub, calculate_barrels_for_usd, calculate_barrels_for_eur):
{
"amount": 100000,
"currency": "RUB",
"barrels": 19.8374,
"pricePerBarrel": 5041,
"commodity": "Brent Crude Oil"
}这种方法使AI模型能够:
- 在数学计算中使用数据
- 根据自己的判断调整输出格式
- 轻松解析和处理结果
- 保持数据的语义
使用示例
对于计算工具,请传递参数 amount:
{
"name": "calculate_barrels_for_usd",
"arguments": {
"amount": 1000
}
}结果将显示可以购买多少桶:
{
"amount": 1000,
"currency": "USD",
"barrels": 16.0848,
"pricePerBarrel": 62.17,
"commodity": "Brent Crude Oil"
}安装
从 npm(推荐)
首次使用时,该软件包将自动下载 npx:
npx -y zenrus-mcp用于开发
git clone https://github.com/DarkGenius/zenrus-mcp.git
cd zenrus-mcp
npm install
npm run build使用
配置
在您的AI工具设置文件中添加以下配置:
{
"mcpServers": {
"zenrus": {
"command": "npx",
"args": ["-y", "zenrus-mcp"]
}
}
}手动启动服务器
npm start开发
# Сборка проекта
npm run build
# Режим разработки с автоматической пересборкой
npm run dev
# Запуск тестов
npm test
# Запуск тестов в watch-режиме
npm run test:watch
# Отладка (выполняет запрос к API и выводит данные)
npm run debug调试
要检查服务器的运行状态,请使用以下命令:
npm run debug这个脚本将向zenrus.ru发出实际请求并输出:
- 以JSON格式获取的数据
- 每个MCP工具的工作成果
- 执行统计
项目结构
zenrus-mcp/
├── src/
│ ├── index.ts # Основной код MCP сервера
│ ├── api.ts # API модуль с кешированием
│ ├── debug.ts # Скрипт для отладки
│ └── __tests__/
│ └── parser.test.ts # Тесты парсинга данных
├── dist/ # Скомпилированные файлы
├── package.json
├── tsconfig.json
├── vitest.config.ts
└── README.md它是如何运作的
获取数据
服务器从zenrus.ru的JavaScript文件中获取数据 currents.js,其中包含以以下格式呈现的最新课程:
var current = {0:81.08,1:94.15,2:62.17,...}地点:
0- 美元兑卢布汇率1- 欧元兑卢布汇率2- 布伦特原油价格(美元)
布伦特原油价格(以卢布计)自动计算得出: USD * Brent(USD)
缓存
数据缓存于 60分钟 以减轻远程API的负载。每次请求时:
- 检查缓存数据的存在性和时效性
- 如果数据已过时(超过60分钟),则执行新的请求
- 新数据保存在缓存中
URL 使用 Unix 时间戳进行缓存失效处理: currents.js?v1234567890
技术
- @modelcontextprotocol/sdk 翻译为中文是:“@模型上下文协议/开发工具包” 或简化为 “模型上下文协议SDK” - 用于创建MCP服务器的SDK
- TypeScript
- Node.js
许可证
麻省理工学院(MIT)
