使用说明
@伊拉克/自由贸易mcp
用于Freqtrade的TypeScript MCP服务器-通过其REST API将AI代理(Claude、Cursor、Cline)连接到您的加密交易机器人。
与官方合作建造 MCP TypeScript SDK,它暴露了 15工具 涵盖账户统计、交易管理、市场数据、配对列表控制、交易执行和机器人生命周期——所有这些都可以从任何兼容MCP的客户端访问。
特性
| 类别 | 工具 |
|---|---|
| 账户 | get_profit_stats, get_balance, get_performance |
| 交易 | get_open_trades, get_trade, get_trade_history |
| 市场数据 | get_market_data |
| 配对列表 | get_whitelist, get_blacklist, add_to_blacklist, remove_from_blacklist |
| 执行 | execute_trade, force_exit_trade |
| 生命周期 | start_bot, stop_bot, reload_config, get_bot_info, get_locks, delete_lock |
先决条件
- Freqtrade 在启用REST API的情况下运行(请参阅 Freqtrade REST API文档)
- Node.js 18+ (
node --version)
启用Freqtrade REST API
将以下内容添加到您的Freqtrade config.json:
"api_server": {
"enabled": true,
"listen_ip_address": "127.0.0.1",
"listen_port": 8080,
"verbosity": "error",
"enable_openapi": false,
"jwt_secret_key": "change-this-to-a-random-32-char-string",
"username": "Freqtrader",
"password": "YourStrongPassword"
}
安装
选项1——直接使用npx运行(无需安装)
FREQTRADE_PASSWORD=yourpassword npx @furkankoykiran/freqtrade-mcp
选项2——从npm全局安装
npm install -g @furkankoykiran/freqtrade-mcp
FREQTRADE_PASSWORD=yourpassword freqtrade-mcp
选项3——从GitHub软件包安装
npm install -g @furkankoykiran/freqtrade-mcp --registry=https://npm.pkg.github.com
FREQTRADE_PASSWORD=yourpassword freqtrade-mcp
选项4——从源代码构建
git clone https://github.com/furkankoykiran/freqtrade-mcp.git
cd freqtrade-mcp
npm install
npm run build
node build/index.js
配置
服务器完全通过环境变量配置,不需要配置文件。
| 变量 | 默认值 | 描述 |
|---|---|---|
FREQTRADE_API_URL |
http://127.0.0.1:8080 |
Freqtrade API服务器的基本URL |
FREQTRADE_USERNAME |
Freqtrader |
您的Freqtrade配置中的API用户名 |
FREQTRADE_PASSWORD |
(空) | API密码- 必需的 |
复制 .env.example 到 .env 并填写您对当地发展的价值观。
MCP客户端安装
克劳德桌面版
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"freqtrade": {
"command": "npx",
"args": ["-y", "@furkankoykiran/freqtrade-mcp"],
"env": {
"FREQTRADE_API_URL": "http://127.0.0.1:8080",
"FREQTRADE_USERNAME": "Freqtrader",
"FREQTRADE_PASSWORD": "YourStrongPassword"
}
}
}
}
VS代码(点击/继续)
添加到MCP服务器设置中:
{
"freqtrade": {
"command": "npx",
"args": ["-y", "@furkankoykiran/freqtrade-mcp"],
"env": {
"FREQTRADE_API_URL": "http://127.0.0.1:8080",
"FREQTRADE_USERNAME": "Freqtrader",
"FREQTRADE_PASSWORD": "YourStrongPassword"
}
}
}
从源代码构建
{
"freqtrade": {
"command": "node",
"args": ["/absolute/path/to/freqtrade-mcp/build/index.js"],
"env": {
"FREQTRADE_API_URL": "http://127.0.0.1:8080",
"FREQTRADE_USERNAME": "Freqtrader",
"FREQTRADE_PASSWORD": "YourStrongPassword"
}
}
}
可用工具
账户
get_profit_stats
检索当前损益统计数据:总利润、盈亏比、最佳配对、提款、交易量等。
get_balance
检索所有货币的当前账户余额,包括自由、已使用和总金额。
get_performance
检索每对交易绩效指标,包括利润和交易计数。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pair |
string | 否 | 筛选到特定对(例如。 BTC/USDT) |
交易
get_open_trades
检索所有当前活跃的交易,包括入场价格、当前利润、赌注金额和持续时间。
get_trade
通过ID检索特定交易的详细信息。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
trade_id |
number | 是 | 数字交易ID |
get_trade_history
使用可选分页检索已关闭的交易历史记录。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit |
number | 否 | 要返回的最大交易数(最多500) |
offset |
number | No | 分页偏移 |
市场数据
get_market_data
检索交易对的实时OHLCV烛台数据。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pair |
string | Yes | 交易对(例如。 BTC/USDT) |
timeframe |
enum | 是 | 1m, 5m, 15m, 30m, 1h, 4h, 1d等等。 |
limit |
number | No | 蜡烛数量(最多500支) |
配对列表
get_whitelist / get_blacklist
检索当前白名单/黑名单。
add_to_blacklist
将交易对添加到黑名单中。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pair |
string | 是 | 配对到黑名单(例如。 ETH/USDT) |
remove_from_blacklist
从黑名单中删除交易对。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pair |
string | 是 | 配对删除 |
交易执行
execute_trade
绕过战略信号,强行进入交易。机器人在进入后管理位置。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pair |
string | Yes | 交易对(例如。 BTC/USDT) |
side |
long/short |
是 | 交易方向 |
stake_amount |
number | No | 权益货币金额 |
price |
number | No | 限价(市价订单省略) |
order_type |
limit/market |
否 | 订单类型 |
自然语言示例:
- “购买100美元比特币” →
pair=BTC/USDT,side=long,stake_amount=100 - “2000年做空ETH/USDT” →
pair=ETH/USDT,side=short,price=2000
force_exit_trade
强行退出公开交易。支持完全退出和部分退出。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
trade_id |
number | Yes | 要退出的交易ID |
order_type |
limit/market |
否 | 退出订单类型(默认:市场) |
amount |
number | No | 部分退出金额 |
机器人生命周期
start_bot / stop_bot
启动或停止交易机器人。
reload_config
从磁盘重新加载机器人配置,而无需重新启动进程。
get_bot_info
检索机器人版本和上一个策略运行周期的时间戳。
get_locks
检索所有活动交易锁。
delete_lock
按ID删除特定交易锁。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
lock_id |
number | Yes | 锁定要删除的ID |
发展
# Clone and install
git clone https://github.com/furkankoykiran/freqtrade-mcp.git
cd freqtrade-mcp
npm install
# Run in development mode (auto-reloads on change)
cp .env.example .env
# Edit .env with your Freqtrade credentials
npm run dev
# Type-check
npm run typecheck
# Lint
npm run lint
# Build for production
npm run build
MCP检验员测试
npx @modelcontextprotocol/inspector node build/index.js
在Inspector UI中设置环境变量,并验证是否列出了所有15个工具。
贡献
欢迎捐款。请阅读 贡献指南 并在提交重大更改的pull请求之前打开一个问题。
许可证
麻省理工学院——见 许可证.