# 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](https://github.com/geeknees/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
例:
```bash
export MINESWEEPER_BASE_URL="https://example.com"
export MINESWEEPER_BEARER_TOKEN="xxxxxx"
```
### 3) ローカル起動(開発中)
```bash
npm install
npm run build
node dist/index.js
```
詳細: `docs/development.md`
---
## MCPの設定方法(Host側)
MCP Host(Claude Desktop / Claude Code など)の設定ファイルに、stdioサーバとして登録します。
ローカルで動かす場合は `dist/index.js` を指定し、環境変数を渡してください。
### ローカル開発(distを直接起動)
```json
{
"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で起動)
```json
{
"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