mcpField
B
buda-mcp — Buda.com Cryptocurrency Exchange

buda-mcp — Buda.com Cryptocurrency Exchange

本地服务
npmjs.com金融数据028 周前更新

关于 buda-mcp — Buda.com Cryptocurrency Exchange

buda-mcp 为 MCP 客户端提供 Buda.com 公开加密货币交易所 API 数据,面向查询智利、哥伦比亚和秘鲁市场的用户。除行情和订单簿外,还提供技术指标、跨市场价差分析及不下单的交易模拟。

主要功能

  1. 01查询行情、订单簿和成交记录
  2. 02计算技术指标与市场情绪
  3. 03比较跨国市场价格差异
  4. 04模拟订单及实时报价
  5. 05提供市场和行情 MCP 资源

适用场景

  1. 01查看 Buda.com 交易对的实时行情
  2. 02分析成交历史与技术指标
  3. 03比较 CLP、COP 和 PEN 市场价格
  4. 04估算订单成交价、费用和滑点

MCP 相关

该服务通过 MCP 工具和资源向客户端提供 Buda.com 的公开市场数据;无需账户或 API 密钥。支持 stdio 和 Streamable HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"buda": {
"command": "npx",
"args": [
"-y",
"@guiie/buda-mcp"
]
}
}
}
启动命令npx -y @guiie/buda-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@guiie/buda-mcp2.0.0

工具

16

收录的工具列表 · 更新于 3 周前

参数类型必填说明
market_idstring否可选的市场 ID(例如 'BTC-CLP'、'ETH-BTC')。省略则列出所有市场。

详细介绍

buda-mcp

npm version License: MIT Node.js >=18

适用于 Buda.com 的 MCP 服务——智利、哥伦比亚和秘鲁领先的加密货币交易所。让任何兼容 MCP 的 AI 助手都能实时访问市场数据、订单簿、交易历史、价差、技术指标和价格模拟——无需账户或 API 密钥。


快速开始

npx @guiie/buda-mcp

或永久安装:

npm install -g @guiie/buda-mcp
buda-mcp

在 MCP 客户端中安装

Claude Code
claude mcp add buda-mcp -- npx -y @guiie/buda-mcp
Claude Desktop(claude_desktop_config.json)
{
  "mcpServers": {
    "buda-mcp": {
      "command": "npx",
      "args": ["-y", "@guiie/buda-mcp"]
    }
  }
}
Cursor(~/.cursor/mcp.json)
{
  "mcpServers": {
    "buda-mcp": {
      "command": "npx",
      "args": ["-y", "@guiie/buda-mcp"]
    }
  }
}

工具

所有工具均可公开使用——无需 API 密钥或账户。

get_market_summary ⭐ 从这里开始

一键获取摘要:最新价格、买入价/卖出价、价差百分比、24 小时交易量、价格变动和 liquidity_rating(high / medium / low)。用户询问任何特定市场时,最适合作为第一个工具。

参数类型必填描述
market_idstring是市场 ID(例如 BTC-CLP)。

get_markets

列出 Buda.com 上的所有交易对,或获取指定市场的详情(手续费、最小订单量、折扣等级)。

参数类型必填描述
market_idstring否市场 ID(例如 BTC-CLP)。省略则列出所有市场。

get_ticker

当前快照:最新价格、最佳买入价/卖出价、24 小时交易量,以及 24 小时和 7 天内的价格变动。

参数类型必填描述
market_idstring是市场 ID(例如 BTC-CLP、ETH-COP)。

get_orderbook

当前订单簿:按排序排列的买单和卖单,表示为 {price, amount} 对象。

参数类型必填描述
market_idstring是市场 ID。
limitnumber否每侧的最高价格档位数(默认:全部)。

get_trades

近期交易历史,包含类型化对象:{timestamp_ms, amount, price, direction}。

参数类型必填描述
market_idstring是市场 ID。
limitnumber否交易数量(默认 50,最多 100)。
timestampnumber否Unix 秒——返回早于此时间的交易(分页)。

get_market_volume

按买卖方向统计的 24 小时和 7 天成交量(bid = 买入,ask = 卖出)。

参数类型必填描述
market_idstring是市场 ID。

get_spread

买入价/卖出价价差:绝对值及其占卖出价的百分比。

参数类型必填描述
market_idstring是市场 ID。

compare_markets

并排比较指定基础货币在所有计价货币中的交易对行情数据。

参数类型必填描述
base_currencystring是基础货币(例如 BTC、ETH)。

get_price_history

根据原始交易历史聚合 OHLCV 蜡烛图数据(Buda 没有原生蜡烛图接口)。支持 5m、15m、30m、1h、4h、1d 周期。

参数类型必填描述
market_idstring是市场 ID。
periodstring否5m / 15m / 30m / 1h / 4h / 1d(默认 1h)。
limitnumber否聚合前获取的原始交易数量(默认 100,最多 1000)。

get_arbitrage_opportunities

检测资产在 Buda 的 CLP、COP 和 PEN 市场之间的跨国价格差异,并统一换算为 USDC。

参数类型必填描述
base_currencystring是例如 BTC。
threshold_pctnumber否要报告的最低差异(默认值为 0.5)。

simulate_order

使用实时报价数据模拟买入或卖出订单——不会实际下单。返回 estimated_fill_price、fee_amount、total_cost、slippage_vs_mid_pct。所有响应均包含 simulation: true。

参数类型必填描述
market_idstring是市场 ID。
sidebuy | sell是订单方向。
amountnumber是以基础货币计价的订单数量。
pricenumber否模拟市价订单时省略。

calculate_position_size

