返回市场
麦普股票鱼

麦普股票鱼

作者:shelajev5 星标更新:2025-09-03

项目介绍

Stockfish 的 MCP 服务器

该项目提供了一个用于 Stockfish(一款强大的开源国际象棋引擎)的模型控制协议(MCP)服务器。它允许您通过 HTTP 请求与 Stockfish 进行交互。

预备条件

  • Java 21 或更高版本(构建应用程序所需)
  • Docker(运行容器化应用程序所需)

构建应用程序

项目包含一个多阶段的 Dockerfile,该文件在容器构建过程中会编译 Stockfish。

要构建应用程序并创建 Docker 镜像,请执行以下命令:

./mvnw verify -Dquarkus.container-image.build=true

此命令将执行以下操作:

  1. 编译 Java 应用程序
  2. 使用适当的架构编译 Stockfish 并构建 Docker 镜像
  3. 将镜像标记为 shelajev/mcp-stockfish:0.0.1

运行容器

一旦镜像构建完成,您可以使用以下命令来运行它:

docker run -p8080:8080 shelajev/mcp-stockfish:0.0.1

或者,您可以使用预构建版本:

docker run -p8080:8080 olegselajev241/mcp-chess:latest

这将启动 MCP 服务器,并将其暴露在 8080 端口上。

连接到服务器

您可以通过 HTTP 在以下地址连接到 MCP 服务器:

http://localhost:8080/mcp

可用工具

MCP 服务器提供了多种工具,用于国际象棋分析以及与国际象棋平台的互动:

Stockfish 工具

  1. findBestMove

    • 描述:使用 Stockfish 引擎分析国际象棋位置以找到最佳走法。
    • 参数:
      • fen:要分析的国际象棋位置的 FEN 表示。
  2. analyzeGame

    • 描述:分析一系列国际象棋走法,并返回每个位置的评估结果。
    • 参数:
      • moves:以标准代数记谱法(SAN)表示的一系列国际象棋走法列表。

Lichess 工具

  1. lastGames

    • 描述:根据给定用户名从 lichess.org 获取最近的游戏。
    • 参数:
      • username:要获取游戏的用户名。
      • n:要获取的游戏数量。
  2. randomGame

    • 描述:根据给定用户名从 lichess.org 获取随机游戏。
    • 参数:
      • username:要获取游戏的用户名。
      • days:回溯多少天来查找游戏。
  3. boardFromFen

    • 描述:根据给定的 FEN 表示返回一个国际象棋棋盘的文本可视化。
    • 参数:
      • fen:要显示的国际象棋位置的 FEN 表示。

Maia 工具

  1. whatMoveWouldHumanPlay
    • 描述:使用 Maia 国际象棋引擎预测在给定位置人类玩家会做出什么走法。
    • 参数:
      • fen:要分析的国际象棋位置的 FEN 表示。
      • rating:要使用的 Maia 引擎的等级(从 1100 到 1900)。