README
🚀 四子连珠 - MCP 游戏
这是一个基于 Spring Boot 实现的四子连珠(Connect Four)风格的游戏,以模型上下文协议(Model Context Protocol,MCP)服务器的形式呈现。玩家可以在经典的垂直跳棋游戏中与 GitHub Copilot 一决高下,目标是在水平、垂直或对角方向上连成四个棋子。
🚀 快速开始
本项目以 模型上下文协议 (MCP) 服务器的形式实现了四子连珠(也称为 Connect Four)游戏,该服务器使用 Spring Boot 构建。游戏允许玩家在经典的垂直跳棋游戏中与 GitHub Copilot 竞争,目标是在水平、垂直或对角方向上连成四个棋子。
✨ 主要特性
- 实现经典的四子连珠游戏玩法。
- 支持与 GitHub Copilot 对战。
- 提供多种游戏指令,方便玩家操作。
📦 安装指南
前提条件
- Java JDK 17 或更高版本
- Maven 3.6 或更高版本
- 安装了 GitHub Copilot 扩展的 Visual Studio Code
安装步骤
-
克隆仓库:
git clone <repository-url> cd mcp-fiar -
使用 Maven 构建项目:
./mvnw clean install这将在
target/mcp-fiar-0.0.1-SNAPSHOT.jar处创建 JAR 文件。
💻 使用示例
启动 MCP 服务器
项目包含一个 VS Code MCP 配置文件(.vscode 文件夹中的 mcp.json),可轻松启动服务器:
- 在 Visual Studio Code 中打开项目。
- 确保已安装并启用 GitHub Copilot Chat 扩展。
- 打开命令面板(Cmd + Shift + P 或 Ctrl + Shift + P)。
- 输入并选择:“Copilot: Open Chat”。
- 与 Copilot Chat 交互时,MCP 服务器应自动启动。
如果服务器未自动启动,请确保 .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 面板中,输入如下提示:
- “Let's play Four in a Row”
- “Start a Four in a Row game with a 6×6 grid”
- “Can we play Connect Four with a 5×5 board?”
-
Copilot 将创建新游戏并作为对手。
-
要进行移动,只需回复要放置棋子的列号(标准棋盘为 1 - 7)。
-
Copilot 将进行移动,并在每轮后显示更新后的棋盘。
游戏指令
以下是游戏过程中可用的一些有用提示:
1到7- 将棋子放入指定列- “Show me the board” - 显示当前棋盘状态
- “Reset all games” - 清除所有已存储的游戏
- “Get all games” - 列出所有活跃和已完成的游戏
📚 详细文档
项目结构
项目结构如下:
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- 游戏逻辑实现
游戏规则
- 玩家轮流将棋子放入其中一列。
- 棋子落入所选列的最低可用位置。
- 第一个在水平、垂直或对角方向上连成四个棋子的玩家获胜。
- 如果所有位置都被填满且没有获胜者,则游戏平局。
开发说明
本项目使用:
- Spring Boot 作为应用程序框架
- Spring AI 模型上下文协议 (MCP) 与 GitHub Copilot 通信
- JUnit 进行测试
若要扩展或修改游戏,主要查看以下类:
FiarServiceImpl.java- 包含核心游戏逻辑Game.java- 表示游戏状态
🔧 技术细节
本项目借助 Spring Boot 框架搭建应用程序,利用 Spring AI 模型上下文协议(MCP)实现与 GitHub Copilot 的通信,同时采用 JUnit 进行测试。在代码实现方面,FiarServiceImpl.java 类承担了核心的游戏逻辑,包括玩家落子、判断胜负等操作;Game.java 类则负责维护游戏的状态信息。通过这些技术和代码结构,确保了游戏的稳定运行和良好的交互体验。
📄 许可证
文档未提及相关信息,故跳过该章节。
📖 参考资源
- Spring AI MCP 文档 - Spring AI 模型上下文协议的官方文档
- Spring Boot 文档 - Spring Boot 框架参考
- GitHub Copilot 文档 - 关于 GitHub Copilot 功能和能力的信息
微信扫一扫