Skip to main content
Glama

minesweeper-mcp (stdio)

Rails 8 で動く Minesweeper Web/API を操作する stdio MCP server です。
Claude Code / Claude Desktop などの MCP Host からツールとして呼び出します。

  • 起動: npx minesweeper-mcp(公開後)

  • 通信: stdio(stdout は MCP プロトコル専用 / ログは stderr のみ)

  • 操作: Rails の REST API に対して start/open/flag/chord/end を呼ぶ

API: minesweeper-for-ai


Quick Start

1) 必要要件

  • Node.js 22+(推奨: 24+)

  • Rails 側の Web/API が起動していること

2) 環境変数

  • MINESWEEPER_BASE_URL (必須): https://example.com(末尾スラッシュなし推奨)

  • MINESWEEPER_BEARER_TOKEN(操作系に必須): Rails 側で発行した token

例:

export MINESWEEPER_BASE_URL="https://example.com"
export MINESWEEPER_BEARER_TOKEN="xxxxxx"

3) ローカル起動(開発中)

npm install
npm run build
node dist/index.js

詳細: docs/development.md


Related MCP server: Angular Bootstrap MCP Server

MCPの設定方法(Host側)

MCP Host(Claude Desktop / Claude Code など)の設定ファイルに、stdioサーバとして登録します。
ローカルで動かす場合は dist/index.js を指定し、環境変数を渡してください。

ローカル開発(distを直接起動)

{
  "mcpServers": {
    "minesweeper": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/minesweeper-mcp/dist/index.js"],
      "env": {
        "MINESWEEPER_BASE_URL": "http://localhost:3000",
        "MINESWEEPER_BEARER_TOKEN": "YOUR_TOKEN"
      }
    }
  }
}

公開後(npxで起動)

{
  "mcpServers": {
    "minesweeper": {
      "command": "npx",
      "args": ["-y", "github:geeknees/minesweeper-mcp"],
      "env": {
        "MINESWEEPER_BASE_URL": "https://example.com",
        "MINESWEEPER_BEARER_TOKEN": "YOUR_TOKEN"
      }
    }
  }
}

設定ファイルの場所や再読み込み方法は、使用しているMCP Hostのドキュメントに従ってください。


Docs

  • MCP tool reference: docs/tools.md

  • Development guide: docs/development.md

  • Rails API overview: docs/api.md

  • Background article: docs/minesweeper-mcp-article.md


License

MIT

Available Tools

7 tools
game_chordC

Chord a cell in a game.

Inputs: public_id (required), x (required), y (required).

game_endC

End a game.

Inputs: public_id (required).

game_flagC

Toggle a flag on a cell.

Inputs: public_id (required), x (required), y (required).

game_openC

Open a cell in a game.

Inputs: public_id (required), x (required), y (required).

game_stateC

Fetch the public state for a game.

Inputs: public_id (required).

user_gamesC

List public games for a user slug.

Inputs: user_slug.

user_startC

Start a new game for a user slug.

Inputs: user_slug.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no ambiguity: chord, end, flag, open, state, list games, and start game are all unique actions in the Minesweeper domain. The descriptions clearly differentiate between game manipulation actions (chord, flag, open), game lifecycle actions (end, start), and query actions (state, list).

    Naming Consistency5/5

    All tools follow a perfectly consistent verb_noun pattern with 'game_' or 'user_' prefixes indicating the resource type. The naming is systematic and predictable: game_chord, game_end, game_flag, game_open, game_state, user_games, user_start. This consistency makes the tool set easy to understand and navigate.

    Tool Count5/5

    With 7 tools, this is well-scoped for a Minesweeper game server. Each tool earns its place by covering essential operations: starting/ending games, cell interactions (open, flag, chord), state retrieval, and game listing. The count is neither too thin nor bloated, perfectly matching the domain's requirements.

    Completeness5/5

    The tool surface provides complete coverage for Minesweeper gameplay. It includes all core operations: starting a game (user_start), ending it (game_end), cell interactions (open, flag, chord), state monitoring (game_state), and discovery (user_games). There are no obvious gaps—agents can fully manage the game lifecycle and player interactions without dead ends.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      F
      maintenance
      A TypeScript-based MCP server that enables testing of REST APIs through Cline. This tool allows you to test and interact with any REST API endpoints directly from your development environment.
      1
      127 npm
      103
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A TypeScript-based MCP server that provides backend API handling and facilitates communication between microservices. Features an organized structure with controllers, routes, and models for easy extensibility and maintenance.
      511 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A TypeScript MCP server implementation using Express.js that provides basic tools like echo, time retrieval, and calculator functionality. Features session management, RESTful API endpoints, and Server-Sent Events for streamable communication.
      MIT
    • F
      license
      A
      quality
      Not graded
      maintenance
      Enables MCP client agents to play the classic Minesweeper game by connecting to a separate Minesweeper game server. Provides tools for starting games, revealing cells, and placing flags through natural language interactions.
      4
      -