LLMに簡単なゲームをさせられるMCPサーバを構築

## 概要

MCPサーバを使うと、自然言語でLLMにタスクをお願いすることができ、非常に便利です。
構築手順については以下を確認してください。

https://note.com/kongo_jun/n/nc52833bfb588

今回はLLMにゲームの操作権を与えて、LLMに（超）簡単なゲームをしてもらうためのMCPサーバを構築します。

## 環境

OS:Windows



## サンプルMCPゲームの動作確認

事前に作成した以下のMCPサーバを導入し、Claudeがゲームを操作可能なのかを確認する。

https://github.com/lovemachine100/TilePuzzle_MCP

以下のコマンドなどで、ローカルにレポジトリをクローンする。

```powershell
git clone https://github.com/lovemachine100/TilePuzzle_MCP.git
```

以下のフォルダに「claude_desktop_config.json」があるので、configファイルの記載を修正する。（clineやCursorなどのMCPでも可能）

```
%APPDATA%\Claude
```
以下は「claude_desktop_config.json」の修正イメージです。
```
{
  "mcpServers": {
    "tilepuzzle": {
      "command": "python",
      "args": [
        "C:/XXXXXXXXXXXXXX/TilePuzzle_MCP/slidepuzzle.py"
      ]
    }
  }
}
```

ClaudeからゲームMCPサーバへの接続を確認する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/f92b309b-fc70-412b-b522-f5eac1e94527.png)

以下のようなプロンプトでゲームを開始してもらいます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/02a83a8a-5f05-4336-b3b5-da3516f26e01.png)

何手か実行してもらうと、ゲームの理解度はかなり低いですが、ゲームをプレイしてもらえていることが確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/2fa74a39-037f-43f2-99ee-617ac7ba1de5.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/c19a70ee-5f14-4981-b0db-94ae55b1aa76.png)

## ゲームMCPサーバを新たに作成

先程のゲームMCPサーバを参考に、LLMに別のゲームMCPサーバを構築してもらう。

### 追加環境構築

LLMがローカルでの作業をするために、以下のMCPサーバを導入する。

#### filesystem mcp sever

https://zenn.dev/takna/articles/mcp-server-tutorial-02-filesystem

#### win-cli-mcp-server

https://github.com/SimonB97/win-cli-mcp-server

#### 「claude_desktop_config.json」の修正

以下は「claude_desktop_config.json」の修正イメージです。
```
{
  "mcpServers": {
    "filesystem": {
      "command": "node",
      "args": [
        "C:\\XXXXXXXXXXXXXX\\index.js",
        "C:\\XXXXXXXXXXXXXX"
      ]
    },
    "windows-cmd": {
      "command": "node",
      "args": ["C:\\XXXXXXXXXXXXXX\\index.js"]
    },
    "tilepuzzle": {
      "command": "python",
      "args": [
        "C:/XXXXXXXXXXXXXX/TilePuzzle_MCP/slidepuzzle.py"
      ]
    }
  }
}
```


### ゲームMCPサーバの作成

Claudeから対象のMCPサーバが利用可能になっていることを確認する。

![スクリーンショット 2025-06-08 155917.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/8370081e-4393-4f52-98c9-635945f19ac3.png)

LLMに既存のMCPサーバを確認依頼する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/51ff1ce8-c2ee-425b-9e78-86b659abcc4b.png)

既存のMCPサーバを参考に、新たにゲームの作成を依頼する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/f2c4011d-5a27-4b82-8359-3fc0a9d5f382.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/306ab385-0afb-4852-8903-35ab6e60595c.png)


ゲームが作成されたら、「claude_desktop_config.json」に追加する必要があるので、「claude_desktop_config.json」に反映させる。

```
{
  "mcpServers": {
    "bulls-cows-game": {
      "command": "python",
      "args": ["C:/XXXXXXXXXXXXXX/bulls_cows_mcp/server.py"],
      "env": {}
    }
  }
}
```

※claudeのデスクチトップアプリの場合は、アプリを再起動してください。

### 作成したゲームMCPサーバの作成

ゲームをテストするように、テストを依頼します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/4786acfe-b259-42ff-a047-dd2b7db94e1a.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/ada63235-0e12-42eb-847b-a2cc5f2ee753.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/2b57d6e5-c9ac-4786-85a6-f0176f50ff98.png)

簡単なゲームでもありますが、LLMがプレイできるゲームMCPサーバが構築されました。

## 感想

手順はそれほど難しくないので、ゲームに限らず、MCPサーバを構築する時の参考にしていただければと思います