Betfair交易所数据服务

一个通过FastMCP服务器提供Betfair交易所市场数据的服务,包括账户资金、体育赛事、市场目录和实时市场数据等功能,适用于需要访问Betfair交易所数据的LLM应用。

  • by craig1901
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 craig1901/Betfair-MCP-Server

使用说明

Betfair API MCP服务器

该项目实现了一个FastMCP服务器,该服务器将Betfair Exchange市场信息作为大型语言模型(LLM)使用的工具公开。它利用了 betfairlightweight Python库与Betfair API-NG进行交互。

特性

  • 检索Betfair账户资金。
  • 列出可用的活动类型(体育)。
  • 列出特定事件类型中的事件。
  • 检索事件的市场目录。
  • 获取特定市场的实时市场账簿数据(价格、交易量)。

设置

先决条件

  • Python 3.8+
  • uv (建议用于依赖关系管理)

1.安装 uv (如果尚未安装)

pipx install uv
# or
pip install uv

2.创建和激活虚拟环境

导航到项目目录(~/code/betfair-api-mcp/):

cd ~/code/betfair-api-mcp/
uv venv mcp_betfair_env
source mcp_betfair_env/bin/activate

3.安装依赖项

uv pip install fastmcp betfairlightweight

配置

服务器需要您的Betfair API凭据才能运行。强烈建议将这些设置为安全环境变量。

环境变量

在终端会话中设置以下环境变量 之前 运行服务器:

  • BETFAIR_USERNAME:您的Betfair用户名。
  • BETFAIR_PASSWORD:您的Betfair密码。
  • BETFAIR_APP_KEY:您的Betfair应用程序密钥。
  • BETFAIR_CERTS_PATH:(可选)包含Betfair SSL证书的目录的绝对路径(.crt 和 .key 文件,或单个 .pem 文件)。仅当您使用基于证书的登录时才需要。

示例(Linux/macOS):

export BETFAIR_USERNAME="your_betfair_username"
export BETFAIR_PASSWORD="your_betfair_password"
export BETFAIR_APP_KEY="your_betfair_app_key"
export BETFAIR_CERTS_PATH="/Users/youruser/betfair_certs/" # Example path

示例(Windows命令提示符):

set BETFAIR_USERNAME="your_betfair_username"
set BETFAIR_PASSWORD="your_betfair_password"
set BETFAIR_APP_KEY="your_betfair_app_key"
set BETFAIR_CERTS_PATH="C:\Users\youruser\betfair_certs\"

运行服务器

有两种方法可以运行MCP服务器:

1.独立(用于测试):

  • 确保您在项目目录中(~/code/betfair-api-mcp/).
  • 确保您的虚拟环境已激活(source mcp_betfair_env/bin/activate).
  • 确保您的Betfair API凭据设置为环境变量。
python main.py

服务器将启动并打印“正在启动Betfair Exchange MCP服务器…”和“已成功登录Betfair API”(如果登录失败,则显示错误消息)。

2.通过Gemini CLI:

您可以配置Gemini CLI以命令的形式运行服务器。这是将服务器与CLI一起使用的推荐方式。

将以下内容添加到您的Gemini设置中(~/.gemini/settings.json 或 .gemini/settings.json 在项目根目录中):

{
  "mcpServers": {
    "betfair": {
      "command": ["python", "main.py"],
      "workingDirectory": "/betfair-api-mcp"
    }
  }
}

重要提示:

  • 替换 betfair-api-mcp 带有项目目录的绝对路径。
  • 确保 python 命令在 command 如果虚拟环境中的python可执行文件不在系统上,则数组指向该可执行文件 PATH您可以使用python可执行文件的完整路径(例如。, betfair-api-mcp/mcp_betfair_env/bin/python).
  • CLI将自动管理服务器进程的启动和停止。
  • 您仍然需要在运行Gemini CLI的shell会话中设置Betfair环境变量。

MCP工具暴露

FastMCP服务器公开了以下工具供LLM使用:

  • get_account_funds():检索Betfair账户中当前可用的资金。
  • list_event_types(locale: Optional[str] = None):检索Betfair Exchange上可用的事件类型(即体育)列表。
  • list_events(event_type_ids: List[str], locale: Optional[str] = None):检索指定事件类型的事件列表。
  • list_market_catalogue(event_ids: List[str], market_type_codes: Optional[List[str]] = None, max_results: int = 10, locale: Optional[str] = None):检索指定事件的已发布市场信息。
  • list_market_book(market_ids: List[str], include_traded_volume: bool = False, include_best_offers: bool = True, ladder_levels: int = 3, locale: Optional[str] = None):检索有关市场的动态数据,包括价格、市场状态和选择状态。