根据资金、风险百分比、入场价和止损价计算 Kelly 风格的仓位规模。完全在客户端执行——不会调用 API。

参数类型必填描述
market_idstring是市场 ID(用于提供上下文)。
capitalnumber是用于计算仓位规模的总资金。
risk_pctnumber是承担风险的资金百分比(0.1–10)。
entry_pricenumber是入场价。
stop_loss_pricenumber是止损价。

get_market_sentiment

由三个部分构成的综合情绪分数(−100 至 +100):24 小时价格变化(40%)、成交量相对 7 日均值的变化(35%)、价差相对市场类型基准的变化(25%)。返回 score、label、component_breakdown 和 disclaimer。

参数类型必填描述
market_idstring是市场 ID。

get_technical_indicators

RSI(14)、MACD(12/26/9)、布林带(20,2σ)、SMA 20、SMA 50——根据 Buda 交易历史在服务端计算(不使用外部库)。返回信号解读;如果可用 K 线少于 20 根,则返回结构化警告。包含 disclaimer。

参数类型必填描述
market_idstring是市场 ID。
periodstring否1h / 4h / 1d(默认值为 1h)。
limitnumber否要获取的原始交易数量(500–1000)。

get_real_quotation

根据给定的订单数量和方向返回实时报价,显示确切的成交价、手续费和余额变化,且不会实际下单。

参数类型必填描述
market_idstring是市场 ID。
typeBid | Ask是订单方向。
amountnumber是以基础货币计价的订单数量。
limit_pricenumber否限价报价的限价。

get_available_banks

列出指定货币所属国家可用于法币存款和取款的银行。

参数类型必填描述
currencystring是法币代码(例如 CLP、COP、PEN)。

MCP 资源

除工具外,服务还会公开 MCP 资源,客户端可以直接读取:

URI描述
buda://markets所有 Buda.com 市场的 JSON 列表
buda://ticker/{market}特定市场的 JSON 报价信息(例如 buda://ticker/BTC-CLP)
buda://summary/{market}包含流动性评级的完整市场摘要(例如 buda://summary/BTC-CLP)

覆盖的市场

报价货币国家示例交易对
CLP智利BTC-CLP、ETH-CLP、SOL-CLP
COP哥伦比亚BTC-COP、ETH-COP、SOL-COP
PEN秘鲁BTC-PEN、ETH-PEN
USDC与 USD 锚定BTC-USDC、USDT-USDC
BTC跨市场ETH-BTC、LTC-BTC、BCH-BTC

从源代码构建

git clone https://github.com/gtorreal/buda-mcp.git
cd buda-mcp
npm install
npm run build
node dist/index.js        # stdio (for MCP clients)
node dist/http.js         # HTTP on port 3000 (for Railway / hosted)

运行测试:

npm run test:unit        # 100 unit tests, no network required
npm run test:integration # live API tests (skips if unreachable)
npm test                 # both

HTTP / Railway 部署

dist/http.js 入口会运行一个 Express 服务器,提供:

  • POST /mcp — Streamable HTTP MCP 传输
  • GET /mcp — SSE 流式传输
  • GET /health — 健康检查({ status })
  • GET /.well-known/mcp/server-card.json — 兼容 Smithery 的静态工具清单
环境变量
变量必需描述
PORT否HTTP 监听端口(默认值:3000)
MCP_RATE_LIMIT否/mcp 每个 IP 每分钟的最大请求数(默认值:120)
TRUST_PROXY_HOPS否信任的反向代理跳数,用于处理 X-Forwarded-For(默认值:1)。

安全

服务器仅公开 Buda.com API 的公共端点。不接受或存储任何凭据。所有工具参数均经过输入验证,以防止提示词注入。错误消息经过清理:内部详情(路径、上游错误)仅记录到 stderr,不会返回给调用者。

报告漏洞

请通过 GitHub Security Advisories 私下报告安全问题,不要作为公开议题提交。完整的披露政策请参阅 SECURITY.md。


项目结构

src/
  client.ts                   BudaClient (HTTP + 429 retry)
  cache.ts                    In-memory TTL cache with in-flight deduplication
  types.ts                    TypeScript types for Buda API responses
  validation.ts               validateMarketId(), validateCurrency()
  utils.ts                    flattenAmount(), aggregateTradesToCandles(), getLiquidityRating()
  version.ts                  Single source of truth for version string
  index.ts                    stdio MCP server entrypoint
  http.ts                     HTTP/SSE MCP server entrypoint
  tools/
    markets.ts                get_markets
    ticker.ts                 get_ticker
    orderbook.ts              get_orderbook
    trades.ts                 get_trades
    volume.ts                 get_market_volume
    spread.ts                 get_spread
    compare_markets.ts        compare_markets
    price_history.ts          get_price_history
    arbitrage.ts              get_arbitrage_opportunities
    market_summary.ts         get_market_summary
    simulate_order.ts         simulate_order
    calculate_position_size.ts calculate_position_size
    market_sentiment.ts       get_market_sentiment
    technical_indicators.ts   get_technical_indicators
    banks.ts                  get_available_banks
    quotation.ts              get_real_quotation
marketplace/
  cursor-mcp.json             Cursor MCP config example
  claude-listing.md           Claude registry listing
  openapi.yaml                OpenAPI spec (GPT Actions / HTTP wrapper)
  gemini-tools.json           Gemini function declarations

文档

Agent 上下文:AGENTS.md | 运维说明:docs/PROJECT_MEMORY.md | 更新日志:CHANGELOG.md | 安全:SECURITY.md


许可证

MIT — Buda.com API 文档

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。