这是一个基于 Spring Boot 实现的四子连珠(Connect Four)风格的游戏,以模型上下文协议(Model Context Protocol,MCP)服务器的形式呈现。玩家可以在经典的垂直跳棋游戏中与 GitHub Copilot 一决高下,目标是在水平、垂直或对角方向上连成四个棋子。
本项目以 模型上下文协议 (MCP) 服务器的形式实现了四子连珠(也称为 Connect Four)游戏,该服务器使用 Spring Boot 构建。游戏允许玩家在经典的垂直跳棋游戏中与 GitHub Copilot 竞争,目标是在水平、垂直或对角方向上连成四个棋子。
克隆仓库:
git clone
cd mcp-fiar
使用 Maven 构建项目:
./mvnw clean install
这将在 target/mcp-fiar-0.0.1-SNAPSHOT.jar 处创建 JAR 文件。
项目包含一个 VS Code MCP 配置文件(.vscode 文件夹中的 mcp.json),可轻松启动服务器:
如果服务器未自动启动,请确保 .vscode/mcp.json 文件中的 MCP 配置正确设置:
{
"servers": {
"fiar-game-mcp-weather": {
"command": "java",
"args": [
"-Dspring.ai.mcp.server.stdio=true",
"-Dspring.main.web-application-type=none",
"-Dlogging.pattern.console=",
"-jar",
"${workspaceFolder}/target/mcp-fiar-0.0.1-SNAPSHOT.jar"
]
}
}
}
将鼠标悬停在服务器条目上,点击出现的“Start Server”按钮,这将启动 MCP 服务器,以便 GitHub Copilot 与之交互。
服务器运行后,可与 GitHub Copilot 交互来玩游戏:
在 GitHub Copilot Chat 面板中,输入如下提示:
Copilot 将创建新游戏并作为对手。
要进行移动,只需回复要放置棋子的列号(标准棋盘为 1 - 7)。
Copilot 将进行移动,并在每轮后显示更新后的棋盘。
以下是游戏过程中可用的一些有用提示:
1 到 7 - 将棋子放入指定列项目结构如下:
src/main/java/com/microsoft/germany/csu/mcp_fiar/ - 核心应用代码
McpFiarApplication.java - Spring Boot 应用程序入口点service/api/ - API 接口和模型类
FiarService.java - 游戏服务接口Game.java - 游戏状态模型GameStatus.java - 游戏状态枚举(IN_PROGRESS、PLAYER_ONE_WON 等)service/impl/ - 服务实现
FiarServiceImpl.java - 游戏逻辑实现本项目使用:
若要扩展或修改游戏,主要查看以下类:
FiarServiceImpl.java - 包含核心游戏逻辑Game.java - 表示游戏状态本项目借助 Spring Boot 框架搭建应用程序,利用 Spring AI 模型上下文协议(MCP)实现与 GitHub Copilot 的通信,同时采用 JUnit 进行测试。在代码实现方面,FiarServiceImpl.java 类承担了核心的游戏逻辑,包括玩家落子、判断胜负等操作;Game.java 类则负责维护游戏的状态信息。通过这些技术和代码结构,确保了游戏的稳定运行和良好的交互体验。
文档未提及相关信息,故跳过该章节。