Mcp Fiar

Mcp Fiar

🚀 四子连珠 - 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

安装步骤

  1. 克隆仓库:

    git clone 
    cd mcp-fiar
    
  2. 使用 Maven 构建项目:

    ./mvnw clean install
    

    这将在 target/mcp-fiar-0.0.1-SNAPSHOT.jar 处创建 JAR 文件。

💻 使用示例

启动 MCP 服务器

项目包含一个 VS Code MCP 配置文件(.vscode 文件夹中的 mcp.json),可轻松启动服务器:

  1. 在 Visual Studio Code 中打开项目。
  2. 确保已安装并启用 GitHub Copilot Chat 扩展。
  3. 打开命令面板(Cmd + Shift + P 或 Ctrl + Shift + P)。
  4. 输入并选择:“Copilot: Open Chat”。
  5. 与 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 交互来玩游戏:

  1. 在 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?”
  2. Copilot 将创建新游戏并作为对手。

  3. 要进行移动,只需回复要放置棋子的列号(标准棋盘为 1 - 7)。

  4. Copilot 将进行移动,并在每轮后显示更新后的棋盘。

游戏指令

以下是游戏过程中可用的一些有用提示:

  • 17 - 将棋子放入指定列
  • “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 - 游戏逻辑实现

游戏规则

  1. 玩家轮流将棋子放入其中一列。
  2. 棋子落入所选列的最低可用位置。
  3. 第一个在水平、垂直或对角方向上连成四个棋子的玩家获胜。
  4. 如果所有位置都被填满且没有获胜者,则游戏平局。

开发说明

本项目使用:

若要扩展或修改游戏,主要查看以下类:

  • FiarServiceImpl.java - 包含核心游戏逻辑
  • Game.java - 表示游戏状态

🔧 技术细节

本项目借助 Spring Boot 框架搭建应用程序,利用 Spring AI 模型上下文协议(MCP)实现与 GitHub Copilot 的通信,同时采用 JUnit 进行测试。在代码实现方面,FiarServiceImpl.java 类承担了核心的游戏逻辑,包括玩家落子、判断胜负等操作;Game.java 类则负责维护游戏的状态信息。通过这些技术和代码结构,确保了游戏的稳定运行和良好的交互体验。

📄 许可证

文档未提及相关信息,故跳过该章节。

📖 参考资源

  • 0 关注
  • 0 收藏,37 浏览
  • system 提出于 2025-10-06 22:00

相似服务问题

相关AI产品